From dae823600d58346b5e7d38e95d9fa20157be1830 Mon Sep 17 00:00:00 2001 From: fern-api <115122769+fern-api[bot]@users.noreply.github.com> Date: Tue, 22 Apr 2025 22:07:09 +0000 Subject: [PATCH 1/2] SDK regeneration --- .editorconfig | 35 + reference.md | 11478 ---------------- .../Core/Json/DateOnlyJsonTests.cs | 76 + .../Core/Json/DateTimeJsonTests.cs | 110 + .../Core/{ => Json}/EnumSerializerTests.cs | 3 +- .../Core/Json/JsonAccessAttributeTests.cs | 160 + .../Core/{ => Json}/OneOfSerializerTests.cs | 42 +- .../Core/QueryStringConverterTests.cs | 122 + src/Merge.Client.Test/Core/RawClientTests.cs | 105 - .../RawClientTests/AdditionalHeadersTests.cs | 137 + .../AdditionalParametersTests.cs | 300 + .../Core/RawClientTests/MultipartFormTests.cs | 1120 ++ .../Core/RawClientTests/RetriesTests.cs | 214 + .../Merge.Client.Test.csproj | 13 +- .../Utils/JsonElementComparer.cs | 236 + .../Utils/NUnitExtensions.cs | 28 + src/Merge.Client.Test/Utils/OneOfComparer.cs | 43 + .../Utils/ReadOnlyMemoryComparer.cs | 87 + src/Merge.Client.sln | 20 +- .../AccountDetails/AccountDetailsClient.cs | 29 +- .../AccountToken/AccountTokenClient.cs | 34 +- .../Accounting/AccountingClient.cs | 6 + .../AccountingPeriodsClient.cs | 67 +- .../Requests/AccountingPeriodsListRequest.cs | 7 + .../AccountingPeriodsRetrieveRequest.cs | 9 + .../Accounting/Accounts/AccountsClient.cs | 132 +- .../Requests/AccountEndpointRequest.cs | 5 + .../Accounts/Requests/AccountsListRequest.cs | 23 + .../Requests/AccountsRetrieveRequest.cs | 12 + .../Accounting/Addresses/AddressesClient.cs | 38 +- .../Requests/AddressesRetrieveRequest.cs | 11 + .../AsyncPassthroughClient.cs | 63 +- .../Accounting/AsyncTasks/AsyncTasksClient.cs | 34 +- .../Attachments/AttachmentsClient.cs | 128 +- .../AccountingAttachmentEndpointRequest.cs | 5 + .../Requests/AttachmentsListRequest.cs | 13 + .../Requests/AttachmentsRetrieveRequest.cs | 9 + .../Accounting/AuditTrail/AuditTrailClient.cs | 29 +- .../Requests/AuditTrailListRequest.cs | 10 +- .../AvailableActionsClient.cs | 29 +- .../BalanceSheets/BalanceSheetsClient.cs | 67 +- .../Requests/BalanceSheetsListRequest.cs | 14 + .../Requests/BalanceSheetsRetrieveRequest.cs | 10 + .../BankFeedAccountsClient.cs | 128 +- .../BankFeedAccountEndpointRequest.cs | 5 + .../Requests/BankFeedAccountsListRequest.cs | 7 + .../BankFeedAccountsRetrieveRequest.cs | 9 + .../BankFeedTransactionsClient.cs | 128 +- .../BankFeedTransactionEndpointRequest.cs | 5 + .../BankFeedTransactionsListRequest.cs | 14 + .../BankFeedTransactionsRetrieveRequest.cs | 10 + .../CashFlowStatementsClient.cs | 67 +- .../Requests/CashFlowStatementsListRequest.cs | 14 + .../CashFlowStatementsRetrieveRequest.cs | 10 + .../CompanyInfo/CompanyInfoClient.cs | 67 +- .../Requests/CompanyInfoListRequest.cs | 13 + .../Requests/CompanyInfoRetrieveRequest.cs | 10 + .../Accounting/Contacts/ContactsClient.cs | 157 +- .../Requests/ContactEndpointRequest.cs | 5 + .../Contacts/Requests/ContactsListRequest.cs | 21 + .../ContactsRemoteFieldClassesListRequest.cs | 8 + .../Requests/ContactsRetrieveRequest.cs | 13 + .../CreditNotes/CreditNotesClient.cs | 128 +- .../Requests/CreditNoteEndpointRequest.cs | 5 + .../Requests/CreditNotesListRequest.cs | 18 + .../Requests/CreditNotesRetrieveRequest.cs | 12 + .../DeleteAccount/DeleteAccountClient.cs | 27 +- .../Accounting/Employees/EmployeesClient.cs | 67 +- .../Requests/EmployeesListRequest.cs | 8 + .../Requests/EmployeesRetrieveRequest.cs | 10 + .../Accounting/Expenses/ExpensesClient.cs | 186 +- .../Requests/ExpenseEndpointRequest.cs | 5 + ...ensesLinesRemoteFieldClassesListRequest.cs | 8 + .../Expenses/Requests/ExpensesListRequest.cs | 17 + .../ExpensesRemoteFieldClassesListRequest.cs | 8 + .../Requests/ExpensesRetrieveRequest.cs | 11 + .../FieldMapping/FieldMappingClient.cs | 195 +- .../Requests/CreateFieldMappingRequest.cs | 9 + .../Requests/FieldMappingsRetrieveRequest.cs | 3 + .../PatchedEditFieldMappingRequest.cs | 1 + .../Requests/RemoteFieldsRetrieveRequest.cs | 4 + .../ForceResync/ForceResyncClient.cs | 31 +- .../GeneralLedgerTransactionsClient.cs | 67 +- .../GeneralLedgerTransactionsListRequest.cs | 16 + ...eneralLedgerTransactionsRetrieveRequest.cs | 10 + .../GenerateKey/GenerateKeyClient.cs | 29 +- .../Requests/GenerateRemoteKeyRequest.cs | 1 + .../IncomeStatementsClient.cs | 67 +- .../Requests/IncomeStatementsListRequest.cs | 14 + .../IncomeStatementsRetrieveRequest.cs | 10 + .../Accounting/Invoices/InvoicesClient.cs | 259 +- .../Requests/InvoiceEndpointRequest.cs | 5 + ...sLineItemsRemoteFieldClassesListRequest.cs | 8 + .../Invoices/Requests/InvoicesListRequest.cs | 41 +- .../InvoicesRemoteFieldClassesListRequest.cs | 8 + .../Requests/InvoicesRetrieveRequest.cs | 13 + .../Requests/PatchedInvoiceEndpointRequest.cs | 5 + .../Types/InvoicesListRequestExpand.cs | 9530 ++++++++++++- .../Types/InvoicesRetrieveRequestExpand.cs | 9530 ++++++++++++- .../Accounting/Issues/IssuesClient.cs | 63 +- .../Issues/Requests/IssuesListRequest.cs | 20 +- .../Accounting/Items/ItemsClient.cs | 67 +- .../Items/Requests/ItemsListRequest.cs | 16 + .../Items/Requests/ItemsRetrieveRequest.cs | 12 + .../JournalEntries/JournalEntriesClient.cs | 186 +- ...triesLinesRemoteFieldClassesListRequest.cs | 8 + .../Requests/JournalEntriesListRequest.cs | 17 + ...nalEntriesRemoteFieldClassesListRequest.cs | 8 + .../Requests/JournalEntriesRetrieveRequest.cs | 11 + .../Requests/JournalEntryEndpointRequest.cs | 5 + .../Accounting/LinkToken/LinkTokenClient.cs | 29 +- .../Requests/EndUserDetailsRequest.cs | 1 + .../LinkedAccounts/LinkedAccountsClient.cs | 29 +- .../Requests/LinkedAccountsListRequest.cs | 29 +- .../Passthrough/PassthroughClient.cs | 29 +- .../PaymentMethods/PaymentMethodsClient.cs | 146 + .../Requests/PaymentMethodsListRequest.cs | 43 + .../Requests/PaymentMethodsRetrieveRequest.cs | 25 + .../PaymentTerms/PaymentTermsClient.cs | 154 + .../Requests/PaymentTermsListRequest.cs | 49 + .../Requests/PaymentTermsRetrieveRequest.cs | 31 + .../Accounting/Payments/PaymentsClient.cs | 257 +- .../Requests/PatchedPaymentEndpointRequest.cs | 5 + .../Requests/PaymentEndpointRequest.cs | 5 + ...sLineItemsRemoteFieldClassesListRequest.cs | 8 + .../Payments/Requests/PaymentsListRequest.cs | 19 + .../PaymentsRemoteFieldClassesListRequest.cs | 8 + .../Requests/PaymentsRetrieveRequest.cs | 11 + .../Types/PaymentsListRequestExpand.cs | 212 + .../Types/PaymentsRetrieveRequestExpand.cs | 212 + .../PhoneNumbers/PhoneNumbersClient.cs | 38 +- .../Requests/PhoneNumbersRetrieveRequest.cs | 9 + .../PurchaseOrders/PurchaseOrdersClient.cs | 186 +- .../Requests/PurchaseOrderEndpointRequest.cs | 5 + ...sLineItemsRemoteFieldClassesListRequest.cs | 8 + .../Requests/PurchaseOrdersListRequest.cs | 19 + ...haseOrdersRemoteFieldClassesListRequest.cs | 8 + .../Requests/PurchaseOrdersRetrieveRequest.cs | 13 + .../Types/PurchaseOrdersListRequestExpand.cs | 212 + .../PurchaseOrdersRetrieveRequestExpand.cs | 212 + .../RegenerateKey/RegenerateKeyClient.cs | 29 +- .../RemoteKeyForRegenerationRequest.cs | 1 + ...ountCommonModelScopeDeserializerRequest.cs | 1 + .../Accounting/Scopes/ScopesClient.cs | 87 +- .../Requests/SyncStatusListRequest.cs | 4 + .../Accounting/SyncStatus/SyncStatusClient.cs | 31 +- .../TaxRates/Requests/TaxRatesListRequest.cs | 20 + .../Requests/TaxRatesRetrieveRequest.cs | 10 + .../Accounting/TaxRates/TaxRatesClient.cs | 71 +- .../Requests/TrackingCategoriesListRequest.cs | 22 + .../TrackingCategoriesRetrieveRequest.cs | 12 + .../TrackingCategoriesClient.cs | 71 +- .../Requests/TransactionsListRequest.cs | 16 + .../Requests/TransactionsRetrieveRequest.cs | 10 + .../Transactions/TransactionsClient.cs | 67 +- src/Merge.Client/Accounting/Types/Account.cs | 687 +- .../Accounting/Types/AccountDetails.cs | 22 + .../Types/AccountDetailsAndActions.cs | 20 + .../AccountDetailsAndActionsIntegration.cs | 12 + .../Accounting/Types/AccountIntegration.cs | 15 + .../Accounting/Types/AccountRequest.cs | 683 +- .../Accounting/Types/AccountResponse.cs | 12 + .../Accounting/Types/AccountToken.cs | 15 + .../Accounting/Types/AccountingAttachment.cs | 26 + .../Types/AccountingAttachmentRequest.cs | 22 + .../Types/AccountingAttachmentResponse.cs | 12 + .../Accounting/Types/AccountingPeriod.cs | 25 + .../Accounting/Types/AccountingPhoneNumber.cs | 22 + .../Types/AccountingPhoneNumberRequest.cs | 22 + src/Merge.Client/Accounting/Types/Address.cs | 525 +- .../Accounting/Types/AddressRequest.cs | 524 +- .../Accounting/Types/AdvancedMetadata.cs | 12 + .../Types/AsyncPassthroughReciept.cs | 12 + .../Accounting/Types/AsyncPostTask.cs | 12 + .../Accounting/Types/AsyncPostTaskResult.cs | 12 + .../Accounting/Types/AuditLogEvent.cs | 109 +- .../Accounting/Types/AvailableActions.cs | 20 + .../Accounting/Types/BalanceSheet.cs | 641 +- .../Accounting/Types/BankFeedAccount.cs | 644 +- .../Types/BankFeedAccountRequest.cs | 642 +- .../Types/BankFeedAccountResponse.cs | 12 + .../Accounting/Types/BankFeedTransaction.cs | 29 +- .../BankFeedTransactionRequestRequest.cs | 26 +- .../Types/BankFeedTransactionResponse.cs | 12 + .../Accounting/Types/CashFlowStatement.cs | 641 +- .../Accounting/Types/CommonModelScopeApi.cs | 12 + .../Types/CommonModelScopesBodyRequest.cs | 12 + .../Accounting/Types/CompanyInfo.cs | 638 +- src/Merge.Client/Accounting/Types/Contact.cs | 33 +- .../Accounting/Types/ContactRequest.cs | 29 +- .../Accounting/Types/ContactResponse.cs | 12 + .../Accounting/Types/CreditNote.cs | 644 +- .../Types/CreditNoteApplyLineForCreditNote.cs | 23 + ...CreditNoteApplyLineForCreditNoteRequest.cs | 22 + .../Types/CreditNoteApplyLineForInvoice.cs | 23 + .../Accounting/Types/CreditNoteLineItem.cs | 24 + .../Types/CreditNoteLineItemRequest.cs | 22 + .../Accounting/Types/CreditNoteRequest.cs | 640 +- .../Accounting/Types/CreditNoteResponse.cs | 12 + .../Types/DataPassthroughRequest.cs | 20 + .../Accounting/Types/DebugModeLog.cs | 12 + .../Accounting/Types/DebugModelLogSummary.cs | 12 + src/Merge.Client/Accounting/Types/Employee.cs | 34 +- .../Types/ErrorValidationProblem.cs | 12 + .../Accounting/Types/EventTypeEnum.cs | 3 + src/Merge.Client/Accounting/Types/Expense.cs | 641 +- .../Accounting/Types/ExpenseLine.cs | 636 +- .../Accounting/Types/ExpenseLineRequest.cs | 635 +- .../Accounting/Types/ExpenseRequest.cs | 637 +- .../Accounting/Types/ExpenseResponse.cs | 12 + .../Types/ExternalTargetFieldApi.cs | 15 + .../Types/ExternalTargetFieldApiResponse.cs | 18 + .../Types/FieldMappingApiInstance.cs | 16 + .../FieldMappingApiInstanceRemoteField.cs | 12 + ...piInstanceRemoteFieldRemoteEndpointInfo.cs | 12 + .../Types/FieldMappingApiInstanceResponse.cs | 18 + .../FieldMappingApiInstanceTargetField.cs | 12 + .../Types/FieldMappingInstanceResponse.cs | 12 + .../Types/FieldPermissionDeserializer.cs | 12 + .../FieldPermissionDeserializerRequest.cs | 12 + .../Types/GeneralLedgerTransaction.cs | 45 +- .../Types/GeneralLedgerTransactionLine.cs | 1250 +- .../Accounting/Types/IncomeStatement.cs | 642 +- .../IndividualCommonModelScopeDeserializer.cs | 12 + ...dualCommonModelScopeDeserializerRequest.cs | 12 + src/Merge.Client/Accounting/Types/Invoice.cs | 667 +- .../Accounting/Types/InvoiceLineItem.cs | 638 +- .../Types/InvoiceLineItemRequest.cs | 635 +- .../Accounting/Types/InvoiceRequest.cs | 660 +- .../Accounting/Types/InvoiceResponse.cs | 12 + src/Merge.Client/Accounting/Types/Issue.cs | 20 +- src/Merge.Client/Accounting/Types/Item.cs | 30 +- .../Accounting/Types/ItemSchema.cs | 12 + .../Accounting/Types/JournalEntry.cs | 648 +- .../Accounting/Types/JournalEntryRequest.cs | 639 +- .../Accounting/Types/JournalEntryResponse.cs | 12 + .../Accounting/Types/JournalLine.cs | 637 +- .../Accounting/Types/JournalLineRequest.cs | 635 +- ...tusStatusEnum.cs => LastSyncResultEnum.cs} | 4 +- .../Accounting/Types/LinkToken.cs | 12 + .../Accounting/Types/LinkedAccountStatus.cs | 12 + .../Accounting/Types/MetaResponse.cs | 12 + .../Accounting/Types/MethodTypeEnum.cs | 24 + .../Accounting/Types/ModelOperation.cs | 20 + .../Types/ModelPermissionDeserializer.cs | 12 + .../ModelPermissionDeserializerRequest.cs | 12 + .../Types/MultipartFormFieldRequest.cs | 26 +- .../PaginatedAccountDetailsAndActionsList.cs | 12 + .../Accounting/Types/PaginatedAccountList.cs | 12 + .../PaginatedAccountingAttachmentList.cs | 12 + .../Types/PaginatedAccountingPeriodList.cs | 12 + .../Types/PaginatedAuditLogEventList.cs | 12 + .../Types/PaginatedBalanceSheetList.cs | 12 + .../Types/PaginatedBankFeedAccountList.cs | 12 + .../Types/PaginatedBankFeedTransactionList.cs | 12 + .../Types/PaginatedCashFlowStatementList.cs | 12 + .../Types/PaginatedCompanyInfoList.cs | 12 + .../Accounting/Types/PaginatedContactList.cs | 12 + .../Types/PaginatedCreditNoteList.cs | 12 + .../Accounting/Types/PaginatedEmployeeList.cs | 12 + .../Accounting/Types/PaginatedExpenseList.cs | 12 + .../PaginatedGeneralLedgerTransactionList.cs | 12 + .../Types/PaginatedIncomeStatementList.cs | 12 + .../Accounting/Types/PaginatedInvoiceList.cs | 12 + .../Accounting/Types/PaginatedIssueList.cs | 12 + .../Accounting/Types/PaginatedItemList.cs | 12 + .../Types/PaginatedJournalEntryList.cs | 12 + .../Accounting/Types/PaginatedPaymentList.cs | 12 + .../Types/PaginatedPaymentMethodList.cs | 33 + .../Types/PaginatedPaymentTermList.cs | 33 + .../Types/PaginatedPurchaseOrderList.cs | 12 + .../Types/PaginatedRemoteFieldClassList.cs | 12 + .../Types/PaginatedSyncStatusList.cs | 12 + .../Accounting/Types/PaginatedTaxRateList.cs | 12 + .../Types/PaginatedTrackingCategoryList.cs | 12 + .../Types/PaginatedTransactionList.cs | 12 + .../Types/PaginatedVendorCreditList.cs | 12 + .../Accounting/Types/PatchedPaymentRequest.cs | 645 +- src/Merge.Client/Accounting/Types/Payment.cs | 649 +- .../Accounting/Types/PaymentLineItem.cs | 23 + .../Types/PaymentLineItemRequest.cs | 23 + .../Accounting/Types/PaymentMethod.cs | 94 + .../Accounting/Types/PaymentRequest.cs | 645 +- .../Accounting/Types/PaymentResponse.cs | 12 + .../Accounting/Types/PaymentTerm.cs | 102 + .../Accounting/Types/PurchaseOrder.cs | 658 +- .../Accounting/Types/PurchaseOrderLineItem.cs | 637 +- .../Types/PurchaseOrderLineItemRequest.cs | 635 +- .../Accounting/Types/PurchaseOrderRequest.cs | 651 +- .../Accounting/Types/PurchaseOrderResponse.cs | 12 + .../Accounting/Types/RemoteData.cs | 21 + .../Accounting/Types/RemoteEndpointInfo.cs | 12 + .../Accounting/Types/RemoteField.cs | 14 +- .../Accounting/Types/RemoteFieldApi.cs | 13 + .../Types/RemoteFieldApiResponse.cs | 18 + .../Accounting/Types/RemoteFieldClass.cs | 12 + .../Accounting/Types/RemoteFieldRequest.cs | 12 + .../Accounting/Types/RemoteKey.cs | 20 + .../Accounting/Types/RemoteResponse.cs | 20 + .../Accounting/Types/ReportItem.cs | 23 + .../Accounting/Types/StatusFd5Enum.cs | 27 + .../Accounting/Types/SyncStatus.cs | 28 +- .../Accounting/Types/TaxComponent.cs | 28 +- src/Merge.Client/Accounting/Types/TaxRate.cs | 30 +- .../Accounting/Types/TrackingCategory.cs | 33 +- .../Accounting/Types/Transaction.cs | 646 +- .../Accounting/Types/TransactionLineItem.cs | 636 +- .../Types/ValidationProblemSource.cs | 12 + .../Accounting/Types/VendorCredit.cs | 639 +- .../Types/VendorCreditApplyLineForInvoice.cs | 23 + .../VendorCreditApplyLineForVendorCredit.cs | 23 + ...orCreditApplyLineForVendorCreditRequest.cs | 22 + .../Accounting/Types/VendorCreditLine.cs | 24 + .../Types/VendorCreditLineRequest.cs | 22 + .../Accounting/Types/VendorCreditRequest.cs | 634 +- .../Accounting/Types/VendorCreditResponse.cs | 12 + .../Types/WarningValidationProblem.cs | 12 + .../Accounting/Types/WebhookReceiver.cs | 12 + .../Requests/VendorCreditEndpointRequest.cs | 5 + .../Requests/VendorCreditsListRequest.cs | 16 + .../Requests/VendorCreditsRetrieveRequest.cs | 10 + .../VendorCredits/VendorCreditsClient.cs | 128 +- .../Requests/WebhookReceiverRequest.cs | 1 + .../WebhookReceiversClient.cs | 58 +- .../AccountDetails/AccountDetailsClient.cs | 29 +- .../Ats/AccountToken/AccountTokenClient.cs | 34 +- .../Ats/Activities/ActivitiesClient.cs | 132 +- .../Requests/ActivitiesListRequest.cs | 16 + .../Requests/ActivitiesRetrieveRequest.cs | 12 + .../Requests/ActivityEndpointRequest.cs | 6 + .../Ats/Applications/ApplicationsClient.cs | 173 +- .../Requests/ApplicationEndpointRequest.cs | 6 + .../Requests/ApplicationsListRequest.cs | 19 + .../ApplicationsMetaPostRetrieveRequest.cs | 3 + .../Requests/ApplicationsRetrieveRequest.cs | 10 + .../Requests/UpdateApplicationStageRequest.cs | 6 + .../AsyncPassthroughClient.cs | 63 +- .../Ats/Attachments/AttachmentsClient.cs | 132 +- .../Requests/AttachmentEndpointRequest.cs | 6 + .../Requests/AttachmentsListRequest.cs | 16 + .../Requests/AttachmentsRetrieveRequest.cs | 12 + .../Ats/AuditTrail/AuditTrailClient.cs | 29 +- .../Requests/AuditTrailListRequest.cs | 10 +- .../AvailableActionsClient.cs | 29 +- .../Ats/Candidates/CandidatesClient.cs | 239 +- .../Requests/CandidateEndpointRequest.cs | 6 + .../Requests/CandidatesListRequest.cs | 17 + .../Requests/CandidatesRetrieveRequest.cs | 10 + .../Requests/IgnoreCommonModelRequest.cs | 1 + .../PatchedCandidateEndpointRequest.cs | 6 + .../Ats/DeleteAccount/DeleteAccountClient.cs | 27 +- .../Ats/Departments/DepartmentsClient.cs | 67 +- .../Requests/DepartmentsListRequest.cs | 12 + .../Requests/DepartmentsRetrieveRequest.cs | 9 + src/Merge.Client/Ats/Eeocs/EeocsClient.cs | 67 +- .../Ats/Eeocs/Requests/EeocsListRequest.cs | 16 + .../Eeocs/Requests/EeocsRetrieveRequest.cs | 12 + .../Ats/FieldMapping/FieldMappingClient.cs | 195 +- .../Requests/CreateFieldMappingRequest.cs | 9 + .../Requests/FieldMappingsRetrieveRequest.cs | 3 + .../PatchedEditFieldMappingRequest.cs | 1 + .../Requests/RemoteFieldsRetrieveRequest.cs | 4 + .../Ats/ForceResync/ForceResyncClient.cs | 31 +- .../Ats/GenerateKey/GenerateKeyClient.cs | 29 +- .../Requests/GenerateRemoteKeyRequest.cs | 1 + .../Ats/Interviews/InterviewsClient.cs | 132 +- .../Requests/InterviewsListRequest.cs | 19 + .../Requests/InterviewsRetrieveRequest.cs | 12 + .../ScheduledInterviewEndpointRequest.cs | 6 + src/Merge.Client/Ats/Issues/IssuesClient.cs | 63 +- .../Ats/Issues/Requests/IssuesListRequest.cs | 20 +- .../JobInterviewStagesClient.cs | 67 +- .../Requests/JobInterviewStagesListRequest.cs | 14 + .../JobInterviewStagesRetrieveRequest.cs | 10 + .../Ats/JobPostings/JobPostingsClient.cs | 67 +- .../Requests/JobPostingsListRequest.cs | 24 +- .../Requests/JobPostingsRetrieveRequest.cs | 10 + src/Merge.Client/Ats/Jobs/JobsClient.cs | 98 +- .../Ats/Jobs/Requests/JobsListRequest.cs | 28 +- .../Ats/Jobs/Requests/JobsRetrieveRequest.cs | 12 + .../JobsScreeningQuestionsListRequest.cs | 8 + .../Ats/LinkToken/LinkTokenClient.cs | 29 +- .../Requests/EndUserDetailsRequest.cs | 1 + .../LinkedAccounts/LinkedAccountsClient.cs | 29 +- .../Requests/LinkedAccountsListRequest.cs | 29 +- src/Merge.Client/Ats/Offers/OffersClient.cs | 67 +- .../Ats/Offers/Requests/OffersListRequest.cs | 17 + .../Offers/Requests/OffersRetrieveRequest.cs | 12 + src/Merge.Client/Ats/Offices/OfficesClient.cs | 67 +- .../Offices/Requests/OfficesListRequest.cs | 12 + .../Requests/OfficesRetrieveRequest.cs | 9 + .../Ats/Passthrough/PassthroughClient.cs | 29 +- .../Ats/RegenerateKey/RegenerateKeyClient.cs | 29 +- .../RemoteKeyForRegenerationRequest.cs | 1 + .../Ats/RejectReasons/RejectReasonsClient.cs | 67 +- .../Requests/RejectReasonsListRequest.cs | 12 + .../Requests/RejectReasonsRetrieveRequest.cs | 9 + ...ountCommonModelScopeDeserializerRequest.cs | 1 + src/Merge.Client/Ats/Scopes/ScopesClient.cs | 87 +- .../Requests/ScorecardsListRequest.cs | 18 + .../Requests/ScorecardsRetrieveRequest.cs | 12 + .../Ats/Scorecards/ScorecardsClient.cs | 67 +- .../Requests/SyncStatusListRequest.cs | 4 + .../Ats/SyncStatus/SyncStatusClient.cs | 31 +- .../Ats/Tags/Requests/TagsListRequest.cs | 12 + src/Merge.Client/Ats/Tags/TagsClient.cs | 29 +- src/Merge.Client/Ats/Types/AccountDetails.cs | 22 + .../Ats/Types/AccountDetailsAndActions.cs | 20 + .../AccountDetailsAndActionsIntegration.cs | 12 + .../Ats/Types/AccountIntegration.cs | 15 + src/Merge.Client/Ats/Types/AccountToken.cs | 15 + src/Merge.Client/Ats/Types/Activity.cs | 37 +- src/Merge.Client/Ats/Types/ActivityRequest.cs | 33 +- .../Ats/Types/ActivityResponse.cs | 12 + .../Ats/Types/AdvancedMetadata.cs | 12 + src/Merge.Client/Ats/Types/Application.cs | 26 + .../Ats/Types/ApplicationRequest.cs | 23 + .../Ats/Types/ApplicationResponse.cs | 12 + .../Ats/Types/AsyncPassthroughReciept.cs | 12 + src/Merge.Client/Ats/Types/Attachment.cs | 36 +- .../Ats/Types/AttachmentRequest.cs | 32 +- .../Ats/Types/AttachmentResponse.cs | 12 + src/Merge.Client/Ats/Types/AuditLogEvent.cs | 109 +- .../Ats/Types/AvailableActions.cs | 20 + src/Merge.Client/Ats/Types/Candidate.cs | 24 + .../Ats/Types/CandidateRequest.cs | 22 + .../Ats/Types/CandidateResponse.cs | 12 + .../Ats/Types/CommonModelScopeApi.cs | 12 + .../Ats/Types/CommonModelScopesBodyRequest.cs | 12 + .../Ats/Types/DataPassthroughRequest.cs | 20 + src/Merge.Client/Ats/Types/DebugModeLog.cs | 12 + .../Ats/Types/DebugModelLogSummary.cs | 12 + src/Merge.Client/Ats/Types/Department.cs | 25 + src/Merge.Client/Ats/Types/Eeoc.cs | 63 +- src/Merge.Client/Ats/Types/EmailAddress.cs | 28 +- .../Ats/Types/EmailAddressRequest.cs | 27 +- .../Ats/Types/ErrorValidationProblem.cs | 12 + src/Merge.Client/Ats/Types/EventTypeEnum.cs | 3 + .../Ats/Types/ExternalTargetFieldApi.cs | 15 + .../Types/ExternalTargetFieldApiResponse.cs | 12 + .../Ats/Types/FieldMappingApiInstance.cs | 16 + .../FieldMappingApiInstanceRemoteField.cs | 12 + ...piInstanceRemoteFieldRemoteEndpointInfo.cs | 12 + .../Types/FieldMappingApiInstanceResponse.cs | 12 + .../FieldMappingApiInstanceTargetField.cs | 12 + .../Ats/Types/FieldMappingInstanceResponse.cs | 12 + .../Ats/Types/FieldPermissionDeserializer.cs | 12 + .../FieldPermissionDeserializerRequest.cs | 12 + .../IndividualCommonModelScopeDeserializer.cs | 12 + ...dualCommonModelScopeDeserializerRequest.cs | 12 + src/Merge.Client/Ats/Types/Issue.cs | 20 +- src/Merge.Client/Ats/Types/Job.cs | 41 +- .../Ats/Types/JobInterviewStage.cs | 25 + src/Merge.Client/Ats/Types/JobPosting.cs | 35 +- ...tusStatusEnum.cs => LastSyncResultEnum.cs} | 4 +- src/Merge.Client/Ats/Types/LinkToken.cs | 12 + .../Ats/Types/LinkedAccountStatus.cs | 12 + src/Merge.Client/Ats/Types/MetaResponse.cs | 12 + src/Merge.Client/Ats/Types/ModelOperation.cs | 20 + .../Ats/Types/ModelPermissionDeserializer.cs | 12 + .../ModelPermissionDeserializerRequest.cs | 12 + .../Ats/Types/MultipartFormFieldRequest.cs | 26 +- src/Merge.Client/Ats/Types/Offer.cs | 43 +- src/Merge.Client/Ats/Types/Office.cs | 25 + .../PaginatedAccountDetailsAndActionsList.cs | 12 + .../Ats/Types/PaginatedActivityList.cs | 12 + .../Ats/Types/PaginatedApplicationList.cs | 12 + .../Ats/Types/PaginatedAttachmentList.cs | 12 + .../Ats/Types/PaginatedAuditLogEventList.cs | 12 + .../Ats/Types/PaginatedCandidateList.cs | 12 + .../Ats/Types/PaginatedDepartmentList.cs | 12 + .../Ats/Types/PaginatedEeocList.cs | 12 + .../Ats/Types/PaginatedIssueList.cs | 12 + .../Types/PaginatedJobInterviewStageList.cs | 12 + .../Ats/Types/PaginatedJobList.cs | 12 + .../Ats/Types/PaginatedJobPostingList.cs | 12 + .../Ats/Types/PaginatedOfferList.cs | 12 + .../Ats/Types/PaginatedOfficeList.cs | 12 + .../Ats/Types/PaginatedRejectReasonList.cs | 12 + .../Ats/Types/PaginatedRemoteUserList.cs | 12 + .../Types/PaginatedScheduledInterviewList.cs | 12 + .../Ats/Types/PaginatedScorecardList.cs | 12 + .../Types/PaginatedScreeningQuestionList.cs | 12 + .../Ats/Types/PaginatedSyncStatusList.cs | 12 + .../Ats/Types/PaginatedTagList.cs | 12 + .../Ats/Types/PatchedCandidateRequest.cs | 22 + src/Merge.Client/Ats/Types/PhoneNumber.cs | 32 +- .../Ats/Types/PhoneNumberRequest.cs | 31 +- src/Merge.Client/Ats/Types/RejectReason.cs | 25 + src/Merge.Client/Ats/Types/RemoteData.cs | 21 + .../Ats/Types/RemoteEndpointInfo.cs | 12 + src/Merge.Client/Ats/Types/RemoteFieldApi.cs | 13 + .../Ats/Types/RemoteFieldApiResponse.cs | 12 + src/Merge.Client/Ats/Types/RemoteKey.cs | 20 + src/Merge.Client/Ats/Types/RemoteResponse.cs | 20 + src/Merge.Client/Ats/Types/RemoteUser.cs | 35 +- .../Ats/Types/ScheduledInterview.cs | 31 +- .../Ats/Types/ScheduledInterviewRequest.cs | 27 +- .../Ats/Types/ScheduledInterviewResponse.cs | 12 + src/Merge.Client/Ats/Types/Scorecard.cs | 35 +- .../Ats/Types/ScreeningQuestion.cs | 39 +- .../Ats/Types/ScreeningQuestionAnswer.cs | 24 + .../Types/ScreeningQuestionAnswerRequest.cs | 22 + .../Ats/Types/ScreeningQuestionOption.cs | 23 + src/Merge.Client/Ats/Types/StatusFd5Enum.cs | 27 + src/Merge.Client/Ats/Types/SyncStatus.cs | 28 +- src/Merge.Client/Ats/Types/Tag.cs | 23 + src/Merge.Client/Ats/Types/Url.cs | 36 +- src/Merge.Client/Ats/Types/UrlRequest.cs | 35 +- .../Ats/Types/ValidationProblemSource.cs | 12 + .../Ats/Types/WarningValidationProblem.cs | 12 + src/Merge.Client/Ats/Types/WebhookReceiver.cs | 12 + .../Ats/Users/Requests/UsersListRequest.cs | 15 + .../Users/Requests/UsersRetrieveRequest.cs | 11 + src/Merge.Client/Ats/Users/UsersClient.cs | 67 +- .../Requests/WebhookReceiverRequest.cs | 1 + .../WebhookReceiversClient.cs | 58 +- .../{Merge.cs => BaseMergeClient.cs} | 18 +- src/Merge.Client/Core/ApiResponse.cs | 13 + src/Merge.Client/Core/BaseRequest.cs | 63 + .../Core/CollectionItemSerializer.cs | 4 +- src/Merge.Client/Core/DateOnlyConverter.cs | 748 + src/Merge.Client/Core/DateTimeSerializer.cs | 2 +- src/Merge.Client/Core/EmptyRequest.cs | 11 + src/Merge.Client/Core/EncodingCache.cs | 11 + src/Merge.Client/Core/EnumSerializer.cs | 6 +- src/Merge.Client/Core/FormUrlEncoder.cs | 33 + src/Merge.Client/Core/Headers.cs | 17 +- src/Merge.Client/Core/IIsRetryableContent.cs | 6 + src/Merge.Client/Core/IRequestOptions.cs | 68 +- src/Merge.Client/Core/JsonAccessAttribute.cs | 13 + src/Merge.Client/Core/JsonConfiguration.cs | 135 +- src/Merge.Client/Core/JsonRequest.cs | 36 + src/Merge.Client/Core/MultipartFormRequest.cs | 275 + src/Merge.Client/Core/OneOfSerializer.cs | 8 +- ...tion.cs => BaseMergeClientApiException.cs} | 4 +- ...nment.cs => BaseMergeClientEnvironment.cs} | 2 +- ...ception.cs => BaseMergeClientException.cs} | 2 +- src/Merge.Client/Core/Public/ClientOptions.cs | 53 +- src/Merge.Client/Core/Public/FileParameter.cs | 63 + .../Core/Public/RequestOptions.cs | 73 +- src/Merge.Client/Core/Public/Version.cs | 2 +- src/Merge.Client/Core/QueryStringConverter.cs | 229 + src/Merge.Client/Core/RawClient.cs | 393 +- src/Merge.Client/Core/StreamRequest.cs | 29 + src/Merge.Client/Core/ValueConvert.cs | 109 + .../AccountDetails/AccountDetailsClient.cs | 29 +- .../Crm/AccountToken/AccountTokenClient.cs | 34 +- .../Crm/Accounts/AccountsClient.cs | 228 +- .../Accounts/Requests/AccountsListRequest.cs | 16 + .../AccountsRemoteFieldClassesListRequest.cs | 9 + .../Requests/AccountsRetrieveRequest.cs | 11 + .../Requests/CrmAccountEndpointRequest.cs | 5 + .../PatchedCrmAccountEndpointRequest.cs | 5 + .../AssociationTypesClient.cs | 146 +- .../CrmAssociationTypeEndpointRequest.cs | 5 + ...bjectClassesAssociationTypesListRequest.cs | 13 + ...tClassesAssociationTypesRetrieveRequest.cs | 10 + .../Crm/Associations/AssociationsClient.cs | 75 +- ...sesCustomObjectsAssociationsListRequest.cs | 14 + ...sCustomObjectsAssociationsUpdateRequest.cs | 4 + .../AsyncPassthroughClient.cs | 63 +- .../Crm/AuditTrail/AuditTrailClient.cs | 29 +- .../Requests/AuditTrailListRequest.cs | 10 +- .../AvailableActionsClient.cs | 29 +- .../Crm/Contacts/ContactsClient.cs | 260 +- .../Contacts/Requests/ContactsListRequest.cs | 17 + .../ContactsRemoteFieldClassesListRequest.cs | 9 + .../Requests/ContactsRetrieveRequest.cs | 11 + .../Requests/CrmContactEndpointRequest.cs | 5 + .../PatchedCrmContactEndpointRequest.cs | 5 + .../CustomObjectClassesClient.cs | 67 +- .../CustomObjectClassesListRequest.cs | 13 + .../CustomObjectClassesRetrieveRequest.cs | 10 + .../Crm/CustomObjects/CustomObjectsClient.cs | 175 +- .../CrmCustomObjectEndpointRequest.cs | 5 + ...omObjectClassesCustomObjectsListRequest.cs | 13 + ...tomObjectsRemoteFieldClassesListRequest.cs | 9 + ...jectClassesCustomObjectsRetrieveRequest.cs | 10 + .../Crm/DeleteAccount/DeleteAccountClient.cs | 27 +- .../EngagementTypes/EngagementTypesClient.cs | 96 +- .../Requests/EngagementTypesListRequest.cs | 13 + ...ementTypesRemoteFieldClassesListRequest.cs | 9 + .../EngagementTypesRetrieveRequest.cs | 10 + .../Crm/Engagements/EngagementsClient.cs | 228 +- .../Requests/EngagementEndpointRequest.cs | 5 + .../Requests/EngagementsListRequest.cs | 16 + ...ngagementsRemoteFieldClassesListRequest.cs | 9 + .../Requests/EngagementsRetrieveRequest.cs | 11 + .../PatchedEngagementEndpointRequest.cs | 5 + .../Crm/FieldMapping/FieldMappingClient.cs | 195 +- .../Requests/CreateFieldMappingRequest.cs | 9 + .../Requests/FieldMappingsRetrieveRequest.cs | 3 + .../PatchedEditFieldMappingRequest.cs | 1 + .../Requests/RemoteFieldsRetrieveRequest.cs | 4 + .../Crm/ForceResync/ForceResyncClient.cs | 31 +- .../Crm/GenerateKey/GenerateKeyClient.cs | 29 +- .../Requests/GenerateRemoteKeyRequest.cs | 1 + src/Merge.Client/Crm/Issues/IssuesClient.cs | 63 +- .../Crm/Issues/Requests/IssuesListRequest.cs | 20 +- src/Merge.Client/Crm/Leads/LeadsClient.cs | 157 +- .../Crm/Leads/Requests/LeadEndpointRequest.cs | 5 + .../Crm/Leads/Requests/LeadsListRequest.cs | 19 + .../LeadsRemoteFieldClassesListRequest.cs | 9 + .../Leads/Requests/LeadsRetrieveRequest.cs | 11 + .../Crm/LinkToken/LinkTokenClient.cs | 29 +- .../Requests/EndUserDetailsRequest.cs | 1 + .../LinkedAccounts/LinkedAccountsClient.cs | 29 +- .../Requests/LinkedAccountsListRequest.cs | 29 +- src/Merge.Client/Crm/Notes/NotesClient.cs | 157 +- .../Crm/Notes/Requests/NoteEndpointRequest.cs | 5 + .../Crm/Notes/Requests/NotesListRequest.cs | 18 + .../NotesRemoteFieldClassesListRequest.cs | 9 + .../Notes/Requests/NotesRetrieveRequest.cs | 11 + .../Crm/Opportunities/OpportunitiesClient.cs | 228 +- .../Requests/OpportunitiesListRequest.cs | 27 +- ...ortunitiesRemoteFieldClassesListRequest.cs | 9 + .../Requests/OpportunitiesRetrieveRequest.cs | 13 + .../Requests/OpportunityEndpointRequest.cs | 5 + .../PatchedOpportunityEndpointRequest.cs | 5 + .../Crm/Passthrough/PassthroughClient.cs | 29 +- .../Crm/RegenerateKey/RegenerateKeyClient.cs | 29 +- .../RemoteKeyForRegenerationRequest.cs | 1 + ...ountCommonModelScopeDeserializerRequest.cs | 1 + src/Merge.Client/Crm/Scopes/ScopesClient.cs | 87 +- .../Crm/Stages/Requests/StagesListRequest.cs | 13 + .../StagesRemoteFieldClassesListRequest.cs | 9 + .../Stages/Requests/StagesRetrieveRequest.cs | 10 + src/Merge.Client/Crm/Stages/StagesClient.cs | 96 +- .../Requests/SyncStatusListRequest.cs | 4 + .../Crm/SyncStatus/SyncStatusClient.cs | 29 +- .../Requests/PatchedTaskEndpointRequest.cs | 5 + .../Crm/Tasks/Requests/TaskEndpointRequest.cs | 5 + .../Crm/Tasks/Requests/TasksListRequest.cs | 14 + .../TasksRemoteFieldClassesListRequest.cs | 9 + .../Tasks/Requests/TasksRetrieveRequest.cs | 11 + src/Merge.Client/Crm/Tasks/TasksClient.cs | 228 +- src/Merge.Client/Crm/Types/Account.cs | 27 + src/Merge.Client/Crm/Types/AccountDetails.cs | 22 + .../Crm/Types/AccountDetailsAndActions.cs | 20 + .../AccountDetailsAndActionsIntegration.cs | 12 + .../Crm/Types/AccountIntegration.cs | 15 + src/Merge.Client/Crm/Types/AccountRequest.cs | 22 + src/Merge.Client/Crm/Types/AccountToken.cs | 15 + src/Merge.Client/Crm/Types/Address.cs | 523 +- src/Merge.Client/Crm/Types/AddressRequest.cs | 523 +- .../Crm/Types/AdvancedMetadata.cs | 12 + src/Merge.Client/Crm/Types/Association.cs | 23 + .../Crm/Types/AssociationSubType.cs | 16 + src/Merge.Client/Crm/Types/AssociationType.cs | 24 + .../Types/AssociationTypeRequestRequest.cs | 12 + .../Crm/Types/AsyncPassthroughReciept.cs | 12 + src/Merge.Client/Crm/Types/AuditLogEvent.cs | 109 +- .../Crm/Types/AvailableActions.cs | 20 + .../Crm/Types/CommonModelScopeApi.cs | 12 + .../Crm/Types/CommonModelScopesBodyRequest.cs | 12 + src/Merge.Client/Crm/Types/Contact.cs | 26 + src/Merge.Client/Crm/Types/ContactRequest.cs | 22 + .../Crm/Types/CrmAccountResponse.cs | 12 + .../Crm/Types/CrmAssociationTypeResponse.cs | 12 + .../Crm/Types/CrmContactResponse.cs | 12 + .../Crm/Types/CrmCustomObjectResponse.cs | 12 + src/Merge.Client/Crm/Types/CustomObject.cs | 24 + .../Crm/Types/CustomObjectClass.cs | 25 + .../Crm/Types/CustomObjectRequest.cs | 12 + .../Crm/Types/DataPassthroughRequest.cs | 20 + src/Merge.Client/Crm/Types/DebugModeLog.cs | 12 + .../Crm/Types/DebugModelLogSummary.cs | 12 + src/Merge.Client/Crm/Types/EmailAddress.cs | 21 + .../Crm/Types/EmailAddressRequest.cs | 21 + src/Merge.Client/Crm/Types/Engagement.cs | 30 +- .../Crm/Types/EngagementRequest.cs | 26 +- .../Crm/Types/EngagementResponse.cs | 12 + src/Merge.Client/Crm/Types/EngagementType.cs | 29 +- .../Crm/Types/ErrorValidationProblem.cs | 12 + src/Merge.Client/Crm/Types/EventTypeEnum.cs | 3 + .../Crm/Types/ExternalTargetFieldApi.cs | 15 + .../Types/ExternalTargetFieldApiResponse.cs | 12 + .../Crm/Types/FieldMappingApiInstance.cs | 16 + .../FieldMappingApiInstanceRemoteField.cs | 12 + ...piInstanceRemoteFieldRemoteEndpointInfo.cs | 12 + .../Types/FieldMappingApiInstanceResponse.cs | 12 + .../FieldMappingApiInstanceTargetField.cs | 12 + .../Crm/Types/FieldMappingInstanceResponse.cs | 12 + .../Crm/Types/FieldPermissionDeserializer.cs | 12 + .../FieldPermissionDeserializerRequest.cs | 12 + .../Crm/Types/IgnoreCommonModelRequest.cs | 12 + .../IndividualCommonModelScopeDeserializer.cs | 12 + ...dualCommonModelScopeDeserializerRequest.cs | 12 + src/Merge.Client/Crm/Types/Issue.cs | 20 +- src/Merge.Client/Crm/Types/ItemSchema.cs | 12 + ...tusStatusEnum.cs => LastSyncResultEnum.cs} | 4 +- src/Merge.Client/Crm/Types/Lead.cs | 29 + src/Merge.Client/Crm/Types/LeadRequest.cs | 22 + src/Merge.Client/Crm/Types/LeadResponse.cs | 12 + src/Merge.Client/Crm/Types/LinkToken.cs | 12 + .../Crm/Types/LinkedAccountStatus.cs | 12 + src/Merge.Client/Crm/Types/MetaResponse.cs | 12 + src/Merge.Client/Crm/Types/ModelOperation.cs | 20 + .../Crm/Types/ModelPermissionDeserializer.cs | 12 + .../ModelPermissionDeserializerRequest.cs | 12 + .../Crm/Types/MultipartFormFieldRequest.cs | 26 +- src/Merge.Client/Crm/Types/Note.cs | 26 + src/Merge.Client/Crm/Types/NoteRequest.cs | 22 + src/Merge.Client/Crm/Types/NoteResponse.cs | 12 + .../Types/ObjectClassDescriptionRequest.cs | 12 + src/Merge.Client/Crm/Types/Opportunity.cs | 32 +- .../Crm/Types/OpportunityRequest.cs | 28 +- .../Crm/Types/OpportunityResponse.cs | 12 + .../PaginatedAccountDetailsAndActionsList.cs | 12 + .../Crm/Types/PaginatedAccountList.cs | 12 + .../Crm/Types/PaginatedAssociationList.cs | 12 + .../Crm/Types/PaginatedAssociationTypeList.cs | 12 + .../Crm/Types/PaginatedAuditLogEventList.cs | 12 + .../Crm/Types/PaginatedContactList.cs | 12 + .../Types/PaginatedCustomObjectClassList.cs | 12 + .../Crm/Types/PaginatedCustomObjectList.cs | 12 + .../Crm/Types/PaginatedEngagementList.cs | 12 + .../Crm/Types/PaginatedEngagementTypeList.cs | 12 + .../Crm/Types/PaginatedIssueList.cs | 12 + .../Crm/Types/PaginatedLeadList.cs | 12 + .../Crm/Types/PaginatedNoteList.cs | 12 + .../Crm/Types/PaginatedOpportunityList.cs | 12 + .../Types/PaginatedRemoteFieldClassList.cs | 12 + .../Crm/Types/PaginatedStageList.cs | 12 + .../Crm/Types/PaginatedSyncStatusList.cs | 12 + .../Crm/Types/PaginatedTaskList.cs | 12 + .../Crm/Types/PaginatedUserList.cs | 12 + .../Crm/Types/PatchedAccountRequest.cs | 22 + .../Crm/Types/PatchedContactRequest.cs | 22 + .../Crm/Types/PatchedEngagementRequest.cs | 26 +- .../Crm/Types/PatchedOpportunityRequest.cs | 28 +- .../Crm/Types/PatchedTaskRequest.cs | 26 +- src/Merge.Client/Crm/Types/PhoneNumber.cs | 21 + .../Crm/Types/PhoneNumberRequest.cs | 21 + src/Merge.Client/Crm/Types/RemoteData.cs | 21 + .../Crm/Types/RemoteEndpointInfo.cs | 12 + src/Merge.Client/Crm/Types/RemoteField.cs | 14 +- src/Merge.Client/Crm/Types/RemoteFieldApi.cs | 13 + .../Crm/Types/RemoteFieldApiResponse.cs | 12 + .../Crm/Types/RemoteFieldClass.cs | 12 + .../Types/RemoteFieldClassFieldChoicesItem.cs | 12 + .../RemoteFieldClassForCustomObjectClass.cs | 16 + ...assForCustomObjectClassFieldChoicesItem.cs | 12 + ...ieldClassForCustomObjectClassItemSchema.cs | 12 + .../Crm/Types/RemoteFieldRequest.cs | 12 + src/Merge.Client/Crm/Types/RemoteKey.cs | 20 + src/Merge.Client/Crm/Types/RemoteResponse.cs | 20 + src/Merge.Client/Crm/Types/Stage.cs | 26 + src/Merge.Client/Crm/Types/StatusFd5Enum.cs | 27 + src/Merge.Client/Crm/Types/SyncStatus.cs | 28 +- src/Merge.Client/Crm/Types/Task.cs | 30 +- src/Merge.Client/Crm/Types/TaskRequest.cs | 26 +- src/Merge.Client/Crm/Types/TaskResponse.cs | 12 + src/Merge.Client/Crm/Types/User.cs | 26 + .../Crm/Types/ValidationProblemSource.cs | 12 + .../Crm/Types/WarningValidationProblem.cs | 12 + src/Merge.Client/Crm/Types/WebhookReceiver.cs | 12 + .../Crm/Users/Requests/UsersListRequest.cs | 14 + .../UsersRemoteFieldClassesListRequest.cs | 9 + .../Users/Requests/UsersRetrieveRequest.cs | 10 + src/Merge.Client/Crm/Users/UsersClient.cs | 128 +- .../Requests/WebhookReceiverRequest.cs | 1 + .../WebhookReceiversClient.cs | 58 +- .../AccountDetails/AccountDetailsClient.cs | 29 +- .../AccountToken/AccountTokenClient.cs | 34 +- .../AsyncPassthroughClient.cs | 63 +- .../AuditTrail/AuditTrailClient.cs | 29 +- .../Requests/AuditTrailListRequest.cs | 10 +- .../AvailableActionsClient.cs | 29 +- .../DeleteAccount/DeleteAccountClient.cs | 27 +- .../Filestorage/Drives/DrivesClient.cs | 67 +- .../Drives/Requests/DrivesListRequest.cs | 13 + .../Drives/Requests/DrivesRetrieveRequest.cs | 9 + .../FieldMapping/FieldMappingClient.cs | 195 +- .../Requests/CreateFieldMappingRequest.cs | 9 + .../Requests/FieldMappingsRetrieveRequest.cs | 3 + .../PatchedEditFieldMappingRequest.cs | 1 + .../Requests/RemoteFieldsRetrieveRequest.cs | 4 + .../Filestorage/Files/FilesClient.cs | 293 +- .../FileStorageFileEndpointRequest.cs | 5 + .../FilesDownloadRequestMetaListRequest.cs | 37 + ...FilesDownloadRequestMetaRetrieveRequest.cs | 19 + .../Requests/FilesDownloadRetrieveRequest.cs | 9 + .../Files/Requests/FilesListRequest.cs | 17 + .../Files/Requests/FilesRetrieveRequest.cs | 10 + .../Filestorage/Folders/FoldersClient.cs | 128 +- .../FileStorageFolderEndpointRequest.cs | 5 + .../Folders/Requests/FoldersListRequest.cs | 16 + .../Requests/FoldersRetrieveRequest.cs | 10 + .../ForceResync/ForceResyncClient.cs | 31 +- .../GenerateKey/GenerateKeyClient.cs | 29 +- .../Requests/GenerateRemoteKeyRequest.cs | 1 + .../Filestorage/Groups/GroupsClient.cs | 67 +- .../Groups/Requests/GroupsListRequest.cs | 13 + .../Groups/Requests/GroupsRetrieveRequest.cs | 10 + .../Filestorage/Issues/IssuesClient.cs | 63 +- .../Issues/Requests/IssuesListRequest.cs | 20 +- .../Filestorage/LinkToken/LinkTokenClient.cs | 29 +- .../Requests/EndUserDetailsRequest.cs | 1 + .../LinkedAccounts/LinkedAccountsClient.cs | 29 +- .../Requests/LinkedAccountsListRequest.cs | 29 +- .../Passthrough/PassthroughClient.cs | 29 +- .../RegenerateKey/RegenerateKeyClient.cs | 29 +- .../RemoteKeyForRegenerationRequest.cs | 1 + ...ountCommonModelScopeDeserializerRequest.cs | 1 + .../Filestorage/Scopes/ScopesClient.cs | 87 +- .../Requests/SyncStatusListRequest.cs | 4 + .../SyncStatus/SyncStatusClient.cs | 29 +- .../Filestorage/Types/AccountDetails.cs | 22 + .../Types/AccountDetailsAndActions.cs | 20 + .../AccountDetailsAndActionsIntegration.cs | 12 + .../Filestorage/Types/AccountIntegration.cs | 15 + .../Filestorage/Types/AccountToken.cs | 15 + .../Filestorage/Types/AdvancedMetadata.cs | 12 + .../Types/AsyncPassthroughReciept.cs | 12 + .../Filestorage/Types/AuditLogEvent.cs | 109 +- .../Filestorage/Types/AvailableActions.cs | 20 + .../Filestorage/Types/CommonModelScopeApi.cs | 12 + .../Types/CommonModelScopesBodyRequest.cs | 12 + .../Types/DataPassthroughRequest.cs | 20 + .../Filestorage/Types/DebugModeLog.cs | 12 + .../Filestorage/Types/DebugModelLogSummary.cs | 12 + .../Filestorage/Types/DownloadRequestMeta.cs | 39 + src/Merge.Client/Filestorage/Types/Drive.cs | 24 + .../Types/ErrorValidationProblem.cs | 12 + .../Filestorage/Types/EventTypeEnum.cs | 3 + .../Types/ExternalTargetFieldApi.cs | 15 + .../Types/ExternalTargetFieldApiResponse.cs | 12 + .../Types/FieldMappingApiInstance.cs | 16 + .../FieldMappingApiInstanceRemoteField.cs | 12 + ...piInstanceRemoteFieldRemoteEndpointInfo.cs | 12 + .../Types/FieldMappingApiInstanceResponse.cs | 12 + .../FieldMappingApiInstanceTargetField.cs | 12 + .../Types/FieldMappingInstanceResponse.cs | 12 + .../Types/FieldPermissionDeserializer.cs | 12 + .../FieldPermissionDeserializerRequest.cs | 12 + src/Merge.Client/Filestorage/Types/File.cs | 28 +- .../Filestorage/Types/FileRequest.cs | 21 + .../Types/FileStorageFileResponse.cs | 12 + .../Types/FileStorageFolderResponse.cs | 12 + src/Merge.Client/Filestorage/Types/Folder.cs | 28 +- .../Filestorage/Types/FolderRequest.cs | 21 + src/Merge.Client/Filestorage/Types/Group.cs | 25 + .../IndividualCommonModelScopeDeserializer.cs | 12 + ...dualCommonModelScopeDeserializerRequest.cs | 12 + src/Merge.Client/Filestorage/Types/Issue.cs | 20 +- ...tusStatusEnum.cs => LastSyncResultEnum.cs} | 4 +- .../Filestorage/Types/LinkToken.cs | 12 + .../Filestorage/Types/LinkedAccountStatus.cs | 12 + .../Filestorage/Types/MetaResponse.cs | 12 + .../Filestorage/Types/ModelOperation.cs | 20 + .../Types/ModelPermissionDeserializer.cs | 12 + .../ModelPermissionDeserializerRequest.cs | 12 + .../Types/MultipartFormFieldRequest.cs | 26 +- .../PaginatedAccountDetailsAndActionsList.cs | 12 + .../Types/PaginatedAuditLogEventList.cs | 12 + .../Types/PaginatedDownloadRequestMetaList.cs | 33 + .../Filestorage/Types/PaginatedDriveList.cs | 12 + .../Filestorage/Types/PaginatedFileList.cs | 12 + .../Filestorage/Types/PaginatedFolderList.cs | 12 + .../Filestorage/Types/PaginatedGroupList.cs | 12 + .../Filestorage/Types/PaginatedIssueList.cs | 12 + .../Types/PaginatedSyncStatusList.cs | 12 + .../Filestorage/Types/PaginatedUserList.cs | 12 + .../Filestorage/Types/Permission.cs | 31 +- .../Filestorage/Types/PermissionRequest.cs | 30 +- .../Filestorage/Types/RemoteData.cs | 21 + .../Filestorage/Types/RemoteEndpointInfo.cs | 12 + .../Filestorage/Types/RemoteFieldApi.cs | 13 + .../Types/RemoteFieldApiResponse.cs | 12 + .../Filestorage/Types/RemoteKey.cs | 20 + .../Filestorage/Types/RemoteResponse.cs | 20 + .../Filestorage/Types/StatusFd5Enum.cs | 27 + .../Filestorage/Types/SyncStatus.cs | 28 +- src/Merge.Client/Filestorage/Types/User.cs | 24 + .../Types/ValidationProblemSource.cs | 12 + .../Types/WarningValidationProblem.cs | 12 + .../Filestorage/Types/WebhookReceiver.cs | 12 + .../Users/Requests/UsersListRequest.cs | 13 + .../Users/Requests/UsersRetrieveRequest.cs | 9 + .../Filestorage/Users/UsersClient.cs | 67 +- .../Requests/WebhookReceiverRequest.cs | 1 + .../WebhookReceiversClient.cs | 58 +- .../AccountDetails/AccountDetailsClient.cs | 29 +- .../Hris/AccountToken/AccountTokenClient.cs | 34 +- .../AsyncPassthroughClient.cs | 63 +- .../Hris/AuditTrail/AuditTrailClient.cs | 29 +- .../Requests/AuditTrailListRequest.cs | 10 +- .../AvailableActionsClient.cs | 29 +- .../Hris/BankInfo/BankInfoClient.cs | 67 +- .../BankInfo/Requests/BankInfoListRequest.cs | 23 +- .../Requests/BankInfoRetrieveRequest.cs | 12 + .../Hris/Benefits/BenefitsClient.cs | 67 +- .../Benefits/Requests/BenefitsListRequest.cs | 14 + .../Requests/BenefitsRetrieveRequest.cs | 10 + .../Hris/Companies/CompaniesClient.cs | 67 +- .../Requests/CompaniesListRequest.cs | 12 + .../Requests/CompaniesRetrieveRequest.cs | 9 + .../Hris/DeleteAccount/DeleteAccountClient.cs | 27 +- .../Hris/Dependents/DependentsClient.cs | 67 +- .../Requests/DependentsListRequest.cs | 13 + .../Requests/DependentsRetrieveRequest.cs | 10 + .../EmployeePayrollRunsClient.cs | 67 +- .../EmployeePayrollRunsListRequest.cs | 19 + .../EmployeePayrollRunsRetrieveRequest.cs | 10 + .../Hris/Employees/EmployeesClient.cs | 160 +- .../Requests/EmployeeEndpointRequest.cs | 5 + .../Requests/EmployeesListRequest.cs | 41 +- .../Requests/EmployeesRetrieveRequest.cs | 13 + .../Requests/IgnoreCommonModelRequest.cs | 1 + .../EmployerBenefitsClient.cs | 67 +- .../Requests/EmployerBenefitsListRequest.cs | 12 + .../EmployerBenefitsRetrieveRequest.cs | 9 + .../Hris/Employments/EmploymentsClient.cs | 67 +- .../Requests/EmploymentsListRequest.cs | 17 + .../Requests/EmploymentsRetrieveRequest.cs | 12 + .../Hris/FieldMapping/FieldMappingClient.cs | 195 +- .../Requests/CreateFieldMappingRequest.cs | 9 + .../Requests/FieldMappingsRetrieveRequest.cs | 3 + .../PatchedEditFieldMappingRequest.cs | 1 + .../Requests/RemoteFieldsRetrieveRequest.cs | 4 + .../Hris/ForceResync/ForceResyncClient.cs | 31 +- .../Hris/GenerateKey/GenerateKeyClient.cs | 29 +- .../Requests/GenerateRemoteKeyRequest.cs | 1 + src/Merge.Client/Hris/Groups/GroupsClient.cs | 67 +- .../Hris/Groups/Requests/GroupsListRequest.cs | 17 + .../Groups/Requests/GroupsRetrieveRequest.cs | 11 + src/Merge.Client/Hris/Issues/IssuesClient.cs | 63 +- .../Hris/Issues/Requests/IssuesListRequest.cs | 20 +- .../Hris/LinkToken/LinkTokenClient.cs | 29 +- .../Requests/EndUserDetailsRequest.cs | 1 + .../LinkedAccounts/LinkedAccountsClient.cs | 29 +- .../Requests/LinkedAccountsListRequest.cs | 29 +- .../Hris/Locations/LocationsClient.cs | 67 +- .../Requests/LocationsListRequest.cs | 19 +- .../Requests/LocationsRetrieveRequest.cs | 11 + .../Hris/Passthrough/PassthroughClient.cs | 29 +- .../Hris/PayGroups/PayGroupsClient.cs | 67 +- .../Requests/PayGroupsListRequest.cs | 12 + .../Requests/PayGroupsRetrieveRequest.cs | 9 + .../Hris/PayrollRuns/PayrollRunsClient.cs | 67 +- .../Requests/PayrollRunsListRequest.cs | 29 +- .../Requests/PayrollRunsRetrieveRequest.cs | 11 + .../Hris/RegenerateKey/RegenerateKeyClient.cs | 29 +- .../RemoteKeyForRegenerationRequest.cs | 1 + ...ountCommonModelScopeDeserializerRequest.cs | 1 + src/Merge.Client/Hris/Scopes/ScopesClient.cs | 87 +- .../Requests/SyncStatusListRequest.cs | 4 + .../Hris/SyncStatus/SyncStatusClient.cs | 31 +- .../Hris/Teams/Requests/TeamsListRequest.cs | 14 + .../Teams/Requests/TeamsRetrieveRequest.cs | 10 + src/Merge.Client/Hris/Teams/TeamsClient.cs | 67 +- .../Requests/TimeOffEndpointRequest.cs | 5 + .../TimeOff/Requests/TimeOffListRequest.cs | 47 +- .../Requests/TimeOffRetrieveRequest.cs | 12 + .../Hris/TimeOff/TimeOffClient.cs | 128 +- .../Requests/TimeOffBalancesListRequest.cs | 29 +- .../TimeOffBalancesRetrieveRequest.cs | 12 + .../TimeOffBalances/TimeOffBalancesClient.cs | 67 +- .../Requests/TimesheetEntriesListRequest.cs | 19 + .../TimesheetEntriesRetrieveRequest.cs | 10 + .../Requests/TimesheetEntryEndpointRequest.cs | 5 + .../TimesheetEntriesClient.cs | 128 +- src/Merge.Client/Hris/Types/AccountDetails.cs | 22 + .../Hris/Types/AccountDetailsAndActions.cs | 20 + .../AccountDetailsAndActionsIntegration.cs | 12 + .../Hris/Types/AccountIntegration.cs | 15 + src/Merge.Client/Hris/Types/AccountToken.cs | 15 + .../Hris/Types/AdvancedMetadata.cs | 12 + .../Hris/Types/AsyncPassthroughReciept.cs | 12 + src/Merge.Client/Hris/Types/AuditLogEvent.cs | 109 +- .../Hris/Types/AvailableActions.cs | 20 + src/Merge.Client/Hris/Types/BankInfo.cs | 30 +- src/Merge.Client/Hris/Types/Benefit.cs | 26 + .../Hris/Types/CommonModelScopeApi.cs | 12 + .../Types/CommonModelScopesBodyRequest.cs | 12 + src/Merge.Client/Hris/Types/Company.cs | 26 + .../Hris/Types/DataPassthroughRequest.cs | 20 + src/Merge.Client/Hris/Types/DebugModeLog.cs | 12 + .../Hris/Types/DebugModelLogSummary.cs | 12 + src/Merge.Client/Hris/Types/Deduction.cs | 25 + src/Merge.Client/Hris/Types/Dependent.cs | 42 +- src/Merge.Client/Hris/Types/Earning.cs | 33 +- src/Merge.Client/Hris/Types/Employee.cs | 68 +- .../Hris/Types/EmployeePayrollRun.cs | 29 + .../Hris/Types/EmployeeRequest.cs | 64 +- .../Hris/Types/EmployeeResponse.cs | 12 + .../Hris/Types/EmployerBenefit.cs | 36 +- src/Merge.Client/Hris/Types/Employment.cs | 694 +- .../Hris/Types/ErrorValidationProblem.cs | 12 + src/Merge.Client/Hris/Types/EventTypeEnum.cs | 3 + .../Hris/Types/ExternalTargetFieldApi.cs | 15 + .../Types/ExternalTargetFieldApiResponse.cs | 12 + .../Hris/Types/FieldMappingApiInstance.cs | 16 + .../FieldMappingApiInstanceRemoteField.cs | 12 + ...piInstanceRemoteFieldRemoteEndpointInfo.cs | 12 + .../Types/FieldMappingApiInstanceResponse.cs | 12 + .../FieldMappingApiInstanceTargetField.cs | 12 + .../Types/FieldMappingInstanceResponse.cs | 12 + .../Hris/Types/FieldPermissionDeserializer.cs | 12 + .../FieldPermissionDeserializerRequest.cs | 12 + src/Merge.Client/Hris/Types/Group.cs | 48 +- .../IndividualCommonModelScopeDeserializer.cs | 12 + ...dualCommonModelScopeDeserializerRequest.cs | 12 + src/Merge.Client/Hris/Types/Issue.cs | 20 +- ...tusStatusEnum.cs => LastSyncResultEnum.cs} | 4 +- src/Merge.Client/Hris/Types/LinkToken.cs | 12 + .../Hris/Types/LinkedAccountStatus.cs | 12 + src/Merge.Client/Hris/Types/Location.cs | 528 +- src/Merge.Client/Hris/Types/MetaResponse.cs | 12 + src/Merge.Client/Hris/Types/ModelOperation.cs | 20 + .../Hris/Types/ModelPermissionDeserializer.cs | 12 + .../ModelPermissionDeserializerRequest.cs | 12 + .../Hris/Types/MultipartFormFieldRequest.cs | 26 +- .../PaginatedAccountDetailsAndActionsList.cs | 12 + .../Hris/Types/PaginatedAuditLogEventList.cs | 12 + .../Hris/Types/PaginatedBankInfoList.cs | 12 + .../Hris/Types/PaginatedBenefitList.cs | 12 + .../Hris/Types/PaginatedCompanyList.cs | 12 + .../Hris/Types/PaginatedDependentList.cs | 12 + .../Hris/Types/PaginatedEmployeeList.cs | 12 + .../Types/PaginatedEmployeePayrollRunList.cs | 12 + .../Types/PaginatedEmployerBenefitList.cs | 12 + .../Hris/Types/PaginatedEmploymentList.cs | 12 + .../Hris/Types/PaginatedGroupList.cs | 12 + .../Hris/Types/PaginatedIssueList.cs | 12 + .../Hris/Types/PaginatedLocationList.cs | 12 + .../Hris/Types/PaginatedPayGroupList.cs | 12 + .../Hris/Types/PaginatedPayrollRunList.cs | 12 + .../Hris/Types/PaginatedSyncStatusList.cs | 12 + .../Hris/Types/PaginatedTeamList.cs | 12 + .../Hris/Types/PaginatedTimeOffBalanceList.cs | 12 + .../Hris/Types/PaginatedTimeOffList.cs | 12 + .../Hris/Types/PaginatedTimesheetEntryList.cs | 12 + src/Merge.Client/Hris/Types/PayGroup.cs | 26 + src/Merge.Client/Hris/Types/PayrollRun.cs | 46 +- src/Merge.Client/Hris/Types/RemoteData.cs | 21 + .../Hris/Types/RemoteEndpointInfo.cs | 12 + src/Merge.Client/Hris/Types/RemoteFieldApi.cs | 13 + .../Hris/Types/RemoteFieldApiResponse.cs | 12 + src/Merge.Client/Hris/Types/RemoteKey.cs | 20 + src/Merge.Client/Hris/Types/RemoteResponse.cs | 20 + src/Merge.Client/Hris/Types/StatusFd5Enum.cs | 27 + src/Merge.Client/Hris/Types/SyncStatus.cs | 28 +- src/Merge.Client/Hris/Types/Tax.cs | 25 + src/Merge.Client/Hris/Types/Team.cs | 26 + src/Merge.Client/Hris/Types/TimeOff.cs | 52 +- src/Merge.Client/Hris/Types/TimeOffBalance.cs | 38 +- src/Merge.Client/Hris/Types/TimeOffRequest.cs | 48 +- .../Hris/Types/TimeOffResponse.cs | 12 + src/Merge.Client/Hris/Types/TimesheetEntry.cs | 27 + .../Hris/Types/TimesheetEntryRequest.cs | 23 + .../Hris/Types/TimesheetEntryResponse.cs | 12 + .../Hris/Types/ValidationProblemSource.cs | 12 + .../Hris/Types/WarningValidationProblem.cs | 12 + .../Hris/Types/WebhookReceiver.cs | 12 + .../Requests/WebhookReceiverRequest.cs | 1 + .../WebhookReceiversClient.cs | 58 +- src/Merge.Client/Merge.Client.csproj | 15 +- .../AccountDetails/AccountDetailsClient.cs | 29 +- .../AccountToken/AccountTokenClient.cs | 34 +- .../Ticketing/Accounts/AccountsClient.cs | 67 +- .../Accounts/Requests/AccountsListRequest.cs | 12 + .../Requests/AccountsRetrieveRequest.cs | 9 + .../AsyncPassthroughClient.cs | 63 +- .../Attachments/AttachmentsClient.cs | 166 +- .../AttachmentsDownloadRetrieveRequest.cs | 9 + .../Requests/AttachmentsListRequest.cs | 15 + .../Requests/AttachmentsRetrieveRequest.cs | 10 + .../TicketingAttachmentEndpointRequest.cs | 5 + .../Ticketing/AuditTrail/AuditTrailClient.cs | 29 +- .../Requests/AuditTrailListRequest.cs | 10 +- .../AvailableActionsClient.cs | 29 +- .../Collections/CollectionsClient.cs | 151 +- .../Requests/CollectionsListRequest.cs | 19 +- .../Requests/CollectionsRetrieveRequest.cs | 14 +- .../Requests/CollectionsViewersListRequest.cs | 49 + .../Types/CollectionsListRequestExpand.cs | 18 - .../Types/CollectionsRetrieveRequestExpand.cs | 18 - .../CollectionsViewersListRequestExpand.cs | 18 + .../Ticketing/Comments/CommentsClient.cs | 128 +- .../Requests/CommentEndpointRequest.cs | 5 + .../Comments/Requests/CommentsListRequest.cs | 15 + .../Requests/CommentsRetrieveRequest.cs | 10 + .../Ticketing/Contacts/ContactsClient.cs | 128 +- .../Contacts/Requests/ContactsListRequest.cs | 13 + .../Requests/ContactsRetrieveRequest.cs | 10 + .../TicketingContactEndpointRequest.cs | 5 + .../DeleteAccount/DeleteAccountClient.cs | 27 +- .../FieldMapping/FieldMappingClient.cs | 195 +- .../Requests/CreateFieldMappingRequest.cs | 9 + .../Requests/FieldMappingsRetrieveRequest.cs | 3 + .../PatchedEditFieldMappingRequest.cs | 1 + .../Requests/RemoteFieldsRetrieveRequest.cs | 4 + .../ForceResync/ForceResyncClient.cs | 31 +- .../GenerateKey/GenerateKeyClient.cs | 29 +- .../Requests/GenerateRemoteKeyRequest.cs | 1 + .../Ticketing/Issues/IssuesClient.cs | 63 +- .../Issues/Requests/IssuesListRequest.cs | 20 +- .../Ticketing/LinkToken/LinkTokenClient.cs | 29 +- .../Requests/EndUserDetailsRequest.cs | 1 + .../LinkedAccounts/LinkedAccountsClient.cs | 29 +- .../Requests/LinkedAccountsListRequest.cs | 29 +- .../Passthrough/PassthroughClient.cs | 29 +- .../Ticketing/Projects/ProjectsClient.cs | 101 +- .../Projects/Requests/ProjectsListRequest.cs | 12 + .../Requests/ProjectsRetrieveRequest.cs | 9 + .../Requests/ProjectsUsersListRequest.cs | 8 + .../RegenerateKey/RegenerateKeyClient.cs | 29 +- .../RemoteKeyForRegenerationRequest.cs | 1 + .../Roles/Requests/RolesListRequest.cs | 12 + .../Roles/Requests/RolesRetrieveRequest.cs | 9 + .../Ticketing/Roles/RolesClient.cs | 67 +- ...ountCommonModelScopeDeserializerRequest.cs | 1 + .../Ticketing/Scopes/ScopesClient.cs | 87 +- .../Requests/SyncStatusListRequest.cs | 4 + .../Ticketing/SyncStatus/SyncStatusClient.cs | 31 +- .../Tags/Requests/TagsListRequest.cs | 12 + .../Tags/Requests/TagsRetrieveRequest.cs | 9 + src/Merge.Client/Ticketing/Tags/TagsClient.cs | 67 +- .../Teams/Requests/TeamsListRequest.cs | 12 + .../Teams/Requests/TeamsRetrieveRequest.cs | 9 + .../Ticketing/Teams/TeamsClient.cs | 67 +- .../Requests/PatchedTicketEndpointRequest.cs | 5 + .../Tickets/Requests/TicketEndpointRequest.cs | 5 + .../Tickets/Requests/TicketsListRequest.cs | 42 +- .../TicketsRemoteFieldClassesListRequest.cs | 14 + .../Requests/TicketsRetrieveRequest.cs | 13 + .../Requests/TicketsViewersListRequest.cs | 8 + .../Ticketing/Tickets/TicketsClient.cs | 268 +- src/Merge.Client/Ticketing/Types/Account.cs | 27 + .../Ticketing/Types/AccountDetails.cs | 22 + .../Types/AccountDetailsAndActions.cs | 20 + .../AccountDetailsAndActionsIntegration.cs | 12 + .../Ticketing/Types/AccountIntegration.cs | 15 + .../Ticketing/Types/AccountToken.cs | 15 + .../Ticketing/Types/AdvancedMetadata.cs | 12 + .../Types/AsyncPassthroughReciept.cs | 12 + .../Ticketing/Types/Attachment.cs | 26 + .../Ticketing/Types/AttachmentRequest.cs | 22 + .../Ticketing/Types/AuditLogEvent.cs | 109 +- .../Ticketing/Types/AvailableActions.cs | 20 + .../Ticketing/Types/Collection.cs | 38 +- src/Merge.Client/Ticketing/Types/Comment.cs | 26 + .../Ticketing/Types/CommentRequest.cs | 22 + .../Ticketing/Types/CommentResponse.cs | 12 + .../Ticketing/Types/CommonModelScopeApi.cs | 12 + .../Types/CommonModelScopesBodyRequest.cs | 12 + src/Merge.Client/Ticketing/Types/Contact.cs | 26 + .../Ticketing/Types/ContactRequest.cs | 22 + .../Ticketing/Types/DataPassthroughRequest.cs | 20 + .../Ticketing/Types/DebugModeLog.cs | 12 + .../Ticketing/Types/DebugModelLogSummary.cs | 12 + .../Ticketing/Types/ErrorValidationProblem.cs | 12 + .../Ticketing/Types/EventTypeEnum.cs | 3 + .../Ticketing/Types/ExternalTargetFieldApi.cs | 15 + .../Types/ExternalTargetFieldApiResponse.cs | 12 + .../Types/FieldMappingApiInstance.cs | 16 + .../FieldMappingApiInstanceRemoteField.cs | 12 + ...piInstanceRemoteFieldRemoteEndpointInfo.cs | 12 + .../Types/FieldMappingApiInstanceResponse.cs | 12 + .../FieldMappingApiInstanceTargetField.cs | 12 + .../Types/FieldMappingInstanceResponse.cs | 12 + .../Types/FieldPermissionDeserializer.cs | 12 + .../FieldPermissionDeserializerRequest.cs | 12 + .../IndividualCommonModelScopeDeserializer.cs | 12 + ...dualCommonModelScopeDeserializerRequest.cs | 12 + src/Merge.Client/Ticketing/Types/Issue.cs | 20 +- .../Ticketing/Types/ItemSchema.cs | 12 + ...tusStatusEnum.cs => LastSyncResultEnum.cs} | 4 +- src/Merge.Client/Ticketing/Types/LinkToken.cs | 12 + .../Ticketing/Types/LinkedAccountStatus.cs | 12 + .../Ticketing/Types/MetaResponse.cs | 12 + .../Ticketing/Types/ModelOperation.cs | 20 + .../Types/ModelPermissionDeserializer.cs | 12 + .../ModelPermissionDeserializerRequest.cs | 12 + .../Types/MultipartFormFieldRequest.cs | 26 +- .../PaginatedAccountDetailsAndActionsList.cs | 12 + .../Ticketing/Types/PaginatedAccountList.cs | 12 + .../Types/PaginatedAttachmentList.cs | 12 + .../Types/PaginatedAuditLogEventList.cs | 12 + .../Types/PaginatedCollectionList.cs | 12 + .../Ticketing/Types/PaginatedCommentList.cs | 12 + .../Ticketing/Types/PaginatedContactList.cs | 12 + .../Ticketing/Types/PaginatedIssueList.cs | 12 + .../Ticketing/Types/PaginatedProjectList.cs | 12 + .../Types/PaginatedRemoteFieldClassList.cs | 12 + .../Ticketing/Types/PaginatedRoleList.cs | 12 + .../Types/PaginatedSyncStatusList.cs | 12 + .../Ticketing/Types/PaginatedTagList.cs | 12 + .../Ticketing/Types/PaginatedTeamList.cs | 12 + .../Ticketing/Types/PaginatedTicketList.cs | 12 + .../Ticketing/Types/PaginatedUserList.cs | 12 + .../Ticketing/Types/PaginatedViewerList.cs | 12 + .../Ticketing/Types/PatchedTicketRequest.cs | 42 +- src/Merge.Client/Ticketing/Types/Project.cs | 25 + .../Ticketing/Types/RemoteData.cs | 21 + .../Ticketing/Types/RemoteEndpointInfo.cs | 12 + .../Ticketing/Types/RemoteField.cs | 14 +- .../Ticketing/Types/RemoteFieldApi.cs | 13 + .../Ticketing/Types/RemoteFieldApiResponse.cs | 12 + .../Ticketing/Types/RemoteFieldClass.cs | 13 + .../Types/RemoteFieldClassFieldChoicesItem.cs | 12 + .../Ticketing/Types/RemoteFieldRequest.cs | 12 + src/Merge.Client/Ticketing/Types/RemoteKey.cs | 20 + .../Ticketing/Types/RemoteResponse.cs | 20 + src/Merge.Client/Ticketing/Types/Role.cs | 31 +- .../Ticketing/Types/StatusFd5Enum.cs | 27 + .../Ticketing/Types/SyncStatus.cs | 28 +- src/Merge.Client/Ticketing/Types/Tag.cs | 25 + src/Merge.Client/Ticketing/Types/Team.cs | 25 + src/Merge.Client/Ticketing/Types/Ticket.cs | 46 +- .../Ticketing/Types/TicketRequest.cs | 42 +- .../Ticketing/Types/TicketResponse.cs | 12 + .../Types/TicketingAttachmentResponse.cs | 12 + .../Types/TicketingContactResponse.cs | 12 + src/Merge.Client/Ticketing/Types/User.cs | 27 + .../Types/ValidationProblemSource.cs | 12 + src/Merge.Client/Ticketing/Types/Viewer.cs | 23 + .../Types/WarningValidationProblem.cs | 12 + .../Ticketing/Types/WebhookReceiver.cs | 12 + .../Users/Requests/UsersListRequest.cs | 20 + .../Users/Requests/UsersRetrieveRequest.cs | 10 + .../Ticketing/Users/UsersClient.cs | 71 +- .../Requests/WebhookReceiverRequest.cs | 1 + .../WebhookReceiversClient.cs | 58 +- 1227 files changed, 60490 insertions(+), 31929 deletions(-) create mode 100644 .editorconfig delete mode 100644 reference.md create mode 100644 src/Merge.Client.Test/Core/Json/DateOnlyJsonTests.cs create mode 100644 src/Merge.Client.Test/Core/Json/DateTimeJsonTests.cs rename src/Merge.Client.Test/Core/{ => Json}/EnumSerializerTests.cs (95%) create mode 100644 src/Merge.Client.Test/Core/Json/JsonAccessAttributeTests.cs rename src/Merge.Client.Test/Core/{ => Json}/OneOfSerializerTests.cs (87%) create mode 100644 src/Merge.Client.Test/Core/QueryStringConverterTests.cs delete mode 100644 src/Merge.Client.Test/Core/RawClientTests.cs create mode 100644 src/Merge.Client.Test/Core/RawClientTests/AdditionalHeadersTests.cs create mode 100644 src/Merge.Client.Test/Core/RawClientTests/AdditionalParametersTests.cs create mode 100644 src/Merge.Client.Test/Core/RawClientTests/MultipartFormTests.cs create mode 100644 src/Merge.Client.Test/Core/RawClientTests/RetriesTests.cs create mode 100644 src/Merge.Client.Test/Utils/JsonElementComparer.cs create mode 100644 src/Merge.Client.Test/Utils/NUnitExtensions.cs create mode 100644 src/Merge.Client.Test/Utils/OneOfComparer.cs create mode 100644 src/Merge.Client.Test/Utils/ReadOnlyMemoryComparer.cs create mode 100644 src/Merge.Client/Accounting/PaymentMethods/PaymentMethodsClient.cs create mode 100644 src/Merge.Client/Accounting/PaymentMethods/Requests/PaymentMethodsListRequest.cs create mode 100644 src/Merge.Client/Accounting/PaymentMethods/Requests/PaymentMethodsRetrieveRequest.cs create mode 100644 src/Merge.Client/Accounting/PaymentTerms/PaymentTermsClient.cs create mode 100644 src/Merge.Client/Accounting/PaymentTerms/Requests/PaymentTermsListRequest.cs create mode 100644 src/Merge.Client/Accounting/PaymentTerms/Requests/PaymentTermsRetrieveRequest.cs rename src/Merge.Client/Accounting/Types/{SyncStatusStatusEnum.cs => LastSyncResultEnum.cs} (82%) create mode 100644 src/Merge.Client/Accounting/Types/MethodTypeEnum.cs create mode 100644 src/Merge.Client/Accounting/Types/PaginatedPaymentMethodList.cs create mode 100644 src/Merge.Client/Accounting/Types/PaginatedPaymentTermList.cs create mode 100644 src/Merge.Client/Accounting/Types/PaymentMethod.cs create mode 100644 src/Merge.Client/Accounting/Types/PaymentTerm.cs create mode 100644 src/Merge.Client/Accounting/Types/StatusFd5Enum.cs rename src/Merge.Client/Ats/Types/{SyncStatusStatusEnum.cs => LastSyncResultEnum.cs} (82%) create mode 100644 src/Merge.Client/Ats/Types/StatusFd5Enum.cs rename src/Merge.Client/{Merge.cs => BaseMergeClient.cs} (78%) create mode 100644 src/Merge.Client/Core/ApiResponse.cs create mode 100644 src/Merge.Client/Core/BaseRequest.cs create mode 100644 src/Merge.Client/Core/DateOnlyConverter.cs create mode 100644 src/Merge.Client/Core/EmptyRequest.cs create mode 100644 src/Merge.Client/Core/EncodingCache.cs create mode 100644 src/Merge.Client/Core/FormUrlEncoder.cs create mode 100644 src/Merge.Client/Core/IIsRetryableContent.cs create mode 100644 src/Merge.Client/Core/JsonAccessAttribute.cs create mode 100644 src/Merge.Client/Core/JsonRequest.cs create mode 100644 src/Merge.Client/Core/MultipartFormRequest.cs rename src/Merge.Client/Core/Public/{MergeApiException.cs => BaseMergeClientApiException.cs} (76%) rename src/Merge.Client/Core/Public/{MergeEnvironment.cs => BaseMergeClientEnvironment.cs} (85%) rename src/Merge.Client/Core/Public/{MergeException.cs => BaseMergeClientException.cs} (67%) create mode 100644 src/Merge.Client/Core/Public/FileParameter.cs create mode 100644 src/Merge.Client/Core/QueryStringConverter.cs create mode 100644 src/Merge.Client/Core/StreamRequest.cs create mode 100644 src/Merge.Client/Core/ValueConvert.cs rename src/Merge.Client/Crm/Types/{SyncStatusStatusEnum.cs => LastSyncResultEnum.cs} (82%) create mode 100644 src/Merge.Client/Crm/Types/StatusFd5Enum.cs create mode 100644 src/Merge.Client/Filestorage/Files/Requests/FilesDownloadRequestMetaListRequest.cs create mode 100644 src/Merge.Client/Filestorage/Files/Requests/FilesDownloadRequestMetaRetrieveRequest.cs create mode 100644 src/Merge.Client/Filestorage/Types/DownloadRequestMeta.cs rename src/Merge.Client/Filestorage/Types/{SyncStatusStatusEnum.cs => LastSyncResultEnum.cs} (82%) create mode 100644 src/Merge.Client/Filestorage/Types/PaginatedDownloadRequestMetaList.cs create mode 100644 src/Merge.Client/Filestorage/Types/StatusFd5Enum.cs rename src/Merge.Client/Hris/Types/{SyncStatusStatusEnum.cs => LastSyncResultEnum.cs} (82%) create mode 100644 src/Merge.Client/Hris/Types/StatusFd5Enum.cs create mode 100644 src/Merge.Client/Ticketing/Collections/Requests/CollectionsViewersListRequest.cs delete mode 100644 src/Merge.Client/Ticketing/Collections/Types/CollectionsListRequestExpand.cs delete mode 100644 src/Merge.Client/Ticketing/Collections/Types/CollectionsRetrieveRequestExpand.cs create mode 100644 src/Merge.Client/Ticketing/Collections/Types/CollectionsViewersListRequestExpand.cs rename src/Merge.Client/Ticketing/Types/{SyncStatusStatusEnum.cs => LastSyncResultEnum.cs} (82%) create mode 100644 src/Merge.Client/Ticketing/Types/StatusFd5Enum.cs diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 00000000..1e7a0adb --- /dev/null +++ b/.editorconfig @@ -0,0 +1,35 @@ +root = true + +[*.cs] +resharper_arrange_object_creation_when_type_evident_highlighting = hint +resharper_auto_property_can_be_made_get_only_global_highlighting = hint +resharper_check_namespace_highlighting = hint +resharper_class_never_instantiated_global_highlighting = hint +resharper_class_never_instantiated_local_highlighting = hint +resharper_collection_never_updated_global_highlighting = hint +resharper_convert_type_check_pattern_to_null_check_highlighting = hint +resharper_inconsistent_naming_highlighting = hint +resharper_member_can_be_private_global_highlighting = hint +resharper_member_hides_static_from_outer_class_highlighting = hint +resharper_not_accessed_field_local_highlighting = hint +resharper_nullable_warning_suppression_is_used_highlighting = suggestion +resharper_partial_type_with_single_part_highlighting = hint +resharper_prefer_concrete_value_over_default_highlighting = none +resharper_private_field_can_be_converted_to_local_variable_highlighting = hint +resharper_property_can_be_made_init_only_global_highlighting = hint +resharper_property_can_be_made_init_only_local_highlighting = hint +resharper_redundant_name_qualifier_highlighting = none +resharper_redundant_using_directive_highlighting = hint +resharper_replace_slice_with_range_indexer_highlighting = none +resharper_unused_auto_property_accessor_global_highlighting = hint +resharper_unused_auto_property_accessor_local_highlighting = hint +resharper_unused_member_global_highlighting = hint +resharper_unused_type_global_highlighting = hint +resharper_use_string_interpolation_highlighting = hint +dotnet_diagnostic.CS1591.severity = suggestion + +[src/**/Types/*.cs] +resharper_check_namespace_highlighting = none + +[src/**/Core/Public/*.cs] +resharper_check_namespace_highlighting = none \ No newline at end of file diff --git a/reference.md b/reference.md deleted file mode 100644 index 44266a18..00000000 --- a/reference.md +++ /dev/null @@ -1,11478 +0,0 @@ -# Reference -## Ats AccountDetails -
client.Ats.AccountDetails.RetrieveAsync() -> Ats.AccountDetails -
-
- -#### 📝 Description - -
-
- -
-
- -Get details for a linked account. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.AccountDetails.RetrieveAsync(); -``` -
-
-
-
- - -
-
-
- -## Ats AccountToken -
client.Ats.AccountToken.RetrieveAsync(publicToken) -> Ats.AccountToken -
-
- -#### 📝 Description - -
-
- -
-
- -Returns the account token for the end user with the provided public token. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.AccountToken.RetrieveAsync("public_token"); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**publicToken:** `string` - -
-
-
-
- - -
-
-
- -## Ats Activities -
client.Ats.Activities.ListAsync(ActivitiesListRequest { ... }) -> PaginatedActivityList -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a list of `Activity` objects. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.Activities.ListAsync(new ActivitiesListRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `ActivitiesListRequest` - -
-
-
-
- - -
-
-
- -
client.Ats.Activities.CreateAsync(ActivityEndpointRequest { ... }) -> ActivityResponse -
-
- -#### 📝 Description - -
-
- -
-
- -Creates an `Activity` object with the given values. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.Activities.CreateAsync( - new ActivityEndpointRequest { Model = new ActivityRequest(), RemoteUserId = "remote_user_id" } -); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `ActivityEndpointRequest` - -
-
-
-
- - -
-
-
- -
client.Ats.Activities.RetrieveAsync(id, ActivitiesRetrieveRequest { ... }) -> Activity -
-
- -#### 📝 Description - -
-
- -
-
- -Returns an `Activity` object with the given `id`. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.Activities.RetrieveAsync("id", new ActivitiesRetrieveRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**id:** `string` - -
-
- -
-
- -**request:** `ActivitiesRetrieveRequest` - -
-
-
-
- - -
-
-
- -
client.Ats.Activities.MetaPostRetrieveAsync() -> Ats.MetaResponse -
-
- -#### 📝 Description - -
-
- -
-
- -Returns metadata for `Activity` POSTs. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.Activities.MetaPostRetrieveAsync(); -``` -
-
-
-
- - -
-
-
- -## Ats Applications -
client.Ats.Applications.ListAsync(ApplicationsListRequest { ... }) -> PaginatedApplicationList -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a list of `Application` objects. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.Applications.ListAsync(new ApplicationsListRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `ApplicationsListRequest` - -
-
-
-
- - -
-
-
- -
client.Ats.Applications.CreateAsync(ApplicationEndpointRequest { ... }) -> ApplicationResponse -
-
- -#### 📝 Description - -
-
- -
-
- -Creates an `Application` object with the given values. -For certain integrations, but not all, our API detects duplicate candidates and will associate applications with existing records in the third-party. New candidates are created and automatically linked to the application. - -See our [Help Center article](https://help.merge.dev/en/articles/10012366-updates-to-post-applications-oct-2024) for detailed support per integration. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.Applications.CreateAsync( - new ApplicationEndpointRequest - { - Model = new ApplicationRequest(), - RemoteUserId = "remote_user_id", - } -); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `ApplicationEndpointRequest` - -
-
-
-
- - -
-
-
- -
client.Ats.Applications.RetrieveAsync(id, ApplicationsRetrieveRequest { ... }) -> Application -
-
- -#### 📝 Description - -
-
- -
-
- -Returns an `Application` object with the given `id`. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.Applications.RetrieveAsync("id", new ApplicationsRetrieveRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**id:** `string` - -
-
- -
-
- -**request:** `ApplicationsRetrieveRequest` - -
-
-
-
- - -
-
-
- -
client.Ats.Applications.ChangeStageCreateAsync(id, UpdateApplicationStageRequest { ... }) -> ApplicationResponse -
-
- -#### 📝 Description - -
-
- -
-
- -Updates the `current_stage` field of an `Application` object -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.Applications.ChangeStageCreateAsync("id", new UpdateApplicationStageRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**id:** `string` - -
-
- -
-
- -**request:** `UpdateApplicationStageRequest` - -
-
-
-
- - -
-
-
- -
client.Ats.Applications.MetaPostRetrieveAsync(ApplicationsMetaPostRetrieveRequest { ... }) -> Ats.MetaResponse -
-
- -#### 📝 Description - -
-
- -
-
- -Returns metadata for `Application` POSTs. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.Applications.MetaPostRetrieveAsync(new ApplicationsMetaPostRetrieveRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `ApplicationsMetaPostRetrieveRequest` - -
-
-
-
- - -
-
-
- -## Ats AsyncPassthrough -
client.Ats.AsyncPassthrough.CreateAsync(Ats.DataPassthroughRequest { ... }) -> Ats.AsyncPassthroughReciept -
-
- -#### 📝 Description - -
-
- -
-
- -Asynchronously pull data from an endpoint not currently supported by Merge. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.AsyncPassthrough.CreateAsync( - new Merge.Client.Ats.DataPassthroughRequest - { - Method = Merge.Client.Ats.MethodEnum.Get, - Path = "/scooters", - } -); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `Ats.DataPassthroughRequest` - -
-
-
-
- - -
-
-
- -
client.Ats.AsyncPassthrough.RetrieveAsync(asyncPassthroughReceiptId) -> OneOf -
-
- -#### 📝 Description - -
-
- -
-
- -Retrieves data from earlier async-passthrough POST request -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.AsyncPassthrough.RetrieveAsync("async_passthrough_receipt_id"); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**asyncPassthroughReceiptId:** `string` - -
-
-
-
- - -
-
-
- -## Ats Attachments -
client.Ats.Attachments.ListAsync(AttachmentsListRequest { ... }) -> Ats.PaginatedAttachmentList -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a list of `Attachment` objects. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.Attachments.ListAsync(new AttachmentsListRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `AttachmentsListRequest` - -
-
-
-
- - -
-
-
- -
client.Ats.Attachments.CreateAsync(AttachmentEndpointRequest { ... }) -> AttachmentResponse -
-
- -#### 📝 Description - -
-
- -
-
- -Creates an `Attachment` object with the given values. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.Attachments.CreateAsync( - new AttachmentEndpointRequest - { - Model = new Merge.Client.Ats.AttachmentRequest(), - RemoteUserId = "remote_user_id", - } -); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `AttachmentEndpointRequest` - -
-
-
-
- - -
-
-
- -
client.Ats.Attachments.RetrieveAsync(id, AttachmentsRetrieveRequest { ... }) -> Ats.Attachment -
-
- -#### 📝 Description - -
-
- -
-
- -Returns an `Attachment` object with the given `id`. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.Attachments.RetrieveAsync("id", new AttachmentsRetrieveRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**id:** `string` - -
-
- -
-
- -**request:** `AttachmentsRetrieveRequest` - -
-
-
-
- - -
-
-
- -
client.Ats.Attachments.MetaPostRetrieveAsync() -> Ats.MetaResponse -
-
- -#### 📝 Description - -
-
- -
-
- -Returns metadata for `Attachment` POSTs. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.Attachments.MetaPostRetrieveAsync(); -``` -
-
-
-
- - -
-
-
- -## Ats AuditTrail -
client.Ats.AuditTrail.ListAsync(AuditTrailListRequest { ... }) -> Ats.PaginatedAuditLogEventList -
-
- -#### 📝 Description - -
-
- -
-
- -Gets a list of audit trail events. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.AuditTrail.ListAsync(new AuditTrailListRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `AuditTrailListRequest` - -
-
-
-
- - -
-
-
- -## Ats AvailableActions -
client.Ats.AvailableActions.RetrieveAsync() -> Ats.AvailableActions -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a list of models and actions available for an account. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.AvailableActions.RetrieveAsync(); -``` -
-
-
-
- - -
-
-
- -## Ats Candidates -
client.Ats.Candidates.ListAsync(CandidatesListRequest { ... }) -> PaginatedCandidateList -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a list of `Candidate` objects. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.Candidates.ListAsync(new CandidatesListRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `CandidatesListRequest` - -
-
-
-
- - -
-
-
- -
client.Ats.Candidates.CreateAsync(CandidateEndpointRequest { ... }) -> CandidateResponse -
-
- -#### 📝 Description - -
-
- -
-
- -Creates a `Candidate` object with the given values. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.Candidates.CreateAsync( - new CandidateEndpointRequest { Model = new CandidateRequest(), RemoteUserId = "remote_user_id" } -); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `CandidateEndpointRequest` - -
-
-
-
- - -
-
-
- -
client.Ats.Candidates.RetrieveAsync(id, CandidatesRetrieveRequest { ... }) -> Candidate -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a `Candidate` object with the given `id`. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.Candidates.RetrieveAsync("id", new CandidatesRetrieveRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**id:** `string` - -
-
- -
-
- -**request:** `CandidatesRetrieveRequest` - -
-
-
-
- - -
-
-
- -
client.Ats.Candidates.PartialUpdateAsync(id, PatchedCandidateEndpointRequest { ... }) -> CandidateResponse -
-
- -#### 📝 Description - -
-
- -
-
- -Updates a `Candidate` object with the given `id`. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.Candidates.PartialUpdateAsync( - "id", - new PatchedCandidateEndpointRequest - { - Model = new PatchedCandidateRequest(), - RemoteUserId = "remote_user_id", - } -); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**id:** `string` - -
-
- -
-
- -**request:** `PatchedCandidateEndpointRequest` - -
-
-
-
- - -
-
-
- -
client.Ats.Candidates.IgnoreCreateAsync(modelId, Ats.IgnoreCommonModelRequest { ... }) -
-
- -#### 📝 Description - -
-
- -
-
- -Ignores a specific row based on the `model_id` in the url. These records will have their properties set to null, and will not be updated in future syncs. The "reason" and "message" fields in the request body will be stored for audit purposes. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.Candidates.IgnoreCreateAsync( - "model_id", - new Merge.Client.Ats.IgnoreCommonModelRequest - { - Reason = Merge.Client.Ats.ReasonEnum.GeneralCustomerRequest, - } -); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**modelId:** `string` - -
-
- -
-
- -**request:** `Ats.IgnoreCommonModelRequest` - -
-
-
-
- - -
-
-
- -
client.Ats.Candidates.MetaPatchRetrieveAsync(id) -> Ats.MetaResponse -
-
- -#### 📝 Description - -
-
- -
-
- -Returns metadata for `Candidate` PATCHs. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.Candidates.MetaPatchRetrieveAsync("id"); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**id:** `string` - -
-
-
-
- - -
-
-
- -
client.Ats.Candidates.MetaPostRetrieveAsync() -> Ats.MetaResponse -
-
- -#### 📝 Description - -
-
- -
-
- -Returns metadata for `Candidate` POSTs. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.Candidates.MetaPostRetrieveAsync(); -``` -
-
-
-
- - -
-
-
- -## Ats Scopes -
client.Ats.Scopes.DefaultScopesRetrieveAsync() -> Ats.CommonModelScopeApi -
-
- -#### 📝 Description - -
-
- -
-
- -Get the default permissions for Merge Common Models and fields across all Linked Accounts of a given category. [Learn more](https://help.merge.dev/en/articles/5950052-common-model-and-field-scopes). -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.Scopes.DefaultScopesRetrieveAsync(); -``` -
-
-
-
- - -
-
-
- -
client.Ats.Scopes.LinkedAccountScopesRetrieveAsync() -> Ats.CommonModelScopeApi -
-
- -#### 📝 Description - -
-
- -
-
- -Get all available permissions for Merge Common Models and fields for a single Linked Account. [Learn more](https://help.merge.dev/en/articles/5950052-common-model-and-field-scopes). -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.Scopes.LinkedAccountScopesRetrieveAsync(); -``` -
-
-
-
- - -
-
-
- -
client.Ats.Scopes.LinkedAccountScopesCreateAsync(LinkedAccountCommonModelScopeDeserializerRequest { ... }) -> Ats.CommonModelScopeApi -
-
- -#### 📝 Description - -
-
- -
-
- -Update permissions for any Common Model or field for a single Linked Account. Any Scopes not set in this POST request will inherit the default Scopes. [Learn more](https://help.merge.dev/en/articles/5950052-common-model-and-field-scopes) -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.Scopes.LinkedAccountScopesCreateAsync( - new LinkedAccountCommonModelScopeDeserializerRequest - { - CommonModels = new List() - { - new Merge.Client.Ats.IndividualCommonModelScopeDeserializerRequest - { - ModelName = "Employee", - ModelPermissions = new Dictionary< - string, - Merge.Client.Ats.ModelPermissionDeserializerRequest - >() - { - { - "READ", - new Merge.Client.Ats.ModelPermissionDeserializerRequest { IsEnabled = true } - }, - { - "WRITE", - new Merge.Client.Ats.ModelPermissionDeserializerRequest - { - IsEnabled = false, - } - }, - }, - FieldPermissions = new Merge.Client.Ats.FieldPermissionDeserializerRequest - { - EnabledFields = new List() { "avatar", "home_location" }, - DisabledFields = new List() { "work_location" }, - }, - }, - new Merge.Client.Ats.IndividualCommonModelScopeDeserializerRequest - { - ModelName = "Benefit", - ModelPermissions = new Dictionary< - string, - Merge.Client.Ats.ModelPermissionDeserializerRequest - >() - { - { - "WRITE", - new Merge.Client.Ats.ModelPermissionDeserializerRequest - { - IsEnabled = false, - } - }, - }, - }, - }, - } -); -``` - - - - - -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `LinkedAccountCommonModelScopeDeserializerRequest` - -
-
-
-
- - - - - - -## Ats DeleteAccount -
client.Ats.DeleteAccount.DeleteAsync() -
-
- -#### 📝 Description - -
-
- -
-
- -Delete a linked account. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.DeleteAccount.DeleteAsync(); -``` -
-
-
-
- - -
-
-
- -## Ats Departments -
client.Ats.Departments.ListAsync(DepartmentsListRequest { ... }) -> PaginatedDepartmentList -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a list of `Department` objects. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.Departments.ListAsync(new DepartmentsListRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `DepartmentsListRequest` - -
-
-
-
- - -
-
-
- -
client.Ats.Departments.RetrieveAsync(id, DepartmentsRetrieveRequest { ... }) -> Department -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a `Department` object with the given `id`. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.Departments.RetrieveAsync("id", new DepartmentsRetrieveRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**id:** `string` - -
-
- -
-
- -**request:** `DepartmentsRetrieveRequest` - -
-
-
-
- - -
-
-
- -## Ats Eeocs -
client.Ats.Eeocs.ListAsync(EeocsListRequest { ... }) -> PaginatedEeocList -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a list of `EEOC` objects. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.Eeocs.ListAsync(new EeocsListRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `EeocsListRequest` - -
-
-
-
- - -
-
-
- -
client.Ats.Eeocs.RetrieveAsync(id, EeocsRetrieveRequest { ... }) -> Eeoc -
-
- -#### 📝 Description - -
-
- -
-
- -Returns an `EEOC` object with the given `id`. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.Eeocs.RetrieveAsync("id", new EeocsRetrieveRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**id:** `string` - -
-
- -
-
- -**request:** `EeocsRetrieveRequest` - -
-
-
-
- - -
-
-
- -## Ats FieldMapping -
client.Ats.FieldMapping.FieldMappingsRetrieveAsync(FieldMappingsRetrieveRequest { ... }) -> Ats.FieldMappingApiInstanceResponse -
-
- -#### 📝 Description - -
-
- -
-
- -Get all Field Mappings for this Linked Account. Field Mappings are mappings between third-party Remote Fields and user defined Merge fields. [Learn more](https://docs.merge.dev/supplemental-data/field-mappings/overview/). -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.FieldMapping.FieldMappingsRetrieveAsync(new FieldMappingsRetrieveRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `FieldMappingsRetrieveRequest` - -
-
-
-
- - -
-
-
- -
client.Ats.FieldMapping.FieldMappingsCreateAsync(CreateFieldMappingRequest { ... }) -> Ats.FieldMappingInstanceResponse -
-
- -#### 📝 Description - -
-
- -
-
- -Create new Field Mappings that will be available after the next scheduled sync. This will cause the next sync for this Linked Account to sync **ALL** data from start. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.FieldMapping.FieldMappingsCreateAsync( - new CreateFieldMappingRequest - { - TargetFieldName = "example_target_field_name", - TargetFieldDescription = "this is a example description of the target field", - RemoteFieldTraversalPath = new List() { "example_remote_field" }, - RemoteMethod = "GET", - RemoteUrlPath = "/example-url-path", - CommonModelName = "ExampleCommonModel", - } -); -``` - - - - - -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `CreateFieldMappingRequest` - -
-
-
-
- - - - - - -
client.Ats.FieldMapping.FieldMappingsDestroyAsync(fieldMappingId) -> Ats.FieldMappingInstanceResponse -
-
- -#### 📝 Description - -
-
- -
-
- -Deletes Field Mappings for a Linked Account. All data related to this Field Mapping will be deleted and these changes will be reflected after the next scheduled sync. This will cause the next sync for this Linked Account to sync **ALL** data from start. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.FieldMapping.FieldMappingsDestroyAsync("field_mapping_id"); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**fieldMappingId:** `string` - -
-
-
-
- - -
-
-
- -
client.Ats.FieldMapping.FieldMappingsPartialUpdateAsync(fieldMappingId, PatchedEditFieldMappingRequest { ... }) -> Ats.FieldMappingInstanceResponse -
-
- -#### 📝 Description - -
-
- -
-
- -Create or update existing Field Mappings for a Linked Account. Changes will be reflected after the next scheduled sync. This will cause the next sync for this Linked Account to sync **ALL** data from start. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.FieldMapping.FieldMappingsPartialUpdateAsync( - "field_mapping_id", - new PatchedEditFieldMappingRequest() -); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**fieldMappingId:** `string` - -
-
- -
-
- -**request:** `PatchedEditFieldMappingRequest` - -
-
-
-
- - -
-
-
- -
client.Ats.FieldMapping.RemoteFieldsRetrieveAsync(RemoteFieldsRetrieveRequest { ... }) -> Ats.RemoteFieldApiResponse -
-
- -#### 📝 Description - -
-
- -
-
- -Get all remote fields for a Linked Account. Remote fields are third-party fields that are accessible after initial sync if remote_data is enabled. You can use remote fields to override existing Merge fields or map a new Merge field. [Learn more](https://docs.merge.dev/supplemental-data/field-mappings/overview/). -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.FieldMapping.RemoteFieldsRetrieveAsync(new RemoteFieldsRetrieveRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `RemoteFieldsRetrieveRequest` - -
-
-
-
- - -
-
-
- -
client.Ats.FieldMapping.TargetFieldsRetrieveAsync() -> Ats.ExternalTargetFieldApiResponse -
-
- -#### 📝 Description - -
-
- -
-
- -Get all organization-wide Target Fields, this will not include any Linked Account specific Target Fields. Organization-wide Target Fields are additional fields appended to the Merge Common Model for all Linked Accounts in a category. [Learn more](https://docs.merge.dev/supplemental-data/field-mappings/target-fields/). -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.FieldMapping.TargetFieldsRetrieveAsync(); -``` -
-
-
-
- - -
-
-
- -## Ats GenerateKey -
client.Ats.GenerateKey.CreateAsync(GenerateRemoteKeyRequest { ... }) -> Ats.RemoteKey -
-
- -#### 📝 Description - -
-
- -
-
- -Create a remote key. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.GenerateKey.CreateAsync( - new GenerateRemoteKeyRequest { Name = "Remote Deployment Key 1" } -); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `GenerateRemoteKeyRequest` - -
-
-
-
- - -
-
-
- -## Ats Interviews -
client.Ats.Interviews.ListAsync(InterviewsListRequest { ... }) -> PaginatedScheduledInterviewList -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a list of `ScheduledInterview` objects. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.Interviews.ListAsync(new InterviewsListRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `InterviewsListRequest` - -
-
-
-
- - -
-
-
- -
client.Ats.Interviews.CreateAsync(ScheduledInterviewEndpointRequest { ... }) -> ScheduledInterviewResponse -
-
- -#### 📝 Description - -
-
- -
-
- -Creates a `ScheduledInterview` object with the given values. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.Interviews.CreateAsync( - new ScheduledInterviewEndpointRequest - { - Model = new ScheduledInterviewRequest(), - RemoteUserId = "remote_user_id", - } -); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `ScheduledInterviewEndpointRequest` - -
-
-
-
- - -
-
-
- -
client.Ats.Interviews.RetrieveAsync(id, InterviewsRetrieveRequest { ... }) -> ScheduledInterview -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a `ScheduledInterview` object with the given `id`. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.Interviews.RetrieveAsync("id", new InterviewsRetrieveRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**id:** `string` - -
-
- -
-
- -**request:** `InterviewsRetrieveRequest` - -
-
-
-
- - -
-
-
- -
client.Ats.Interviews.MetaPostRetrieveAsync() -> Ats.MetaResponse -
-
- -#### 📝 Description - -
-
- -
-
- -Returns metadata for `ScheduledInterview` POSTs. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.Interviews.MetaPostRetrieveAsync(); -``` -
-
-
-
- - -
-
-
- -## Ats Issues -
client.Ats.Issues.ListAsync(IssuesListRequest { ... }) -> Ats.PaginatedIssueList -
-
- -#### 📝 Description - -
-
- -
-
- -Gets all issues for Organization. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.Issues.ListAsync(new IssuesListRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `IssuesListRequest` - -
-
-
-
- - -
-
-
- -
client.Ats.Issues.RetrieveAsync(id) -> Ats.Issue -
-
- -#### 📝 Description - -
-
- -
-
- -Get a specific issue. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.Issues.RetrieveAsync("id"); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**id:** `string` - -
-
-
-
- - -
-
-
- -## Ats JobInterviewStages -
client.Ats.JobInterviewStages.ListAsync(JobInterviewStagesListRequest { ... }) -> PaginatedJobInterviewStageList -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a list of `JobInterviewStage` objects. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.JobInterviewStages.ListAsync(new JobInterviewStagesListRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `JobInterviewStagesListRequest` - -
-
-
-
- - -
-
-
- -
client.Ats.JobInterviewStages.RetrieveAsync(id, JobInterviewStagesRetrieveRequest { ... }) -> JobInterviewStage -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a `JobInterviewStage` object with the given `id`. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.JobInterviewStages.RetrieveAsync("id", new JobInterviewStagesRetrieveRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**id:** `string` - -
-
- -
-
- -**request:** `JobInterviewStagesRetrieveRequest` - -
-
-
-
- - -
-
-
- -## Ats JobPostings -
client.Ats.JobPostings.ListAsync(JobPostingsListRequest { ... }) -> PaginatedJobPostingList -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a list of `JobPosting` objects. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.JobPostings.ListAsync(new JobPostingsListRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `JobPostingsListRequest` - -
-
-
-
- - -
-
-
- -
client.Ats.JobPostings.RetrieveAsync(id, JobPostingsRetrieveRequest { ... }) -> JobPosting -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a `JobPosting` object with the given `id`. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.JobPostings.RetrieveAsync("id", new JobPostingsRetrieveRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**id:** `string` - -
-
- -
-
- -**request:** `JobPostingsRetrieveRequest` - -
-
-
-
- - -
-
-
- -## Ats Jobs -
client.Ats.Jobs.ListAsync(JobsListRequest { ... }) -> PaginatedJobList -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a list of `Job` objects. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.Jobs.ListAsync(new JobsListRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `JobsListRequest` - -
-
-
-
- - -
-
-
- -
client.Ats.Jobs.RetrieveAsync(id, JobsRetrieveRequest { ... }) -> Job -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a `Job` object with the given `id`. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.Jobs.RetrieveAsync("id", new JobsRetrieveRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**id:** `string` - -
-
- -
-
- -**request:** `JobsRetrieveRequest` - -
-
-
-
- - -
-
-
- -
client.Ats.Jobs.ScreeningQuestionsListAsync(jobId, JobsScreeningQuestionsListRequest { ... }) -> PaginatedScreeningQuestionList -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a list of `ScreeningQuestion` objects. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.Jobs.ScreeningQuestionsListAsync( - "job_id", - new JobsScreeningQuestionsListRequest() -); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**jobId:** `string` - -
-
- -
-
- -**request:** `JobsScreeningQuestionsListRequest` - -
-
-
-
- - -
-
-
- -## Ats LinkToken -
client.Ats.LinkToken.CreateAsync(EndUserDetailsRequest { ... }) -> Ats.LinkToken -
-
- -#### 📝 Description - -
-
- -
-
- -Creates a link token to be used when linking a new end user. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.LinkToken.CreateAsync( - new EndUserDetailsRequest - { - EndUserEmailAddress = "example@gmail.com", - EndUserOrganizationName = "Test Organization", - EndUserOriginId = "12345", - Categories = new List() - { - Merge.Client.Ats.CategoriesEnum.Hris, - Merge.Client.Ats.CategoriesEnum.Ats, - }, - } -); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `EndUserDetailsRequest` - -
-
-
-
- - -
-
-
- -## Ats LinkedAccounts -
client.Ats.LinkedAccounts.ListAsync(LinkedAccountsListRequest { ... }) -> Ats.PaginatedAccountDetailsAndActionsList -
-
- -#### 📝 Description - -
-
- -
-
- -List linked accounts for your organization. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.LinkedAccounts.ListAsync(new LinkedAccountsListRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `LinkedAccountsListRequest` - -
-
-
-
- - -
-
-
- -## Ats Offers -
client.Ats.Offers.ListAsync(OffersListRequest { ... }) -> PaginatedOfferList -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a list of `Offer` objects. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.Offers.ListAsync(new OffersListRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `OffersListRequest` - -
-
-
-
- - -
-
-
- -
client.Ats.Offers.RetrieveAsync(id, OffersRetrieveRequest { ... }) -> Offer -
-
- -#### 📝 Description - -
-
- -
-
- -Returns an `Offer` object with the given `id`. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.Offers.RetrieveAsync("id", new OffersRetrieveRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**id:** `string` - -
-
- -
-
- -**request:** `OffersRetrieveRequest` - -
-
-
-
- - -
-
-
- -## Ats Offices -
client.Ats.Offices.ListAsync(OfficesListRequest { ... }) -> PaginatedOfficeList -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a list of `Office` objects. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.Offices.ListAsync(new OfficesListRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `OfficesListRequest` - -
-
-
-
- - -
-
-
- -
client.Ats.Offices.RetrieveAsync(id, OfficesRetrieveRequest { ... }) -> Office -
-
- -#### 📝 Description - -
-
- -
-
- -Returns an `Office` object with the given `id`. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.Offices.RetrieveAsync("id", new OfficesRetrieveRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**id:** `string` - -
-
- -
-
- -**request:** `OfficesRetrieveRequest` - -
-
-
-
- - -
-
-
- -## Ats Passthrough -
client.Ats.Passthrough.CreateAsync(Ats.DataPassthroughRequest { ... }) -> Ats.RemoteResponse -
-
- -#### 📝 Description - -
-
- -
-
- -Pull data from an endpoint not currently supported by Merge. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.Passthrough.CreateAsync( - new Merge.Client.Ats.DataPassthroughRequest - { - Method = Merge.Client.Ats.MethodEnum.Get, - Path = "/scooters", - } -); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `Ats.DataPassthroughRequest` - -
-
-
-
- - -
-
-
- -## Ats RegenerateKey -
client.Ats.RegenerateKey.CreateAsync(RemoteKeyForRegenerationRequest { ... }) -> Ats.RemoteKey -
-
- -#### 📝 Description - -
-
- -
-
- -Exchange remote keys. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.RegenerateKey.CreateAsync( - new RemoteKeyForRegenerationRequest { Name = "Remote Deployment Key 1" } -); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `RemoteKeyForRegenerationRequest` - -
-
-
-
- - -
-
-
- -## Ats RejectReasons -
client.Ats.RejectReasons.ListAsync(RejectReasonsListRequest { ... }) -> PaginatedRejectReasonList -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a list of `RejectReason` objects. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.RejectReasons.ListAsync(new RejectReasonsListRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `RejectReasonsListRequest` - -
-
-
-
- - -
-
-
- -
client.Ats.RejectReasons.RetrieveAsync(id, RejectReasonsRetrieveRequest { ... }) -> RejectReason -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a `RejectReason` object with the given `id`. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.RejectReasons.RetrieveAsync("id", new RejectReasonsRetrieveRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**id:** `string` - -
-
- -
-
- -**request:** `RejectReasonsRetrieveRequest` - -
-
-
-
- - -
-
-
- -## Ats Scorecards -
client.Ats.Scorecards.ListAsync(ScorecardsListRequest { ... }) -> PaginatedScorecardList -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a list of `Scorecard` objects. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.Scorecards.ListAsync(new ScorecardsListRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `ScorecardsListRequest` - -
-
-
-
- - -
-
-
- -
client.Ats.Scorecards.RetrieveAsync(id, ScorecardsRetrieveRequest { ... }) -> Scorecard -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a `Scorecard` object with the given `id`. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.Scorecards.RetrieveAsync("id", new ScorecardsRetrieveRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**id:** `string` - -
-
- -
-
- -**request:** `ScorecardsRetrieveRequest` - -
-
-
-
- - -
-
-
- -## Ats SyncStatus -
client.Ats.SyncStatus.ListAsync(SyncStatusListRequest { ... }) -> Ats.PaginatedSyncStatusList -
-
- -#### 📝 Description - -
-
- -
-
- -Get syncing status. Possible values: `DISABLED`, `DONE`, `FAILED`, `PARTIALLY_SYNCED`, `PAUSED`, `SYNCING`. Learn more about sync status in our [Help Center](https://help.merge.dev/en/articles/8184193-merge-sync-statuses). -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.SyncStatus.ListAsync(new SyncStatusListRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `SyncStatusListRequest` - -
-
-
-
- - -
-
-
- -## Ats ForceResync -
client.Ats.ForceResync.SyncStatusResyncCreateAsync() -> IEnumerable -
-
- -#### 📝 Description - -
-
- -
-
- -Force re-sync of all models. This is available for all organizations via the dashboard. Force re-sync is also available programmatically via API for monthly, quarterly, and highest sync frequency customers on the Professional or Enterprise plans. Doing so will consume a sync credit for the relevant linked account. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.ForceResync.SyncStatusResyncCreateAsync(); -``` -
-
-
-
- - -
-
-
- -## Ats Tags -
client.Ats.Tags.ListAsync(TagsListRequest { ... }) -> Ats.PaginatedTagList -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a list of `Tag` objects. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.Tags.ListAsync(new TagsListRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `TagsListRequest` - -
-
-
-
- - -
-
-
- -## Ats Users -
client.Ats.Users.ListAsync(UsersListRequest { ... }) -> PaginatedRemoteUserList -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a list of `RemoteUser` objects. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.Users.ListAsync(new UsersListRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `UsersListRequest` - -
-
-
-
- - -
-
-
- -
client.Ats.Users.RetrieveAsync(id, UsersRetrieveRequest { ... }) -> RemoteUser -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a `RemoteUser` object with the given `id`. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.Users.RetrieveAsync("id", new UsersRetrieveRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**id:** `string` - -
-
- -
-
- -**request:** `UsersRetrieveRequest` - -
-
-
-
- - -
-
-
- -## Ats WebhookReceivers -
client.Ats.WebhookReceivers.ListAsync() -> IEnumerable -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a list of `WebhookReceiver` objects. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.WebhookReceivers.ListAsync(); -``` -
-
-
-
- - -
-
-
- -
client.Ats.WebhookReceivers.CreateAsync(WebhookReceiverRequest { ... }) -> Ats.WebhookReceiver -
-
- -#### 📝 Description - -
-
- -
-
- -Creates a `WebhookReceiver` object with the given values. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Ats.WebhookReceivers.CreateAsync( - new WebhookReceiverRequest { Event = "event", IsActive = true } -); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `WebhookReceiverRequest` - -
-
-
-
- - -
-
-
- -## Crm AccountDetails -
client.Crm.AccountDetails.RetrieveAsync() -> Crm.AccountDetails -
-
- -#### 📝 Description - -
-
- -
-
- -Get details for a linked account. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.AccountDetails.RetrieveAsync(); -``` -
-
-
-
- - -
-
-
- -## Crm AccountToken -
client.Crm.AccountToken.RetrieveAsync(publicToken) -> Crm.AccountToken -
-
- -#### 📝 Description - -
-
- -
-
- -Returns the account token for the end user with the provided public token. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.AccountToken.RetrieveAsync("public_token"); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**publicToken:** `string` - -
-
-
-
- - -
-
-
- -## Crm Accounts -
client.Crm.Accounts.ListAsync(AccountsListRequest { ... }) -> Crm.PaginatedAccountList -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a list of `Account` objects. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.Accounts.ListAsync(new AccountsListRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `AccountsListRequest` - -
-
-
-
- - -
-
-
- -
client.Crm.Accounts.CreateAsync(CrmAccountEndpointRequest { ... }) -> CrmAccountResponse -
-
- -#### 📝 Description - -
-
- -
-
- -Creates an `Account` object with the given values. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.Accounts.CreateAsync( - new CrmAccountEndpointRequest { Model = new Merge.Client.Crm.AccountRequest() } -); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `CrmAccountEndpointRequest` - -
-
-
-
- - -
-
-
- -
client.Crm.Accounts.RetrieveAsync(id, AccountsRetrieveRequest { ... }) -> Crm.Account -
-
- -#### 📝 Description - -
-
- -
-
- -Returns an `Account` object with the given `id`. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.Accounts.RetrieveAsync("id", new AccountsRetrieveRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**id:** `string` - -
-
- -
-
- -**request:** `AccountsRetrieveRequest` - -
-
-
-
- - -
-
-
- -
client.Crm.Accounts.PartialUpdateAsync(id, PatchedCrmAccountEndpointRequest { ... }) -> CrmAccountResponse -
-
- -#### 📝 Description - -
-
- -
-
- -Updates an `Account` object with the given `id`. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.Accounts.PartialUpdateAsync( - "id", - new PatchedCrmAccountEndpointRequest { Model = new PatchedAccountRequest() } -); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**id:** `string` - -
-
- -
-
- -**request:** `PatchedCrmAccountEndpointRequest` - -
-
-
-
- - -
-
-
- -
client.Crm.Accounts.MetaPatchRetrieveAsync(id) -> Crm.MetaResponse -
-
- -#### 📝 Description - -
-
- -
-
- -Returns metadata for `CRMAccount` PATCHs. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.Accounts.MetaPatchRetrieveAsync("id"); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**id:** `string` - -
-
-
-
- - -
-
-
- -
client.Crm.Accounts.MetaPostRetrieveAsync() -> Crm.MetaResponse -
-
- -#### 📝 Description - -
-
- -
-
- -Returns metadata for `CRMAccount` POSTs. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.Accounts.MetaPostRetrieveAsync(); -``` -
-
-
-
- - -
-
-
- -
client.Crm.Accounts.RemoteFieldClassesListAsync(AccountsRemoteFieldClassesListRequest { ... }) -> Crm.PaginatedRemoteFieldClassList -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a list of `RemoteFieldClass` objects. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.Accounts.RemoteFieldClassesListAsync(new AccountsRemoteFieldClassesListRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `AccountsRemoteFieldClassesListRequest` - -
-
-
-
- - -
-
-
- -## Crm AsyncPassthrough -
client.Crm.AsyncPassthrough.CreateAsync(Crm.DataPassthroughRequest { ... }) -> Crm.AsyncPassthroughReciept -
-
- -#### 📝 Description - -
-
- -
-
- -Asynchronously pull data from an endpoint not currently supported by Merge. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.AsyncPassthrough.CreateAsync( - new Merge.Client.Crm.DataPassthroughRequest - { - Method = Merge.Client.Crm.MethodEnum.Get, - Path = "/scooters", - } -); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `Crm.DataPassthroughRequest` - -
-
-
-
- - -
-
-
- -
client.Crm.AsyncPassthrough.RetrieveAsync(asyncPassthroughReceiptId) -> OneOf -
-
- -#### 📝 Description - -
-
- -
-
- -Retrieves data from earlier async-passthrough POST request -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.AsyncPassthrough.RetrieveAsync("async_passthrough_receipt_id"); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**asyncPassthroughReceiptId:** `string` - -
-
-
-
- - -
-
-
- -## Crm AuditTrail -
client.Crm.AuditTrail.ListAsync(AuditTrailListRequest { ... }) -> Crm.PaginatedAuditLogEventList -
-
- -#### 📝 Description - -
-
- -
-
- -Gets a list of audit trail events. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.AuditTrail.ListAsync(new AuditTrailListRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `AuditTrailListRequest` - -
-
-
-
- - -
-
-
- -## Crm AvailableActions -
client.Crm.AvailableActions.RetrieveAsync() -> Crm.AvailableActions -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a list of models and actions available for an account. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.AvailableActions.RetrieveAsync(); -``` -
-
-
-
- - -
-
-
- -## Crm Contacts -
client.Crm.Contacts.ListAsync(ContactsListRequest { ... }) -> Crm.PaginatedContactList -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a list of `Contact` objects. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.Contacts.ListAsync(new ContactsListRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `ContactsListRequest` - -
-
-
-
- - -
-
-
- -
client.Crm.Contacts.CreateAsync(CrmContactEndpointRequest { ... }) -> CrmContactResponse -
-
- -#### 📝 Description - -
-
- -
-
- -Creates a `Contact` object with the given values. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.Contacts.CreateAsync( - new CrmContactEndpointRequest { Model = new Merge.Client.Crm.ContactRequest() } -); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `CrmContactEndpointRequest` - -
-
-
-
- - -
-
-
- -
client.Crm.Contacts.RetrieveAsync(id, ContactsRetrieveRequest { ... }) -> Crm.Contact -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a `Contact` object with the given `id`. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.Contacts.RetrieveAsync("id", new ContactsRetrieveRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**id:** `string` - -
-
- -
-
- -**request:** `ContactsRetrieveRequest` - -
-
-
-
- - -
-
-
- -
client.Crm.Contacts.PartialUpdateAsync(id, PatchedCrmContactEndpointRequest { ... }) -> CrmContactResponse -
-
- -#### 📝 Description - -
-
- -
-
- -Updates a `Contact` object with the given `id`. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.Contacts.PartialUpdateAsync( - "id", - new PatchedCrmContactEndpointRequest { Model = new PatchedContactRequest() } -); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**id:** `string` - -
-
- -
-
- -**request:** `PatchedCrmContactEndpointRequest` - -
-
-
-
- - -
-
-
- -
client.Crm.Contacts.IgnoreCreateAsync(modelId, IgnoreCommonModelRequest { ... }) -
-
- -#### 📝 Description - -
-
- -
-
- -Ignores a specific row based on the `model_id` in the url. These records will have their properties set to null, and will not be updated in future syncs. The "reason" and "message" fields in the request body will be stored for audit purposes. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.Contacts.IgnoreCreateAsync( - "model_id", - new IgnoreCommonModelRequest { Reason = Merge.Client.Crm.ReasonEnum.GeneralCustomerRequest } -); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**modelId:** `string` - -
-
- -
-
- -**request:** `IgnoreCommonModelRequest` - -
-
-
-
- - -
-
-
- -
client.Crm.Contacts.MetaPatchRetrieveAsync(id) -> Crm.MetaResponse -
-
- -#### 📝 Description - -
-
- -
-
- -Returns metadata for `CRMContact` PATCHs. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.Contacts.MetaPatchRetrieveAsync("id"); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**id:** `string` - -
-
-
-
- - -
-
-
- -
client.Crm.Contacts.MetaPostRetrieveAsync() -> Crm.MetaResponse -
-
- -#### 📝 Description - -
-
- -
-
- -Returns metadata for `CRMContact` POSTs. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.Contacts.MetaPostRetrieveAsync(); -``` -
-
-
-
- - -
-
-
- -
client.Crm.Contacts.RemoteFieldClassesListAsync(ContactsRemoteFieldClassesListRequest { ... }) -> Crm.PaginatedRemoteFieldClassList -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a list of `RemoteFieldClass` objects. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.Contacts.RemoteFieldClassesListAsync(new ContactsRemoteFieldClassesListRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `ContactsRemoteFieldClassesListRequest` - -
-
-
-
- - -
-
-
- -## Crm CustomObjectClasses -
client.Crm.CustomObjectClasses.ListAsync(CustomObjectClassesListRequest { ... }) -> PaginatedCustomObjectClassList -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a list of `CustomObjectClass` objects. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.CustomObjectClasses.ListAsync(new CustomObjectClassesListRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `CustomObjectClassesListRequest` - -
-
-
-
- - -
-
-
- -
client.Crm.CustomObjectClasses.RetrieveAsync(id, CustomObjectClassesRetrieveRequest { ... }) -> CustomObjectClass -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a `CustomObjectClass` object with the given `id`. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.CustomObjectClasses.RetrieveAsync("id", new CustomObjectClassesRetrieveRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**id:** `string` - -
-
- -
-
- -**request:** `CustomObjectClassesRetrieveRequest` - -
-
-
-
- - -
-
-
- -## Crm AssociationTypes -
client.Crm.AssociationTypes.CustomObjectClassesAssociationTypesListAsync(customObjectClassId, CustomObjectClassesAssociationTypesListRequest { ... }) -> PaginatedAssociationTypeList -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a list of `AssociationType` objects. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.AssociationTypes.CustomObjectClassesAssociationTypesListAsync( - "custom_object_class_id", - new CustomObjectClassesAssociationTypesListRequest() -); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**customObjectClassId:** `string` - -
-
- -
-
- -**request:** `CustomObjectClassesAssociationTypesListRequest` - -
-
-
-
- - -
-
-
- -
client.Crm.AssociationTypes.CustomObjectClassesAssociationTypesCreateAsync(customObjectClassId, CrmAssociationTypeEndpointRequest { ... }) -> CrmAssociationTypeResponse -
-
- -#### 📝 Description - -
-
- -
-
- -Creates an `AssociationType` object with the given values. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.AssociationTypes.CustomObjectClassesAssociationTypesCreateAsync( - "custom_object_class_id", - new CrmAssociationTypeEndpointRequest - { - Model = new AssociationTypeRequestRequest - { - SourceObjectClass = new ObjectClassDescriptionRequest - { - Id = "id", - OriginType = OriginTypeEnum.CustomObject, - }, - TargetObjectClasses = new List() - { - new ObjectClassDescriptionRequest - { - Id = "id", - OriginType = OriginTypeEnum.CustomObject, - }, - }, - RemoteKeyName = "remote_key_name", - }, - } -); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**customObjectClassId:** `string` - -
-
- -
-
- -**request:** `CrmAssociationTypeEndpointRequest` - -
-
-
-
- - -
-
-
- -
client.Crm.AssociationTypes.CustomObjectClassesAssociationTypesRetrieveAsync(customObjectClassId, id, CustomObjectClassesAssociationTypesRetrieveRequest { ... }) -> AssociationType -
-
- -#### 📝 Description - -
-
- -
-
- -Returns an `AssociationType` object with the given `id`. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.AssociationTypes.CustomObjectClassesAssociationTypesRetrieveAsync( - "custom_object_class_id", - "id", - new CustomObjectClassesAssociationTypesRetrieveRequest() -); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**customObjectClassId:** `string` - -
-
- -
-
- -**id:** `string` - -
-
- -
-
- -**request:** `CustomObjectClassesAssociationTypesRetrieveRequest` - -
-
-
-
- - -
-
-
- -
client.Crm.AssociationTypes.CustomObjectClassesAssociationTypesMetaPostRetrieveAsync(customObjectClassId) -> Crm.MetaResponse -
-
- -#### 📝 Description - -
-
- -
-
- -Returns metadata for `CRMAssociationType` POSTs. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.AssociationTypes.CustomObjectClassesAssociationTypesMetaPostRetrieveAsync( - "custom_object_class_id" -); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**customObjectClassId:** `string` - -
-
-
-
- - -
-
-
- -## Crm CustomObjects -
client.Crm.CustomObjects.CustomObjectClassesCustomObjectsListAsync(customObjectClassId, CustomObjectClassesCustomObjectsListRequest { ... }) -> PaginatedCustomObjectList -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a list of `CustomObject` objects. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.CustomObjects.CustomObjectClassesCustomObjectsListAsync( - "custom_object_class_id", - new CustomObjectClassesCustomObjectsListRequest() -); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**customObjectClassId:** `string` - -
-
- -
-
- -**request:** `CustomObjectClassesCustomObjectsListRequest` - -
-
-
-
- - -
-
-
- -
client.Crm.CustomObjects.CustomObjectClassesCustomObjectsCreateAsync(customObjectClassId, CrmCustomObjectEndpointRequest { ... }) -> CrmCustomObjectResponse -
-
- -#### 📝 Description - -
-
- -
-
- -Creates a `CustomObject` object with the given values. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.CustomObjects.CustomObjectClassesCustomObjectsCreateAsync( - "custom_object_class_id", - new CrmCustomObjectEndpointRequest - { - Model = new CustomObjectRequest - { - Fields = new Dictionary() { { "test_field", "hello" } }, - }, - } -); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**customObjectClassId:** `string` - -
-
- -
-
- -**request:** `CrmCustomObjectEndpointRequest` - -
-
-
-
- - -
-
-
- -
client.Crm.CustomObjects.CustomObjectClassesCustomObjectsRetrieveAsync(customObjectClassId, id, CustomObjectClassesCustomObjectsRetrieveRequest { ... }) -> CustomObject -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a `CustomObject` object with the given `id`. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.CustomObjects.CustomObjectClassesCustomObjectsRetrieveAsync( - "custom_object_class_id", - "id", - new CustomObjectClassesCustomObjectsRetrieveRequest() -); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**customObjectClassId:** `string` - -
-
- -
-
- -**id:** `string` - -
-
- -
-
- -**request:** `CustomObjectClassesCustomObjectsRetrieveRequest` - -
-
-
-
- - -
-
-
- -
client.Crm.CustomObjects.CustomObjectClassesCustomObjectsMetaPostRetrieveAsync(customObjectClassId) -> Crm.MetaResponse -
-
- -#### 📝 Description - -
-
- -
-
- -Returns metadata for `CRMCustomObject` POSTs. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.CustomObjects.CustomObjectClassesCustomObjectsMetaPostRetrieveAsync( - "custom_object_class_id" -); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**customObjectClassId:** `string` - -
-
-
-
- - -
-
-
- -
client.Crm.CustomObjects.CustomObjectClassesCustomObjectsRemoteFieldClassesListAsync(CustomObjectClassesCustomObjectsRemoteFieldClassesListRequest { ... }) -> Crm.PaginatedRemoteFieldClassList -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a list of `RemoteFieldClass` objects. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.CustomObjects.CustomObjectClassesCustomObjectsRemoteFieldClassesListAsync( - new CustomObjectClassesCustomObjectsRemoteFieldClassesListRequest() -); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `CustomObjectClassesCustomObjectsRemoteFieldClassesListRequest` - -
-
-
-
- - -
-
-
- -## Crm Associations -
client.Crm.Associations.CustomObjectClassesCustomObjectsAssociationsListAsync(customObjectClassId, objectId, CustomObjectClassesCustomObjectsAssociationsListRequest { ... }) -> PaginatedAssociationList -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a list of `Association` objects. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.Associations.CustomObjectClassesCustomObjectsAssociationsListAsync( - "custom_object_class_id", - "object_id", - new CustomObjectClassesCustomObjectsAssociationsListRequest() -); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**customObjectClassId:** `string` - -
-
- -
-
- -**objectId:** `string` - -
-
- -
-
- -**request:** `CustomObjectClassesCustomObjectsAssociationsListRequest` - -
-
-
-
- - -
-
-
- -
client.Crm.Associations.CustomObjectClassesCustomObjectsAssociationsUpdateAsync(associationTypeId, sourceClassId, sourceObjectId, targetClassId, targetObjectId, CustomObjectClassesCustomObjectsAssociationsUpdateRequest { ... }) -> Association -
-
- -#### 📝 Description - -
-
- -
-
- -Creates an Association between `source_object_id` and `target_object_id` of type `association_type_id`. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.Associations.CustomObjectClassesCustomObjectsAssociationsUpdateAsync( - "association_type_id", - "source_class_id", - "source_object_id", - "target_class_id", - "target_object_id", - new CustomObjectClassesCustomObjectsAssociationsUpdateRequest() -); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**associationTypeId:** `string` - -
-
- -
-
- -**sourceClassId:** `string` - -
-
- -
-
- -**sourceObjectId:** `string` - -
-
- -
-
- -**targetClassId:** `string` - -
-
- -
-
- -**targetObjectId:** `string` - -
-
- -
-
- -**request:** `CustomObjectClassesCustomObjectsAssociationsUpdateRequest` - -
-
-
-
- - -
-
-
- -## Crm Scopes -
client.Crm.Scopes.DefaultScopesRetrieveAsync() -> Crm.CommonModelScopeApi -
-
- -#### 📝 Description - -
-
- -
-
- -Get the default permissions for Merge Common Models and fields across all Linked Accounts of a given category. [Learn more](https://help.merge.dev/en/articles/5950052-common-model-and-field-scopes). -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.Scopes.DefaultScopesRetrieveAsync(); -``` -
-
-
-
- - -
-
-
- -
client.Crm.Scopes.LinkedAccountScopesRetrieveAsync() -> Crm.CommonModelScopeApi -
-
- -#### 📝 Description - -
-
- -
-
- -Get all available permissions for Merge Common Models and fields for a single Linked Account. [Learn more](https://help.merge.dev/en/articles/5950052-common-model-and-field-scopes). -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.Scopes.LinkedAccountScopesRetrieveAsync(); -``` -
-
-
-
- - -
-
-
- -
client.Crm.Scopes.LinkedAccountScopesCreateAsync(LinkedAccountCommonModelScopeDeserializerRequest { ... }) -> Crm.CommonModelScopeApi -
-
- -#### 📝 Description - -
-
- -
-
- -Update permissions for any Common Model or field for a single Linked Account. Any Scopes not set in this POST request will inherit the default Scopes. [Learn more](https://help.merge.dev/en/articles/5950052-common-model-and-field-scopes) -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.Scopes.LinkedAccountScopesCreateAsync( - new LinkedAccountCommonModelScopeDeserializerRequest - { - CommonModels = new List() - { - new Merge.Client.Crm.IndividualCommonModelScopeDeserializerRequest - { - ModelName = "Employee", - ModelPermissions = new Dictionary< - string, - Merge.Client.Crm.ModelPermissionDeserializerRequest - >() - { - { - "READ", - new Merge.Client.Crm.ModelPermissionDeserializerRequest { IsEnabled = true } - }, - { - "WRITE", - new Merge.Client.Crm.ModelPermissionDeserializerRequest - { - IsEnabled = false, - } - }, - }, - FieldPermissions = new Merge.Client.Crm.FieldPermissionDeserializerRequest - { - EnabledFields = new List() { "avatar", "home_location" }, - DisabledFields = new List() { "work_location" }, - }, - }, - new Merge.Client.Crm.IndividualCommonModelScopeDeserializerRequest - { - ModelName = "Benefit", - ModelPermissions = new Dictionary< - string, - Merge.Client.Crm.ModelPermissionDeserializerRequest - >() - { - { - "WRITE", - new Merge.Client.Crm.ModelPermissionDeserializerRequest - { - IsEnabled = false, - } - }, - }, - }, - }, - } -); -``` - - - - - -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `LinkedAccountCommonModelScopeDeserializerRequest` - -
-
-
-
- - - - - - -## Crm DeleteAccount -
client.Crm.DeleteAccount.DeleteAsync() -
-
- -#### 📝 Description - -
-
- -
-
- -Delete a linked account. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.DeleteAccount.DeleteAsync(); -``` -
-
-
-
- - -
-
-
- -## Crm EngagementTypes -
client.Crm.EngagementTypes.ListAsync(EngagementTypesListRequest { ... }) -> PaginatedEngagementTypeList -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a list of `EngagementType` objects. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.EngagementTypes.ListAsync(new EngagementTypesListRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `EngagementTypesListRequest` - -
-
-
-
- - -
-
-
- -
client.Crm.EngagementTypes.RetrieveAsync(id, EngagementTypesRetrieveRequest { ... }) -> EngagementType -
-
- -#### 📝 Description - -
-
- -
-
- -Returns an `EngagementType` object with the given `id`. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.EngagementTypes.RetrieveAsync("id", new EngagementTypesRetrieveRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**id:** `string` - -
-
- -
-
- -**request:** `EngagementTypesRetrieveRequest` - -
-
-
-
- - -
-
-
- -
client.Crm.EngagementTypes.RemoteFieldClassesListAsync(EngagementTypesRemoteFieldClassesListRequest { ... }) -> Crm.PaginatedRemoteFieldClassList -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a list of `RemoteFieldClass` objects. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.EngagementTypes.RemoteFieldClassesListAsync( - new EngagementTypesRemoteFieldClassesListRequest() -); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `EngagementTypesRemoteFieldClassesListRequest` - -
-
-
-
- - -
-
-
- -## Crm Engagements -
client.Crm.Engagements.ListAsync(EngagementsListRequest { ... }) -> PaginatedEngagementList -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a list of `Engagement` objects. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.Engagements.ListAsync(new EngagementsListRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `EngagementsListRequest` - -
-
-
-
- - -
-
-
- -
client.Crm.Engagements.CreateAsync(EngagementEndpointRequest { ... }) -> EngagementResponse -
-
- -#### 📝 Description - -
-
- -
-
- -Creates an `Engagement` object with the given values. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.Engagements.CreateAsync( - new EngagementEndpointRequest { Model = new EngagementRequest() } -); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `EngagementEndpointRequest` - -
-
-
-
- - -
-
-
- -
client.Crm.Engagements.RetrieveAsync(id, EngagementsRetrieveRequest { ... }) -> Engagement -
-
- -#### 📝 Description - -
-
- -
-
- -Returns an `Engagement` object with the given `id`. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.Engagements.RetrieveAsync("id", new EngagementsRetrieveRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**id:** `string` - -
-
- -
-
- -**request:** `EngagementsRetrieveRequest` - -
-
-
-
- - -
-
-
- -
client.Crm.Engagements.PartialUpdateAsync(id, PatchedEngagementEndpointRequest { ... }) -> EngagementResponse -
-
- -#### 📝 Description - -
-
- -
-
- -Updates an `Engagement` object with the given `id`. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.Engagements.PartialUpdateAsync( - "id", - new PatchedEngagementEndpointRequest { Model = new PatchedEngagementRequest() } -); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**id:** `string` - -
-
- -
-
- -**request:** `PatchedEngagementEndpointRequest` - -
-
-
-
- - -
-
-
- -
client.Crm.Engagements.MetaPatchRetrieveAsync(id) -> Crm.MetaResponse -
-
- -#### 📝 Description - -
-
- -
-
- -Returns metadata for `Engagement` PATCHs. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.Engagements.MetaPatchRetrieveAsync("id"); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**id:** `string` - -
-
-
-
- - -
-
-
- -
client.Crm.Engagements.MetaPostRetrieveAsync() -> Crm.MetaResponse -
-
- -#### 📝 Description - -
-
- -
-
- -Returns metadata for `Engagement` POSTs. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.Engagements.MetaPostRetrieveAsync(); -``` -
-
-
-
- - -
-
-
- -
client.Crm.Engagements.RemoteFieldClassesListAsync(EngagementsRemoteFieldClassesListRequest { ... }) -> Crm.PaginatedRemoteFieldClassList -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a list of `RemoteFieldClass` objects. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.Engagements.RemoteFieldClassesListAsync( - new EngagementsRemoteFieldClassesListRequest() -); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `EngagementsRemoteFieldClassesListRequest` - -
-
-
-
- - -
-
-
- -## Crm FieldMapping -
client.Crm.FieldMapping.FieldMappingsRetrieveAsync(FieldMappingsRetrieveRequest { ... }) -> Crm.FieldMappingApiInstanceResponse -
-
- -#### 📝 Description - -
-
- -
-
- -Get all Field Mappings for this Linked Account. Field Mappings are mappings between third-party Remote Fields and user defined Merge fields. [Learn more](https://docs.merge.dev/supplemental-data/field-mappings/overview/). -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.FieldMapping.FieldMappingsRetrieveAsync(new FieldMappingsRetrieveRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `FieldMappingsRetrieveRequest` - -
-
-
-
- - -
-
-
- -
client.Crm.FieldMapping.FieldMappingsCreateAsync(CreateFieldMappingRequest { ... }) -> Crm.FieldMappingInstanceResponse -
-
- -#### 📝 Description - -
-
- -
-
- -Create new Field Mappings that will be available after the next scheduled sync. This will cause the next sync for this Linked Account to sync **ALL** data from start. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.FieldMapping.FieldMappingsCreateAsync( - new CreateFieldMappingRequest - { - TargetFieldName = "example_target_field_name", - TargetFieldDescription = "this is a example description of the target field", - RemoteFieldTraversalPath = new List() { "example_remote_field" }, - RemoteMethod = "GET", - RemoteUrlPath = "/example-url-path", - CommonModelName = "ExampleCommonModel", - } -); -``` - - - - - -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `CreateFieldMappingRequest` - -
-
-
-
- - - - - - -
client.Crm.FieldMapping.FieldMappingsDestroyAsync(fieldMappingId) -> Crm.FieldMappingInstanceResponse -
-
- -#### 📝 Description - -
-
- -
-
- -Deletes Field Mappings for a Linked Account. All data related to this Field Mapping will be deleted and these changes will be reflected after the next scheduled sync. This will cause the next sync for this Linked Account to sync **ALL** data from start. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.FieldMapping.FieldMappingsDestroyAsync("field_mapping_id"); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**fieldMappingId:** `string` - -
-
-
-
- - -
-
-
- -
client.Crm.FieldMapping.FieldMappingsPartialUpdateAsync(fieldMappingId, PatchedEditFieldMappingRequest { ... }) -> Crm.FieldMappingInstanceResponse -
-
- -#### 📝 Description - -
-
- -
-
- -Create or update existing Field Mappings for a Linked Account. Changes will be reflected after the next scheduled sync. This will cause the next sync for this Linked Account to sync **ALL** data from start. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.FieldMapping.FieldMappingsPartialUpdateAsync( - "field_mapping_id", - new PatchedEditFieldMappingRequest() -); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**fieldMappingId:** `string` - -
-
- -
-
- -**request:** `PatchedEditFieldMappingRequest` - -
-
-
-
- - -
-
-
- -
client.Crm.FieldMapping.RemoteFieldsRetrieveAsync(RemoteFieldsRetrieveRequest { ... }) -> Crm.RemoteFieldApiResponse -
-
- -#### 📝 Description - -
-
- -
-
- -Get all remote fields for a Linked Account. Remote fields are third-party fields that are accessible after initial sync if remote_data is enabled. You can use remote fields to override existing Merge fields or map a new Merge field. [Learn more](https://docs.merge.dev/supplemental-data/field-mappings/overview/). -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.FieldMapping.RemoteFieldsRetrieveAsync(new RemoteFieldsRetrieveRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `RemoteFieldsRetrieveRequest` - -
-
-
-
- - -
-
-
- -
client.Crm.FieldMapping.TargetFieldsRetrieveAsync() -> Crm.ExternalTargetFieldApiResponse -
-
- -#### 📝 Description - -
-
- -
-
- -Get all organization-wide Target Fields, this will not include any Linked Account specific Target Fields. Organization-wide Target Fields are additional fields appended to the Merge Common Model for all Linked Accounts in a category. [Learn more](https://docs.merge.dev/supplemental-data/field-mappings/target-fields/). -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.FieldMapping.TargetFieldsRetrieveAsync(); -``` -
-
-
-
- - -
-
-
- -## Crm GenerateKey -
client.Crm.GenerateKey.CreateAsync(GenerateRemoteKeyRequest { ... }) -> Crm.RemoteKey -
-
- -#### 📝 Description - -
-
- -
-
- -Create a remote key. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.GenerateKey.CreateAsync( - new GenerateRemoteKeyRequest { Name = "Remote Deployment Key 1" } -); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `GenerateRemoteKeyRequest` - -
-
-
-
- - -
-
-
- -## Crm Issues -
client.Crm.Issues.ListAsync(IssuesListRequest { ... }) -> Crm.PaginatedIssueList -
-
- -#### 📝 Description - -
-
- -
-
- -Gets all issues for Organization. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.Issues.ListAsync(new IssuesListRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `IssuesListRequest` - -
-
-
-
- - -
-
-
- -
client.Crm.Issues.RetrieveAsync(id) -> Crm.Issue -
-
- -#### 📝 Description - -
-
- -
-
- -Get a specific issue. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.Issues.RetrieveAsync("id"); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**id:** `string` - -
-
-
-
- - -
-
-
- -## Crm Leads -
client.Crm.Leads.ListAsync(LeadsListRequest { ... }) -> PaginatedLeadList -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a list of `Lead` objects. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.Leads.ListAsync(new LeadsListRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `LeadsListRequest` - -
-
-
-
- - -
-
-
- -
client.Crm.Leads.CreateAsync(LeadEndpointRequest { ... }) -> LeadResponse -
-
- -#### 📝 Description - -
-
- -
-
- -Creates a `Lead` object with the given values. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.Leads.CreateAsync(new LeadEndpointRequest { Model = new LeadRequest() }); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `LeadEndpointRequest` - -
-
-
-
- - -
-
-
- -
client.Crm.Leads.RetrieveAsync(id, LeadsRetrieveRequest { ... }) -> Lead -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a `Lead` object with the given `id`. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.Leads.RetrieveAsync("id", new LeadsRetrieveRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**id:** `string` - -
-
- -
-
- -**request:** `LeadsRetrieveRequest` - -
-
-
-
- - -
-
-
- -
client.Crm.Leads.MetaPostRetrieveAsync() -> Crm.MetaResponse -
-
- -#### 📝 Description - -
-
- -
-
- -Returns metadata for `Lead` POSTs. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.Leads.MetaPostRetrieveAsync(); -``` -
-
-
-
- - -
-
-
- -
client.Crm.Leads.RemoteFieldClassesListAsync(LeadsRemoteFieldClassesListRequest { ... }) -> Crm.PaginatedRemoteFieldClassList -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a list of `RemoteFieldClass` objects. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.Leads.RemoteFieldClassesListAsync(new LeadsRemoteFieldClassesListRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `LeadsRemoteFieldClassesListRequest` - -
-
-
-
- - -
-
-
- -## Crm LinkToken -
client.Crm.LinkToken.CreateAsync(EndUserDetailsRequest { ... }) -> Crm.LinkToken -
-
- -#### 📝 Description - -
-
- -
-
- -Creates a link token to be used when linking a new end user. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.LinkToken.CreateAsync( - new EndUserDetailsRequest - { - EndUserEmailAddress = "example@gmail.com", - EndUserOrganizationName = "Test Organization", - EndUserOriginId = "12345", - Categories = new List() - { - Merge.Client.Crm.CategoriesEnum.Hris, - Merge.Client.Crm.CategoriesEnum.Ats, - }, - } -); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `EndUserDetailsRequest` - -
-
-
-
- - -
-
-
- -## Crm LinkedAccounts -
client.Crm.LinkedAccounts.ListAsync(LinkedAccountsListRequest { ... }) -> Crm.PaginatedAccountDetailsAndActionsList -
-
- -#### 📝 Description - -
-
- -
-
- -List linked accounts for your organization. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.LinkedAccounts.ListAsync(new LinkedAccountsListRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `LinkedAccountsListRequest` - -
-
-
-
- - -
-
-
- -## Crm Notes -
client.Crm.Notes.ListAsync(NotesListRequest { ... }) -> PaginatedNoteList -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a list of `Note` objects. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.Notes.ListAsync(new NotesListRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `NotesListRequest` - -
-
-
-
- - -
-
-
- -
client.Crm.Notes.CreateAsync(NoteEndpointRequest { ... }) -> NoteResponse -
-
- -#### 📝 Description - -
-
- -
-
- -Creates a `Note` object with the given values. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.Notes.CreateAsync(new NoteEndpointRequest { Model = new NoteRequest() }); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `NoteEndpointRequest` - -
-
-
-
- - -
-
-
- -
client.Crm.Notes.RetrieveAsync(id, NotesRetrieveRequest { ... }) -> Note -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a `Note` object with the given `id`. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.Notes.RetrieveAsync("id", new NotesRetrieveRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**id:** `string` - -
-
- -
-
- -**request:** `NotesRetrieveRequest` - -
-
-
-
- - -
-
-
- -
client.Crm.Notes.MetaPostRetrieveAsync() -> Crm.MetaResponse -
-
- -#### 📝 Description - -
-
- -
-
- -Returns metadata for `Note` POSTs. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.Notes.MetaPostRetrieveAsync(); -``` -
-
-
-
- - -
-
-
- -
client.Crm.Notes.RemoteFieldClassesListAsync(NotesRemoteFieldClassesListRequest { ... }) -> Crm.PaginatedRemoteFieldClassList -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a list of `RemoteFieldClass` objects. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.Notes.RemoteFieldClassesListAsync(new NotesRemoteFieldClassesListRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `NotesRemoteFieldClassesListRequest` - -
-
-
-
- - -
-
-
- -## Crm Opportunities -
client.Crm.Opportunities.ListAsync(OpportunitiesListRequest { ... }) -> PaginatedOpportunityList -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a list of `Opportunity` objects. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.Opportunities.ListAsync(new OpportunitiesListRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `OpportunitiesListRequest` - -
-
-
-
- - -
-
-
- -
client.Crm.Opportunities.CreateAsync(OpportunityEndpointRequest { ... }) -> OpportunityResponse -
-
- -#### 📝 Description - -
-
- -
-
- -Creates an `Opportunity` object with the given values. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.Opportunities.CreateAsync( - new OpportunityEndpointRequest { Model = new OpportunityRequest() } -); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `OpportunityEndpointRequest` - -
-
-
-
- - -
-
-
- -
client.Crm.Opportunities.RetrieveAsync(id, OpportunitiesRetrieveRequest { ... }) -> Opportunity -
-
- -#### 📝 Description - -
-
- -
-
- -Returns an `Opportunity` object with the given `id`. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.Opportunities.RetrieveAsync("id", new OpportunitiesRetrieveRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**id:** `string` - -
-
- -
-
- -**request:** `OpportunitiesRetrieveRequest` - -
-
-
-
- - -
-
-
- -
client.Crm.Opportunities.PartialUpdateAsync(id, PatchedOpportunityEndpointRequest { ... }) -> OpportunityResponse -
-
- -#### 📝 Description - -
-
- -
-
- -Updates an `Opportunity` object with the given `id`. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.Opportunities.PartialUpdateAsync( - "id", - new PatchedOpportunityEndpointRequest { Model = new PatchedOpportunityRequest() } -); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**id:** `string` - -
-
- -
-
- -**request:** `PatchedOpportunityEndpointRequest` - -
-
-
-
- - -
-
-
- -
client.Crm.Opportunities.MetaPatchRetrieveAsync(id) -> Crm.MetaResponse -
-
- -#### 📝 Description - -
-
- -
-
- -Returns metadata for `Opportunity` PATCHs. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.Opportunities.MetaPatchRetrieveAsync("id"); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**id:** `string` - -
-
-
-
- - -
-
-
- -
client.Crm.Opportunities.MetaPostRetrieveAsync() -> Crm.MetaResponse -
-
- -#### 📝 Description - -
-
- -
-
- -Returns metadata for `Opportunity` POSTs. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.Opportunities.MetaPostRetrieveAsync(); -``` -
-
-
-
- - -
-
-
- -
client.Crm.Opportunities.RemoteFieldClassesListAsync(OpportunitiesRemoteFieldClassesListRequest { ... }) -> Crm.PaginatedRemoteFieldClassList -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a list of `RemoteFieldClass` objects. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.Opportunities.RemoteFieldClassesListAsync( - new OpportunitiesRemoteFieldClassesListRequest() -); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `OpportunitiesRemoteFieldClassesListRequest` - -
-
-
-
- - -
-
-
- -## Crm Passthrough -
client.Crm.Passthrough.CreateAsync(Crm.DataPassthroughRequest { ... }) -> Crm.RemoteResponse -
-
- -#### 📝 Description - -
-
- -
-
- -Pull data from an endpoint not currently supported by Merge. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.Passthrough.CreateAsync( - new Merge.Client.Crm.DataPassthroughRequest - { - Method = Merge.Client.Crm.MethodEnum.Get, - Path = "/scooters", - } -); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `Crm.DataPassthroughRequest` - -
-
-
-
- - -
-
-
- -## Crm RegenerateKey -
client.Crm.RegenerateKey.CreateAsync(RemoteKeyForRegenerationRequest { ... }) -> Crm.RemoteKey -
-
- -#### 📝 Description - -
-
- -
-
- -Exchange remote keys. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.RegenerateKey.CreateAsync( - new RemoteKeyForRegenerationRequest { Name = "Remote Deployment Key 1" } -); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `RemoteKeyForRegenerationRequest` - -
-
-
-
- - -
-
-
- -## Crm Stages -
client.Crm.Stages.ListAsync(StagesListRequest { ... }) -> PaginatedStageList -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a list of `Stage` objects. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.Stages.ListAsync(new StagesListRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `StagesListRequest` - -
-
-
-
- - -
-
-
- -
client.Crm.Stages.RetrieveAsync(id, StagesRetrieveRequest { ... }) -> Stage -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a `Stage` object with the given `id`. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.Stages.RetrieveAsync("id", new StagesRetrieveRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**id:** `string` - -
-
- -
-
- -**request:** `StagesRetrieveRequest` - -
-
-
-
- - -
-
-
- -
client.Crm.Stages.RemoteFieldClassesListAsync(StagesRemoteFieldClassesListRequest { ... }) -> Crm.PaginatedRemoteFieldClassList -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a list of `RemoteFieldClass` objects. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.Stages.RemoteFieldClassesListAsync(new StagesRemoteFieldClassesListRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `StagesRemoteFieldClassesListRequest` - -
-
-
-
- - -
-
-
- -## Crm SyncStatus -
client.Crm.SyncStatus.ListAsync(SyncStatusListRequest { ... }) -> Crm.PaginatedSyncStatusList -
-
- -#### 📝 Description - -
-
- -
-
- -Get syncing status. Possible values: `DISABLED`, `DONE`, `FAILED`, `PARTIALLY_SYNCED`, `PAUSED`, `SYNCING`. Learn more about sync status in our [Help Center](https://help.merge.dev/en/articles/8184193-merge-sync-statuses). -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.SyncStatus.ListAsync(new SyncStatusListRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `SyncStatusListRequest` - -
-
-
-
- - -
-
-
- -## Crm ForceResync -
client.Crm.ForceResync.SyncStatusResyncCreateAsync() -> IEnumerable -
-
- -#### 📝 Description - -
-
- -
-
- -Force re-sync of all models. This is available for all organizations via the dashboard. Force re-sync is also available programmatically via API for monthly, quarterly, and highest sync frequency customers on the Professional or Enterprise plans. Doing so will consume a sync credit for the relevant linked account. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.ForceResync.SyncStatusResyncCreateAsync(); -``` -
-
-
-
- - -
-
-
- -## Crm Tasks -
client.Crm.Tasks.ListAsync(TasksListRequest { ... }) -> PaginatedTaskList -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a list of `Task` objects. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.Tasks.ListAsync(new TasksListRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `TasksListRequest` - -
-
-
-
- - -
-
-
- -
client.Crm.Tasks.CreateAsync(TaskEndpointRequest { ... }) -> TaskResponse -
-
- -#### 📝 Description - -
-
- -
-
- -Creates a `Task` object with the given values. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.Tasks.CreateAsync(new TaskEndpointRequest { Model = new TaskRequest() }); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `TaskEndpointRequest` - -
-
-
-
- - -
-
-
- -
client.Crm.Tasks.RetrieveAsync(id, TasksRetrieveRequest { ... }) -> Task -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a `Task` object with the given `id`. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.Tasks.RetrieveAsync("id", new TasksRetrieveRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**id:** `string` - -
-
- -
-
- -**request:** `TasksRetrieveRequest` - -
-
-
-
- - -
-
-
- -
client.Crm.Tasks.PartialUpdateAsync(id, PatchedTaskEndpointRequest { ... }) -> TaskResponse -
-
- -#### 📝 Description - -
-
- -
-
- -Updates a `Task` object with the given `id`. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.Tasks.PartialUpdateAsync( - "id", - new PatchedTaskEndpointRequest { Model = new PatchedTaskRequest() } -); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**id:** `string` - -
-
- -
-
- -**request:** `PatchedTaskEndpointRequest` - -
-
-
-
- - -
-
-
- -
client.Crm.Tasks.MetaPatchRetrieveAsync(id) -> Crm.MetaResponse -
-
- -#### 📝 Description - -
-
- -
-
- -Returns metadata for `Task` PATCHs. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.Tasks.MetaPatchRetrieveAsync("id"); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**id:** `string` - -
-
-
-
- - -
-
-
- -
client.Crm.Tasks.MetaPostRetrieveAsync() -> Crm.MetaResponse -
-
- -#### 📝 Description - -
-
- -
-
- -Returns metadata for `Task` POSTs. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.Tasks.MetaPostRetrieveAsync(); -``` -
-
-
-
- - -
-
-
- -
client.Crm.Tasks.RemoteFieldClassesListAsync(TasksRemoteFieldClassesListRequest { ... }) -> Crm.PaginatedRemoteFieldClassList -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a list of `RemoteFieldClass` objects. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.Tasks.RemoteFieldClassesListAsync(new TasksRemoteFieldClassesListRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `TasksRemoteFieldClassesListRequest` - -
-
-
-
- - -
-
-
- -## Crm Users -
client.Crm.Users.ListAsync(UsersListRequest { ... }) -> Crm.PaginatedUserList -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a list of `User` objects. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.Users.ListAsync(new UsersListRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `UsersListRequest` - -
-
-
-
- - -
-
-
- -
client.Crm.Users.RetrieveAsync(id, UsersRetrieveRequest { ... }) -> Crm.User -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a `User` object with the given `id`. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.Users.RetrieveAsync("id", new UsersRetrieveRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**id:** `string` - -
-
- -
-
- -**request:** `UsersRetrieveRequest` - -
-
-
-
- - -
-
-
- -
client.Crm.Users.IgnoreCreateAsync(modelId, IgnoreCommonModelRequest { ... }) -
-
- -#### 📝 Description - -
-
- -
-
- -Ignores a specific row based on the `model_id` in the url. These records will have their properties set to null, and will not be updated in future syncs. The "reason" and "message" fields in the request body will be stored for audit purposes. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.Users.IgnoreCreateAsync( - "model_id", - new IgnoreCommonModelRequest { Reason = Merge.Client.Crm.ReasonEnum.GeneralCustomerRequest } -); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**modelId:** `string` - -
-
- -
-
- -**request:** `IgnoreCommonModelRequest` - -
-
-
-
- - -
-
-
- -
client.Crm.Users.RemoteFieldClassesListAsync(UsersRemoteFieldClassesListRequest { ... }) -> Crm.PaginatedRemoteFieldClassList -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a list of `RemoteFieldClass` objects. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.Users.RemoteFieldClassesListAsync(new UsersRemoteFieldClassesListRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `UsersRemoteFieldClassesListRequest` - -
-
-
-
- - -
-
-
- -## Crm WebhookReceivers -
client.Crm.WebhookReceivers.ListAsync() -> IEnumerable -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a list of `WebhookReceiver` objects. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.WebhookReceivers.ListAsync(); -``` -
-
-
-
- - -
-
-
- -
client.Crm.WebhookReceivers.CreateAsync(WebhookReceiverRequest { ... }) -> Crm.WebhookReceiver -
-
- -#### 📝 Description - -
-
- -
-
- -Creates a `WebhookReceiver` object with the given values. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Crm.WebhookReceivers.CreateAsync( - new WebhookReceiverRequest { Event = "event", IsActive = true } -); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `WebhookReceiverRequest` - -
-
-
-
- - -
-
-
- -## Filestorage AccountDetails -
client.Filestorage.AccountDetails.RetrieveAsync() -> Filestorage.AccountDetails -
-
- -#### 📝 Description - -
-
- -
-
- -Get details for a linked account. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Filestorage.AccountDetails.RetrieveAsync(); -``` -
-
-
-
- - -
-
-
- -## Filestorage AccountToken -
client.Filestorage.AccountToken.RetrieveAsync(publicToken) -> Filestorage.AccountToken -
-
- -#### 📝 Description - -
-
- -
-
- -Returns the account token for the end user with the provided public token. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Filestorage.AccountToken.RetrieveAsync("public_token"); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**publicToken:** `string` - -
-
-
-
- - -
-
-
- -## Filestorage AsyncPassthrough -
client.Filestorage.AsyncPassthrough.CreateAsync(Filestorage.DataPassthroughRequest { ... }) -> Filestorage.AsyncPassthroughReciept -
-
- -#### 📝 Description - -
-
- -
-
- -Asynchronously pull data from an endpoint not currently supported by Merge. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Filestorage.AsyncPassthrough.CreateAsync( - new Merge.Client.Filestorage.DataPassthroughRequest - { - Method = Merge.Client.Filestorage.MethodEnum.Get, - Path = "/scooters", - } -); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `Filestorage.DataPassthroughRequest` - -
-
-
-
- - -
-
-
- -
client.Filestorage.AsyncPassthrough.RetrieveAsync(asyncPassthroughReceiptId) -> OneOf -
-
- -#### 📝 Description - -
-
- -
-
- -Retrieves data from earlier async-passthrough POST request -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Filestorage.AsyncPassthrough.RetrieveAsync("async_passthrough_receipt_id"); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**asyncPassthroughReceiptId:** `string` - -
-
-
-
- - -
-
-
- -## Filestorage AuditTrail -
client.Filestorage.AuditTrail.ListAsync(AuditTrailListRequest { ... }) -> Filestorage.PaginatedAuditLogEventList -
-
- -#### 📝 Description - -
-
- -
-
- -Gets a list of audit trail events. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Filestorage.AuditTrail.ListAsync(new AuditTrailListRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `AuditTrailListRequest` - -
-
-
-
- - -
-
-
- -## Filestorage AvailableActions -
client.Filestorage.AvailableActions.RetrieveAsync() -> Filestorage.AvailableActions -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a list of models and actions available for an account. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Filestorage.AvailableActions.RetrieveAsync(); -``` -
-
-
-
- - -
-
-
- -## Filestorage Scopes -
client.Filestorage.Scopes.DefaultScopesRetrieveAsync() -> Filestorage.CommonModelScopeApi -
-
- -#### 📝 Description - -
-
- -
-
- -Get the default permissions for Merge Common Models and fields across all Linked Accounts of a given category. [Learn more](https://help.merge.dev/en/articles/5950052-common-model-and-field-scopes). -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Filestorage.Scopes.DefaultScopesRetrieveAsync(); -``` -
-
-
-
- - -
-
-
- -
client.Filestorage.Scopes.LinkedAccountScopesRetrieveAsync() -> Filestorage.CommonModelScopeApi -
-
- -#### 📝 Description - -
-
- -
-
- -Get all available permissions for Merge Common Models and fields for a single Linked Account. [Learn more](https://help.merge.dev/en/articles/5950052-common-model-and-field-scopes). -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Filestorage.Scopes.LinkedAccountScopesRetrieveAsync(); -``` -
-
-
-
- - -
-
-
- -
client.Filestorage.Scopes.LinkedAccountScopesCreateAsync(LinkedAccountCommonModelScopeDeserializerRequest { ... }) -> Filestorage.CommonModelScopeApi -
-
- -#### 📝 Description - -
-
- -
-
- -Update permissions for any Common Model or field for a single Linked Account. Any Scopes not set in this POST request will inherit the default Scopes. [Learn more](https://help.merge.dev/en/articles/5950052-common-model-and-field-scopes) -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Filestorage.Scopes.LinkedAccountScopesCreateAsync( - new LinkedAccountCommonModelScopeDeserializerRequest - { - CommonModels = - new List() - { - new Merge.Client.Filestorage.IndividualCommonModelScopeDeserializerRequest - { - ModelName = "Employee", - ModelPermissions = new Dictionary< - string, - Merge.Client.Filestorage.ModelPermissionDeserializerRequest - >() - { - { - "READ", - new Merge.Client.Filestorage.ModelPermissionDeserializerRequest - { - IsEnabled = true, - } - }, - { - "WRITE", - new Merge.Client.Filestorage.ModelPermissionDeserializerRequest - { - IsEnabled = false, - } - }, - }, - FieldPermissions = - new Merge.Client.Filestorage.FieldPermissionDeserializerRequest - { - EnabledFields = new List() { "avatar", "home_location" }, - DisabledFields = new List() { "work_location" }, - }, - }, - new Merge.Client.Filestorage.IndividualCommonModelScopeDeserializerRequest - { - ModelName = "Benefit", - ModelPermissions = new Dictionary< - string, - Merge.Client.Filestorage.ModelPermissionDeserializerRequest - >() - { - { - "WRITE", - new Merge.Client.Filestorage.ModelPermissionDeserializerRequest - { - IsEnabled = false, - } - }, - }, - }, - }, - } -); -``` - - - - - -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `LinkedAccountCommonModelScopeDeserializerRequest` - -
-
-
-
- - - - - - -## Filestorage DeleteAccount -
client.Filestorage.DeleteAccount.DeleteAsync() -
-
- -#### 📝 Description - -
-
- -
-
- -Delete a linked account. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Filestorage.DeleteAccount.DeleteAsync(); -``` -
-
-
-
- - -
-
-
- -## Filestorage Drives -
client.Filestorage.Drives.ListAsync(DrivesListRequest { ... }) -> PaginatedDriveList -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a list of `Drive` objects. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Filestorage.Drives.ListAsync(new DrivesListRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `DrivesListRequest` - -
-
-
-
- - -
-
-
- -
client.Filestorage.Drives.RetrieveAsync(id, DrivesRetrieveRequest { ... }) -> Drive -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a `Drive` object with the given `id`. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Filestorage.Drives.RetrieveAsync("id", new DrivesRetrieveRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**id:** `string` - -
-
- -
-
- -**request:** `DrivesRetrieveRequest` - -
-
-
-
- - -
-
-
- -## Filestorage FieldMapping -
client.Filestorage.FieldMapping.FieldMappingsRetrieveAsync(FieldMappingsRetrieveRequest { ... }) -> Filestorage.FieldMappingApiInstanceResponse -
-
- -#### 📝 Description - -
-
- -
-
- -Get all Field Mappings for this Linked Account. Field Mappings are mappings between third-party Remote Fields and user defined Merge fields. [Learn more](https://docs.merge.dev/supplemental-data/field-mappings/overview/). -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Filestorage.FieldMapping.FieldMappingsRetrieveAsync( - new FieldMappingsRetrieveRequest() -); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `FieldMappingsRetrieveRequest` - -
-
-
-
- - -
-
-
- -
client.Filestorage.FieldMapping.FieldMappingsCreateAsync(CreateFieldMappingRequest { ... }) -> Filestorage.FieldMappingInstanceResponse -
-
- -#### 📝 Description - -
-
- -
-
- -Create new Field Mappings that will be available after the next scheduled sync. This will cause the next sync for this Linked Account to sync **ALL** data from start. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Filestorage.FieldMapping.FieldMappingsCreateAsync( - new CreateFieldMappingRequest - { - TargetFieldName = "example_target_field_name", - TargetFieldDescription = "this is a example description of the target field", - RemoteFieldTraversalPath = new List() { "example_remote_field" }, - RemoteMethod = "GET", - RemoteUrlPath = "/example-url-path", - CommonModelName = "ExampleCommonModel", - } -); -``` - - - - - -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `CreateFieldMappingRequest` - -
-
-
-
- - - - - - -
client.Filestorage.FieldMapping.FieldMappingsDestroyAsync(fieldMappingId) -> Filestorage.FieldMappingInstanceResponse -
-
- -#### 📝 Description - -
-
- -
-
- -Deletes Field Mappings for a Linked Account. All data related to this Field Mapping will be deleted and these changes will be reflected after the next scheduled sync. This will cause the next sync for this Linked Account to sync **ALL** data from start. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Filestorage.FieldMapping.FieldMappingsDestroyAsync("field_mapping_id"); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**fieldMappingId:** `string` - -
-
-
-
- - -
-
-
- -
client.Filestorage.FieldMapping.FieldMappingsPartialUpdateAsync(fieldMappingId, PatchedEditFieldMappingRequest { ... }) -> Filestorage.FieldMappingInstanceResponse -
-
- -#### 📝 Description - -
-
- -
-
- -Create or update existing Field Mappings for a Linked Account. Changes will be reflected after the next scheduled sync. This will cause the next sync for this Linked Account to sync **ALL** data from start. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Filestorage.FieldMapping.FieldMappingsPartialUpdateAsync( - "field_mapping_id", - new PatchedEditFieldMappingRequest() -); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**fieldMappingId:** `string` - -
-
- -
-
- -**request:** `PatchedEditFieldMappingRequest` - -
-
-
-
- - -
-
-
- -
client.Filestorage.FieldMapping.RemoteFieldsRetrieveAsync(RemoteFieldsRetrieveRequest { ... }) -> Filestorage.RemoteFieldApiResponse -
-
- -#### 📝 Description - -
-
- -
-
- -Get all remote fields for a Linked Account. Remote fields are third-party fields that are accessible after initial sync if remote_data is enabled. You can use remote fields to override existing Merge fields or map a new Merge field. [Learn more](https://docs.merge.dev/supplemental-data/field-mappings/overview/). -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Filestorage.FieldMapping.RemoteFieldsRetrieveAsync(new RemoteFieldsRetrieveRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `RemoteFieldsRetrieveRequest` - -
-
-
-
- - -
-
-
- -
client.Filestorage.FieldMapping.TargetFieldsRetrieveAsync() -> Filestorage.ExternalTargetFieldApiResponse -
-
- -#### 📝 Description - -
-
- -
-
- -Get all organization-wide Target Fields, this will not include any Linked Account specific Target Fields. Organization-wide Target Fields are additional fields appended to the Merge Common Model for all Linked Accounts in a category. [Learn more](https://docs.merge.dev/supplemental-data/field-mappings/target-fields/). -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Filestorage.FieldMapping.TargetFieldsRetrieveAsync(); -``` -
-
-
-
- - -
-
-
- -## Filestorage Files -
client.Filestorage.Files.ListAsync(FilesListRequest { ... }) -> PaginatedFileList -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a list of `File` objects. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Filestorage.Files.ListAsync(new FilesListRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `FilesListRequest` - -
-
-
-
- - -
-
-
- -
client.Filestorage.Files.CreateAsync(FileStorageFileEndpointRequest { ... }) -> FileStorageFileResponse -
-
- -#### 📝 Description - -
-
- -
-
- -Creates a `File` object with the given values. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Filestorage.Files.CreateAsync( - new FileStorageFileEndpointRequest { Model = new FileRequest() } -); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `FileStorageFileEndpointRequest` - -
-
-
-
- - -
-
-
- -
client.Filestorage.Files.RetrieveAsync(id, FilesRetrieveRequest { ... }) -> File -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a `File` object with the given `id`. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Filestorage.Files.RetrieveAsync("id", new FilesRetrieveRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**id:** `string` - -
-
- -
-
- -**request:** `FilesRetrieveRequest` - -
-
-
-
- - -
-
-
- -
client.Filestorage.Files.DownloadRetrieveAsync(id, FilesDownloadRetrieveRequest { ... }) -
-
- -#### 📝 Description - -
-
- -
-
- -Returns the `File` content with the given `id` as a stream of bytes. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Filestorage.Files.DownloadRetrieveAsync( - "string", - new FilesDownloadRetrieveRequest { MimeType = "string" } -); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**id:** `string` - -
-
- -
-
- -**request:** `FilesDownloadRetrieveRequest` - -
-
-
-
- - -
-
-
- -
client.Filestorage.Files.MetaPostRetrieveAsync() -> Filestorage.MetaResponse -
-
- -#### 📝 Description - -
-
- -
-
- -Returns metadata for `FileStorageFile` POSTs. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Filestorage.Files.MetaPostRetrieveAsync(); -``` -
-
-
-
- - -
-
-
- -## Filestorage Folders -
client.Filestorage.Folders.ListAsync(FoldersListRequest { ... }) -> PaginatedFolderList -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a list of `Folder` objects. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Filestorage.Folders.ListAsync(new FoldersListRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `FoldersListRequest` - -
-
-
-
- - -
-
-
- -
client.Filestorage.Folders.CreateAsync(FileStorageFolderEndpointRequest { ... }) -> FileStorageFolderResponse -
-
- -#### 📝 Description - -
-
- -
-
- -Creates a `Folder` object with the given values. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Filestorage.Folders.CreateAsync( - new FileStorageFolderEndpointRequest { Model = new FolderRequest() } -); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `FileStorageFolderEndpointRequest` - -
-
-
-
- - -
-
-
- -
client.Filestorage.Folders.RetrieveAsync(id, FoldersRetrieveRequest { ... }) -> Folder -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a `Folder` object with the given `id`. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Filestorage.Folders.RetrieveAsync("id", new FoldersRetrieveRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**id:** `string` - -
-
- -
-
- -**request:** `FoldersRetrieveRequest` - -
-
-
-
- - -
-
-
- -
client.Filestorage.Folders.MetaPostRetrieveAsync() -> Filestorage.MetaResponse -
-
- -#### 📝 Description - -
-
- -
-
- -Returns metadata for `FileStorageFolder` POSTs. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Filestorage.Folders.MetaPostRetrieveAsync(); -``` -
-
-
-
- - -
-
-
- -## Filestorage GenerateKey -
client.Filestorage.GenerateKey.CreateAsync(GenerateRemoteKeyRequest { ... }) -> Filestorage.RemoteKey -
-
- -#### 📝 Description - -
-
- -
-
- -Create a remote key. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Filestorage.GenerateKey.CreateAsync( - new GenerateRemoteKeyRequest { Name = "Remote Deployment Key 1" } -); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `GenerateRemoteKeyRequest` - -
-
-
-
- - -
-
-
- -## Filestorage Groups -
client.Filestorage.Groups.ListAsync(GroupsListRequest { ... }) -> Filestorage.PaginatedGroupList -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a list of `Group` objects. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Filestorage.Groups.ListAsync(new GroupsListRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `GroupsListRequest` - -
-
-
-
- - -
-
-
- -
client.Filestorage.Groups.RetrieveAsync(id, GroupsRetrieveRequest { ... }) -> Filestorage.Group -
-
- -#### 📝 Description - -
-
- -
-
- -Returns a `Group` object with the given `id`. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Filestorage.Groups.RetrieveAsync("id", new GroupsRetrieveRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**id:** `string` - -
-
- -
-
- -**request:** `GroupsRetrieveRequest` - -
-
-
-
- - -
-
-
- -## Filestorage Issues -
client.Filestorage.Issues.ListAsync(IssuesListRequest { ... }) -> Filestorage.PaginatedIssueList -
-
- -#### 📝 Description - -
-
- -
-
- -Gets all issues for Organization. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Filestorage.Issues.ListAsync(new IssuesListRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `IssuesListRequest` - -
-
-
-
- - -
-
-
- -
client.Filestorage.Issues.RetrieveAsync(id) -> Filestorage.Issue -
-
- -#### 📝 Description - -
-
- -
-
- -Get a specific issue. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Filestorage.Issues.RetrieveAsync("id"); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**id:** `string` - -
-
-
-
- - -
-
-
- -## Filestorage LinkToken -
client.Filestorage.LinkToken.CreateAsync(EndUserDetailsRequest { ... }) -> Filestorage.LinkToken -
-
- -#### 📝 Description - -
-
- -
-
- -Creates a link token to be used when linking a new end user. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Filestorage.LinkToken.CreateAsync( - new EndUserDetailsRequest - { - EndUserEmailAddress = "example@gmail.com", - EndUserOrganizationName = "Test Organization", - EndUserOriginId = "12345", - Categories = new List() - { - Merge.Client.Filestorage.CategoriesEnum.Hris, - Merge.Client.Filestorage.CategoriesEnum.Ats, - }, - } -); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `EndUserDetailsRequest` - -
-
-
-
- - -
-
-
- -## Filestorage LinkedAccounts -
client.Filestorage.LinkedAccounts.ListAsync(LinkedAccountsListRequest { ... }) -> Filestorage.PaginatedAccountDetailsAndActionsList -
-
- -#### 📝 Description - -
-
- -
-
- -List linked accounts for your organization. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Filestorage.LinkedAccounts.ListAsync(new LinkedAccountsListRequest()); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `LinkedAccountsListRequest` - -
-
-
-
- - -
-
-
- -## Filestorage Passthrough -
client.Filestorage.Passthrough.CreateAsync(Filestorage.DataPassthroughRequest { ... }) -> Filestorage.RemoteResponse -
-
- -#### 📝 Description - -
-
- -
-
- -Pull data from an endpoint not currently supported by Merge. -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```csharp -await client.Filestorage.Passthrough.CreateAsync( - new Merge.Client.Filestorage.DataPassthroughRequest - { - Method = Merge.Client.Filestorage.MethodEnum.Get, - Path = "/scooters", - } -); -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `Filestorage.DataPassthroughRequest` - -
-
-
-
- - -
-
\ No newline at end of file diff --git a/src/Merge.Client.Test/Core/Json/DateOnlyJsonTests.cs b/src/Merge.Client.Test/Core/Json/DateOnlyJsonTests.cs new file mode 100644 index 00000000..421d05a1 --- /dev/null +++ b/src/Merge.Client.Test/Core/Json/DateOnlyJsonTests.cs @@ -0,0 +1,76 @@ +using Merge.Client.Core; +using NUnit.Framework; + +namespace Merge.Client.Test.Core.Json; + +[TestFixture] +public class DateOnlyJsonTests +{ + [Test] + public void SerializeDateOnly_ShouldMatchExpectedFormat() + { + (DateOnly dateOnly, string expected)[] testCases = + [ + (new DateOnly(2023, 10, 5), "\"2023-10-05\""), + (new DateOnly(2023, 1, 1), "\"2023-01-01\""), + (new DateOnly(2023, 12, 31), "\"2023-12-31\""), + (new DateOnly(2023, 6, 15), "\"2023-06-15\""), + (new DateOnly(2023, 3, 10), "\"2023-03-10\""), + ]; + foreach (var (dateOnly, expected) in testCases) + { + var json = JsonUtils.Serialize(dateOnly); + Assert.That(json, Is.EqualTo(expected)); + } + } + + [Test] + public void DeserializeDateOnly_ShouldMatchExpectedDateOnly() + { + (DateOnly expected, string json)[] testCases = + [ + (new DateOnly(2023, 10, 5), "\"2023-10-05\""), + (new DateOnly(2023, 1, 1), "\"2023-01-01\""), + (new DateOnly(2023, 12, 31), "\"2023-12-31\""), + (new DateOnly(2023, 6, 15), "\"2023-06-15\""), + (new DateOnly(2023, 3, 10), "\"2023-03-10\""), + ]; + + foreach (var (expected, json) in testCases) + { + var dateOnly = JsonUtils.Deserialize(json); + Assert.That(dateOnly, Is.EqualTo(expected)); + } + } + + [Test] + public void SerializeNullableDateOnly_ShouldMatchExpectedFormat() + { + (DateOnly? dateOnly, string expected)[] testCases = + [ + (new DateOnly(2023, 10, 5), "\"2023-10-05\""), + (null, "null"), + ]; + foreach (var (dateOnly, expected) in testCases) + { + var json = JsonUtils.Serialize(dateOnly); + Assert.That(json, Is.EqualTo(expected)); + } + } + + [Test] + public void DeserializeNullableDateOnly_ShouldMatchExpectedDateOnly() + { + (DateOnly? expected, string json)[] testCases = + [ + (new DateOnly(2023, 10, 5), "\"2023-10-05\""), + (null, "null"), + ]; + + foreach (var (expected, json) in testCases) + { + var dateOnly = JsonUtils.Deserialize(json); + Assert.That(dateOnly, Is.EqualTo(expected)); + } + } +} diff --git a/src/Merge.Client.Test/Core/Json/DateTimeJsonTests.cs b/src/Merge.Client.Test/Core/Json/DateTimeJsonTests.cs new file mode 100644 index 00000000..8299fe3f --- /dev/null +++ b/src/Merge.Client.Test/Core/Json/DateTimeJsonTests.cs @@ -0,0 +1,110 @@ +using Merge.Client.Core; +using NUnit.Framework; + +namespace Merge.Client.Test.Core.Json; + +[TestFixture] +public class DateTimeJsonTests +{ + [Test] + public void SerializeDateTime_ShouldMatchExpectedFormat() + { + (DateTime dateTime, string expected)[] testCases = + [ + ( + new DateTime(2023, 10, 5, 14, 30, 0, DateTimeKind.Utc), + "\"2023-10-05T14:30:00.000Z\"" + ), + (new DateTime(2023, 1, 1, 0, 0, 0, DateTimeKind.Utc), "\"2023-01-01T00:00:00.000Z\""), + ( + new DateTime(2023, 12, 31, 23, 59, 59, DateTimeKind.Utc), + "\"2023-12-31T23:59:59.000Z\"" + ), + (new DateTime(2023, 6, 15, 12, 0, 0, DateTimeKind.Utc), "\"2023-06-15T12:00:00.000Z\""), + ( + new DateTime(2023, 3, 10, 8, 45, 30, DateTimeKind.Utc), + "\"2023-03-10T08:45:30.000Z\"" + ), + ( + new DateTime(2023, 3, 10, 8, 45, 30, 123, DateTimeKind.Utc), + "\"2023-03-10T08:45:30.123Z\"" + ), + ]; + foreach (var (dateTime, expected) in testCases) + { + var json = JsonUtils.Serialize(dateTime); + Assert.That(json, Is.EqualTo(expected)); + } + } + + [Test] + public void DeserializeDateTime_ShouldMatchExpectedDateTime() + { + (DateTime expected, string json)[] testCases = + [ + ( + new DateTime(2023, 10, 5, 14, 30, 0, DateTimeKind.Utc), + "\"2023-10-05T14:30:00.000Z\"" + ), + (new DateTime(2023, 1, 1, 0, 0, 0, DateTimeKind.Utc), "\"2023-01-01T00:00:00.000Z\""), + ( + new DateTime(2023, 12, 31, 23, 59, 59, DateTimeKind.Utc), + "\"2023-12-31T23:59:59.000Z\"" + ), + (new DateTime(2023, 6, 15, 12, 0, 0, DateTimeKind.Utc), "\"2023-06-15T12:00:00.000Z\""), + ( + new DateTime(2023, 3, 10, 8, 45, 30, DateTimeKind.Utc), + "\"2023-03-10T08:45:30.000Z\"" + ), + (new DateTime(2023, 3, 10, 8, 45, 30, DateTimeKind.Utc), "\"2023-03-10T08:45:30Z\""), + ( + new DateTime(2023, 3, 10, 8, 45, 30, 123, DateTimeKind.Utc), + "\"2023-03-10T08:45:30.123Z\"" + ), + ]; + + foreach (var (expected, json) in testCases) + { + var dateTime = JsonUtils.Deserialize(json); + Assert.That(dateTime, Is.EqualTo(expected)); + } + } + + [Test] + public void SerializeNullableDateTime_ShouldMatchExpectedFormat() + { + (DateTime? expected, string json)[] testCases = + [ + ( + new DateTime(2023, 10, 5, 14, 30, 0, DateTimeKind.Utc), + "\"2023-10-05T14:30:00.000Z\"" + ), + (null, "null"), + ]; + + foreach (var (expected, json) in testCases) + { + var dateTime = JsonUtils.Deserialize(json); + Assert.That(dateTime, Is.EqualTo(expected)); + } + } + + [Test] + public void DeserializeNullableDateTime_ShouldMatchExpectedDateTime() + { + (DateTime? expected, string json)[] testCases = + [ + ( + new DateTime(2023, 10, 5, 14, 30, 0, DateTimeKind.Utc), + "\"2023-10-05T14:30:00.000Z\"" + ), + (null, "null"), + ]; + + foreach (var (expected, json) in testCases) + { + var dateTime = JsonUtils.Deserialize(json); + Assert.That(dateTime, Is.EqualTo(expected)); + } + } +} diff --git a/src/Merge.Client.Test/Core/EnumSerializerTests.cs b/src/Merge.Client.Test/Core/Json/EnumSerializerTests.cs similarity index 95% rename from src/Merge.Client.Test/Core/EnumSerializerTests.cs rename to src/Merge.Client.Test/Core/Json/EnumSerializerTests.cs index 71066fe3..6ac017b7 100644 --- a/src/Merge.Client.Test/Core/EnumSerializerTests.cs +++ b/src/Merge.Client.Test/Core/Json/EnumSerializerTests.cs @@ -4,9 +4,10 @@ using Merge.Client.Core; using NUnit.Framework; -namespace Merge.Client.Test.Core; +namespace Merge.Client.Test.Core.Json; [TestFixture] +[Parallelizable(ParallelScope.All)] public class StringEnumSerializerTests { private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; diff --git a/src/Merge.Client.Test/Core/Json/JsonAccessAttributeTests.cs b/src/Merge.Client.Test/Core/Json/JsonAccessAttributeTests.cs new file mode 100644 index 00000000..7d6db25c --- /dev/null +++ b/src/Merge.Client.Test/Core/Json/JsonAccessAttributeTests.cs @@ -0,0 +1,160 @@ +using global::System.Text.Json.Serialization; +using Merge.Client.Core; +using NUnit.Framework; + +namespace Merge.Client.Test.Core.Json; + +[TestFixture] +public class JsonAccessAttributeTests +{ + private class MyClass + { + [JsonPropertyName("read_only_prop")] + [JsonAccess(JsonAccessType.ReadOnly)] + public string? ReadOnlyProp { get; set; } + + [JsonPropertyName("write_only_prop")] + [JsonAccess(JsonAccessType.WriteOnly)] + public string? WriteOnlyProp { get; set; } + + [JsonPropertyName("normal_prop")] + public string? NormalProp { get; set; } + + [JsonPropertyName("read_only_nullable_list")] + [JsonAccess(JsonAccessType.ReadOnly)] + public IEnumerable? ReadOnlyNullableList { get; set; } + + [JsonPropertyName("read_only_list")] + [JsonAccess(JsonAccessType.ReadOnly)] + public IEnumerable ReadOnlyList { get; set; } = []; + + [JsonPropertyName("write_only_nullable_list")] + [JsonAccess(JsonAccessType.WriteOnly)] + public IEnumerable? WriteOnlyNullableList { get; set; } + + [JsonPropertyName("write_only_list")] + [JsonAccess(JsonAccessType.WriteOnly)] + public IEnumerable WriteOnlyList { get; set; } = []; + + [JsonPropertyName("normal_list")] + public IEnumerable NormalList { get; set; } = []; + + [JsonPropertyName("normal_nullable_list")] + public IEnumerable? NullableNormalList { get; set; } + } + + [Test] + public void JsonAccessAttribute_ShouldWorkAsExpected() + { + const string json = """ + { + "read_only_prop": "read", + "write_only_prop": "write", + "normal_prop": "normal_prop", + "read_only_nullable_list": ["item1", "item2"], + "read_only_list": ["item3", "item4"], + "write_only_nullable_list": ["item5", "item6"], + "write_only_list": ["item7", "item8"], + "normal_list": ["normal1", "normal2"], + "normal_nullable_list": ["normal1", "normal2"] + } + """; + var obj = JsonUtils.Deserialize(json); + + Assert.Multiple(() => + { + // String properties + Assert.That(obj.ReadOnlyProp, Is.EqualTo("read")); + Assert.That(obj.WriteOnlyProp, Is.Null); + Assert.That(obj.NormalProp, Is.EqualTo("normal_prop")); + + // List properties - read only + var nullableReadOnlyList = obj.ReadOnlyNullableList?.ToArray(); + Assert.That(nullableReadOnlyList, Is.Not.Null); + Assert.That(nullableReadOnlyList, Has.Length.EqualTo(2)); + Assert.That(nullableReadOnlyList[0], Is.EqualTo("item1")); + Assert.That(nullableReadOnlyList[1], Is.EqualTo("item2")); + + var readOnlyList = obj.ReadOnlyList.ToArray(); + Assert.That(readOnlyList, Is.Not.Null); + Assert.That(readOnlyList, Has.Length.EqualTo(2)); + Assert.That(readOnlyList[0], Is.EqualTo("item3")); + Assert.That(readOnlyList[1], Is.EqualTo("item4")); + + // List properties - write only + Assert.That(obj.WriteOnlyNullableList, Is.Null); + Assert.That(obj.WriteOnlyList, Is.Not.Null); + Assert.That(obj.WriteOnlyList, Is.Empty); + + // Normal list property + var normalList = obj.NormalList.ToArray(); + Assert.That(normalList, Is.Not.Null); + Assert.That(normalList, Has.Length.EqualTo(2)); + Assert.That(normalList[0], Is.EqualTo("normal1")); + Assert.That(normalList[1], Is.EqualTo("normal2")); + }); + + // Set up values for serialization + obj.WriteOnlyProp = "write"; + obj.NormalProp = "new_value"; + obj.WriteOnlyNullableList = new List { "write1", "write2" }; + obj.WriteOnlyList = new List { "write3", "write4" }; + obj.NormalList = new List { "new_normal" }; + obj.NullableNormalList = new List { "new_normal" }; + + var serializedJson = JsonUtils.Serialize(obj); + const string expectedJson = """ + { + "write_only_prop": "write", + "normal_prop": "new_value", + "write_only_nullable_list": [ + "write1", + "write2" + ], + "write_only_list": [ + "write3", + "write4" + ], + "normal_list": [ + "new_normal" + ], + "normal_nullable_list": [ + "new_normal" + ] + } + """; + Assert.That(serializedJson, Is.EqualTo(expectedJson).IgnoreWhiteSpace); + } + + [Test] + public void JsonAccessAttribute_WithNullListsInJson_ShouldWorkAsExpected() + { + const string json = """ + { + "read_only_prop": "read", + "normal_prop": "normal_prop", + "read_only_nullable_list": null, + "read_only_list": [] + } + """; + var obj = JsonUtils.Deserialize(json); + + Assert.Multiple(() => + { + // Read-only nullable list should be null when JSON contains null + var nullableReadOnlyList = obj.ReadOnlyNullableList?.ToArray(); + Assert.That(nullableReadOnlyList, Is.Null); + + // Read-only non-nullable list should never be null, but empty when JSON contains null + var readOnlyList = obj.ReadOnlyList.ToArray(); // This should be initialized to an empty list by default + Assert.That(readOnlyList, Is.Not.Null); + Assert.That(readOnlyList, Is.Empty); + }); + + // Serialize and verify read-only lists are not included + var serializedJson = JsonUtils.Serialize(obj); + Assert.That(serializedJson, Does.Not.Contain("read_only_prop")); + Assert.That(serializedJson, Does.Not.Contain("read_only_nullable_list")); + Assert.That(serializedJson, Does.Not.Contain("read_only_list")); + } +} diff --git a/src/Merge.Client.Test/Core/OneOfSerializerTests.cs b/src/Merge.Client.Test/Core/Json/OneOfSerializerTests.cs similarity index 87% rename from src/Merge.Client.Test/Core/OneOfSerializerTests.cs rename to src/Merge.Client.Test/Core/Json/OneOfSerializerTests.cs index 7bff6992..45fe4fa3 100644 --- a/src/Merge.Client.Test/Core/OneOfSerializerTests.cs +++ b/src/Merge.Client.Test/Core/Json/OneOfSerializerTests.cs @@ -4,9 +4,10 @@ using NUnit.Framework; using OneOf; -namespace Merge.Client.Test.Core; +namespace Merge.Client.Test.Core.Json; [TestFixture] +[Parallelizable(ParallelScope.All)] public class OneOfSerializerTests { private class Foo @@ -55,7 +56,7 @@ private class Bar Foo, Bar >.FromT3(new Foo { StringProp = "test" }); - private const string OneOf4String = "{\n \"string_prop\": \"test\"\n}"; + private const string OneOf4String = "{\"string_prop\": \"test\"}"; private static readonly OneOf OneOf5 = OneOf< string, @@ -64,7 +65,7 @@ private class Bar Foo, Bar >.FromT4(new Bar { IntProp = 5 }); - private const string OneOf5String = "{\n \"int_prop\": 5\n}"; + private const string OneOf5String = "{\"int_prop\": 5}"; [Test] public void Serialize_OneOfs_Should_Return_Expected_String() @@ -82,7 +83,7 @@ public void Serialize_OneOfs_Should_Return_Expected_String() foreach (var (oneOf, expected) in testData) { var result = JsonUtils.Serialize(oneOf); - Assert.That(result, Is.EqualTo(expected)); + Assert.That(result, Is.EqualTo(expected).IgnoreWhiteSpace); } }); } @@ -104,7 +105,7 @@ public void OneOfs_Should_Deserialize_From_String() { var result = JsonUtils.Deserialize>(json); Assert.That(result.Index, Is.EqualTo(oneOf.Index)); - Assert.That(json, Is.EqualTo(JsonUtils.Serialize(result.Value))); + Assert.That(json, Is.EqualTo(JsonUtils.Serialize(result.Value)).IgnoreWhiteSpace); } }); } @@ -119,7 +120,7 @@ public void OneOfs_Should_Deserialize_From_String() Foo, Bar >.FromT4(new Bar { IntProp = 5 }); - private const string NullableOneOf2String = "{\n \"int_prop\": 5\n}"; + private const string NullableOneOf2String = "{\"int_prop\": 5}"; [Test] public void Serialize_NullableOneOfs_Should_Return_Expected_String() @@ -134,7 +135,7 @@ public void Serialize_NullableOneOfs_Should_Return_Expected_String() foreach (var (oneOf, expected) in testData) { var result = JsonUtils.Serialize(oneOf); - Assert.That(result, Is.EqualTo(expected)); + Assert.That(result, Is.EqualTo(expected).IgnoreWhiteSpace); } }); } @@ -153,7 +154,7 @@ public void NullableOneOfs_Should_Deserialize_From_String() { var result = JsonUtils.Deserialize?>(json); Assert.That(result?.Index, Is.EqualTo(oneOf?.Index)); - Assert.That(json, Is.EqualTo(JsonUtils.Serialize(result?.Value))); + Assert.That(json, Is.EqualTo(JsonUtils.Serialize(result?.Value)).IgnoreWhiteSpace); } }); } @@ -170,7 +171,7 @@ public void NullableOneOfs_Should_Deserialize_From_String() int, Foo? >.FromT2(new Foo { StringProp = "test" }); - private const string OneOfWithNullable2String = "{\n \"string_prop\": \"test\"\n}"; + private const string OneOfWithNullable2String = "{\"string_prop\": \"test\"}"; private static readonly OneOf OneOfWithNullable3 = OneOf< string, @@ -193,7 +194,7 @@ public void Serialize_OneOfWithNullables_Should_Return_Expected_String() foreach (var (oneOf, expected) in testData) { var result = JsonUtils.Serialize(oneOf); - Assert.That(result, Is.EqualTo(expected)); + Assert.That(result, Is.EqualTo(expected).IgnoreWhiteSpace); } }); } @@ -213,7 +214,7 @@ public void OneOfWithNullables_Should_Deserialize_From_String() { var result = JsonUtils.Deserialize>(json); Assert.That(result.Index, Is.EqualTo(oneOf.Index)); - Assert.That(json, Is.EqualTo(JsonUtils.Serialize(result.Value))); + Assert.That(json, Is.EqualTo(JsonUtils.Serialize(result.Value)).IgnoreWhiteSpace); } }); } @@ -224,16 +225,16 @@ public void Serialize_OneOfWithObjectLast_Should_Return_Expected_String() var oneOfWithObjectLast = OneOf.FromT4( new { random = "data" } ); - const string oneOfWithObjectLastString = "{\n \"random\": \"data\"\n}"; + const string oneOfWithObjectLastString = "{\"random\": \"data\"}"; var result = JsonUtils.Serialize(oneOfWithObjectLast); - Assert.That(result, Is.EqualTo(oneOfWithObjectLastString)); + Assert.That(result, Is.EqualTo(oneOfWithObjectLastString).IgnoreWhiteSpace); } [Test] public void OneOfWithObjectLast_Should_Deserialize_From_String() { - const string oneOfWithObjectLastString = "{\n \"random\": \"data\"\n}"; + const string oneOfWithObjectLastString = "{\"random\": \"data\"}"; var result = JsonUtils.Deserialize>( oneOfWithObjectLastString ); @@ -241,7 +242,10 @@ public void OneOfWithObjectLast_Should_Deserialize_From_String() { Assert.That(result.Index, Is.EqualTo(4)); Assert.That(result.Value, Is.InstanceOf()); - Assert.That(JsonUtils.Serialize(result.Value), Is.EqualTo(oneOfWithObjectLastString)); + Assert.That( + JsonUtils.Serialize(result.Value), + Is.EqualTo(oneOfWithObjectLastString).IgnoreWhiteSpace + ); }); } @@ -251,16 +255,16 @@ public void Serialize_OneOfWithObjectNotLast_Should_Return_Expected_String() var oneOfWithObjectNotLast = OneOf.FromT1( new { random = "data" } ); - const string oneOfWithObjectNotLastString = "{\n \"random\": \"data\"\n}"; + const string oneOfWithObjectNotLastString = "{\"random\": \"data\"}"; var result = JsonUtils.Serialize(oneOfWithObjectNotLast); - Assert.That(result, Is.EqualTo(oneOfWithObjectNotLastString)); + Assert.That(result, Is.EqualTo(oneOfWithObjectNotLastString).IgnoreWhiteSpace); } [Test] public void OneOfWithObjectNotLast_Should_Deserialize_From_String() { - const string oneOfWithObjectNotLastString = "{\n \"random\": \"data\"\n}"; + const string oneOfWithObjectNotLastString = "{\"random\": \"data\"}"; var result = JsonUtils.Deserialize>( oneOfWithObjectNotLastString ); @@ -270,7 +274,7 @@ public void OneOfWithObjectNotLast_Should_Deserialize_From_String() Assert.That(result.Value, Is.InstanceOf()); Assert.That( JsonUtils.Serialize(result.Value), - Is.EqualTo(oneOfWithObjectNotLastString) + Is.EqualTo(oneOfWithObjectNotLastString).IgnoreWhiteSpace ); }); } diff --git a/src/Merge.Client.Test/Core/QueryStringConverterTests.cs b/src/Merge.Client.Test/Core/QueryStringConverterTests.cs new file mode 100644 index 00000000..447dce71 --- /dev/null +++ b/src/Merge.Client.Test/Core/QueryStringConverterTests.cs @@ -0,0 +1,122 @@ +using Merge.Client.Core; +using NUnit.Framework; + +namespace Merge.Client.Test.Core; + +[TestFixture] +public class QueryStringConverterTests +{ + [Test] + public void ToQueryStringCollection_Form() + { + var obj = new + { + Name = "John", + Age = 30, + Address = new + { + Street = "123 Main St", + City = "Anytown", + Coordinates = new[] { 39.781721f, -89.650148f }, + }, + Tags = new[] { "Developer", "Blogger" }, + }; + var result = QueryStringConverter.ToForm(obj); + var expected = new List> + { + new("Name", "John"), + new("Age", "30"), + new("Address[Street]", "123 Main St"), + new("Address[City]", "Anytown"), + new("Address[Coordinates]", "39.78172,-89.65015"), + new("Tags", "Developer,Blogger"), + }; + Assert.That(result, Is.EqualTo(expected)); + } + + [Test] + public void ToQueryStringCollection_ExplodedForm() + { + var obj = new + { + Name = "John", + Age = 30, + Address = new + { + Street = "123 Main St", + City = "Anytown", + Coordinates = new[] { 39.781721f, -89.650148f }, + }, + Tags = new[] { "Developer", "Blogger" }, + }; + var result = QueryStringConverter.ToExplodedForm(obj); + var expected = new List> + { + new("Name", "John"), + new("Age", "30"), + new("Address[Street]", "123 Main St"), + new("Address[City]", "Anytown"), + new("Address[Coordinates]", "39.78172"), + new("Address[Coordinates]", "-89.65015"), + new("Tags", "Developer"), + new("Tags", "Blogger"), + }; + Assert.That(result, Is.EqualTo(expected)); + } + + [Test] + public void ToQueryStringCollection_DeepObject() + { + var obj = new + { + Name = "John", + Age = 30, + Address = new + { + Street = "123 Main St", + City = "Anytown", + Coordinates = new[] { 39.781721f, -89.650148f }, + }, + Tags = new[] { "Developer", "Blogger" }, + }; + var result = QueryStringConverter.ToDeepObject(obj); + var expected = new List> + { + new("Name", "John"), + new("Age", "30"), + new("Address[Street]", "123 Main St"), + new("Address[City]", "Anytown"), + new("Address[Coordinates][0]", "39.78172"), + new("Address[Coordinates][1]", "-89.65015"), + new("Tags[0]", "Developer"), + new("Tags[1]", "Blogger"), + }; + Assert.That(result, Is.EqualTo(expected)); + } + + [Test] + public void ToQueryStringCollection_OnString_ThrowsException() + { + var exception = Assert.Throws(() => QueryStringConverter.ToForm("invalid")); + Assert.That( + exception.Message, + Is.EqualTo( + "Only objects can be converted to query string collections. Given type is String." + ) + ); + } + + [Test] + public void ToQueryStringCollection_OnArray_ThrowsException() + { + var exception = Assert.Throws( + () => QueryStringConverter.ToForm(Array.Empty()) + ); + Assert.That( + exception.Message, + Is.EqualTo( + "Only objects can be converted to query string collections. Given type is Array." + ) + ); + } +} diff --git a/src/Merge.Client.Test/Core/RawClientTests.cs b/src/Merge.Client.Test/Core/RawClientTests.cs deleted file mode 100644 index f65ae64f..00000000 --- a/src/Merge.Client.Test/Core/RawClientTests.cs +++ /dev/null @@ -1,105 +0,0 @@ -using Merge.Client.Core; -using NUnit.Framework; -using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; -using WireMockRequest = WireMock.RequestBuilders.Request; -using WireMockResponse = WireMock.ResponseBuilders.Response; - -namespace Merge.Client.Test.Core; - -[TestFixture] -public class RawClientTests -{ - private const int MaxRetries = 3; - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() - { - _server.Dispose(); - _httpClient.Dispose(); - } -} diff --git a/src/Merge.Client.Test/Core/RawClientTests/AdditionalHeadersTests.cs b/src/Merge.Client.Test/Core/RawClientTests/AdditionalHeadersTests.cs new file mode 100644 index 00000000..b21c5abb --- /dev/null +++ b/src/Merge.Client.Test/Core/RawClientTests/AdditionalHeadersTests.cs @@ -0,0 +1,137 @@ +using Merge.Client.Core; +using NUnit.Framework; +using WireMock.Server; +using SystemTask = global::System.Threading.Tasks.Task; +using WireMockRequest = WireMock.RequestBuilders.Request; +using WireMockResponse = WireMock.ResponseBuilders.Response; + +// ReSharper disable NullableWarningSuppressionIsUsed + +namespace Merge.Client.Test.Core.RawClientTests; + +[TestFixture] +[Parallelizable(ParallelScope.Self)] +public class AdditionalHeadersTests +{ + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() + { + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions + { + HttpClient = _httpClient, + Headers = new Headers( + new Dictionary + { + ["a"] = "client_headers", + ["b"] = "client_headers", + ["c"] = "client_headers", + ["d"] = "client_headers", + ["e"] = "client_headers", + ["f"] = "client_headers", + ["client_multiple"] = "client_headers", + } + ), + AdditionalHeaders = new List> + { + new("b", "client_additional_headers"), + new("c", "client_additional_headers"), + new("d", "client_additional_headers"), + new("e", null), + new("client_multiple", "client_additional_headers1"), + new("client_multiple", "client_additional_headers2"), + }, + } + ); + } + + [Test] + public async SystemTask SendRequestAsync_AdditionalHeaderParameters() + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new JsonRequest + { + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + Headers = new Headers( + new Dictionary + { + ["c"] = "request_headers", + ["d"] = "request_headers", + ["request_multiple"] = "request_headers", + } + ), + Options = new RequestOptions + { + AdditionalHeaders = new List> + { + new("d", "request_additional_headers"), + new("f", null), + new("request_multiple", "request_additional_headers1"), + new("request_multiple", "request_additional_headers2"), + }, + }, + }; + + var response = await _rawClient.SendRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.Multiple(() => + { + Assert.That(content, Is.EqualTo("Success")); + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + var headers = + _server.LogEntries[0].RequestMessage.Headers + ?? throw new Exception("Headers are null"); + + Assert.That(headers, Contains.Key("client_multiple")); + Assert.That(headers!["client_multiple"][0], Does.Contain("client_additional_headers1")); + Assert.That(headers["client_multiple"][0], Does.Contain("client_additional_headers2")); + + Assert.That(headers, Contains.Key("request_multiple")); + Assert.That( + headers["request_multiple"][0], + Does.Contain("request_additional_headers1") + ); + Assert.That( + headers["request_multiple"][0], + Does.Contain("request_additional_headers2") + ); + + Assert.That(headers, Contains.Key("a")); + Assert.That(headers["a"][0], Does.Contain("client_headers")); + + Assert.That(headers, Contains.Key("b")); + Assert.That(headers["b"][0], Does.Contain("client_additional_headers")); + + Assert.That(headers, Contains.Key("c")); + Assert.That(headers["c"][0], Does.Contain("request_headers")); + + Assert.That(headers, Contains.Key("d")); + Assert.That(headers["d"][0], Does.Contain("request_additional_headers")); + + Assert.That(headers, Does.Not.ContainKey("e")); + Assert.That(headers, Does.Not.ContainKey("f")); + }); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); + } +} diff --git a/src/Merge.Client.Test/Core/RawClientTests/AdditionalParametersTests.cs b/src/Merge.Client.Test/Core/RawClientTests/AdditionalParametersTests.cs new file mode 100644 index 00000000..34d50cc1 --- /dev/null +++ b/src/Merge.Client.Test/Core/RawClientTests/AdditionalParametersTests.cs @@ -0,0 +1,300 @@ +using Merge.Client.Core; +using NUnit.Framework; +using WireMock.Matchers; +using WireMock.Server; +using SystemTask = global::System.Threading.Tasks.Task; +using WireMockRequest = WireMock.RequestBuilders.Request; +using WireMockResponse = WireMock.ResponseBuilders.Response; + +namespace Merge.Client.Test.Core.RawClientTests; + +[TestFixture] +[Parallelizable(ParallelScope.Self)] +public class AdditionalParametersTests +{ + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() + { + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient(new ClientOptions { HttpClient = _httpClient }); + } + + [Test] + public async SystemTask SendRequestAsync_AdditionalQueryParameters() + { + _server + .Given(WireMockRequest.Create().WithPath("/test").WithParam("foo", "bar").UsingGet()) + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new JsonRequest() + { + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + Options = new RequestOptions + { + AdditionalQueryParameters = new List> + { + new("foo", "bar"), + }, + }, + }; + + var response = await _rawClient.SendRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [Test] + public async SystemTask SendRequestAsync_AdditionalQueryParameters_Override() + { + _server + .Given(WireMockRequest.Create().WithPath("/test").WithParam("foo", "null").UsingGet()) + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new JsonRequest() + { + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + Query = new Dictionary { { "foo", "bar" } }, + Options = new RequestOptions + { + AdditionalQueryParameters = new List> + { + new("foo", "null"), + }, + }, + }; + + var response = await _rawClient.SendRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [Test] + public async SystemTask SendRequestAsync_AdditionalQueryParameters_Merge() + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new JsonRequest() + { + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + Query = new Dictionary { { "foo", "baz" } }, + Options = new RequestOptions + { + AdditionalQueryParameters = new List> + { + new("foo", "one"), + new("foo", "two"), + }, + }, + }; + + var response = await _rawClient.SendRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + + var requestUrl = _server.LogEntries.First().RequestMessage.Url; + Assert.That(requestUrl, Does.Contain("foo=one")); + Assert.That(requestUrl, Does.Contain("foo=two")); + Assert.That(requestUrl, Does.Not.Contain("foo=baz")); + } + + [Test] + public async SystemTask SendRequestAsync_AdditionalBodyProperties() + { + string expectedBody = "{\n \"foo\": \"bar\",\n \"baz\": \"qux\"\n}"; + _server + .Given( + WireMockRequest + .Create() + .WithPath("/test") + .UsingPost() + .WithBody(new JsonMatcher(expectedBody)) + ) + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new JsonRequest + { + BaseUrl = _baseUrl, + Method = HttpMethod.Post, + Path = "/test", + Body = new Dictionary { { "foo", "bar" } }, + Options = new RequestOptions + { + AdditionalBodyProperties = new Dictionary { { "baz", "qux" } }, + }, + }; + + var response = await _rawClient.SendRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [Test] + public async SystemTask SendRequestAsync_AdditionalBodyProperties_Override() + { + string expectedBody = "{\n \"foo\": null\n}"; + _server + .Given( + WireMockRequest + .Create() + .WithPath("/test") + .UsingPost() + .WithBody(new JsonMatcher(expectedBody)) + ) + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new JsonRequest + { + BaseUrl = _baseUrl, + Method = HttpMethod.Post, + Path = "/test", + Body = new Dictionary { { "foo", "bar" } }, + Options = new RequestOptions + { + AdditionalBodyProperties = new Dictionary { { "foo", null } }, + }, + }; + + var response = await _rawClient.SendRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [Test] + public async SystemTask SendRequestAsync_AdditionalBodyProperties_DeepMerge() + { + const string expectedBody = """ + { + "foo": { + "inner1": "original", + "inner2": "overridden", + "inner3": { + "deepProp1": "deep-override", + "deepProp2": "original", + "deepProp3": null, + "deepProp4": "new-value" + } + }, + "bar": "new-value", + "baz": ["new","value"] + } + """; + + _server + .Given( + WireMockRequest + .Create() + .WithPath("/test-deep-merge") + .UsingPost() + .WithBody(new JsonMatcher(expectedBody)) + ) + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new JsonRequest + { + BaseUrl = _baseUrl, + Method = HttpMethod.Post, + Path = "/test-deep-merge", + Body = new Dictionary + { + { + "foo", + new Dictionary + { + { "inner1", "original" }, + { "inner2", "original" }, + { + "inner3", + new Dictionary + { + { "deepProp1", "deep-original" }, + { "deepProp2", "original" }, + { "deepProp3", "" }, + } + }, + } + }, + { + "baz", + new List { "original" } + }, + }, + Options = new RequestOptions + { + AdditionalBodyProperties = new Dictionary + { + { + "foo", + new Dictionary + { + { "inner2", "overridden" }, + { + "inner3", + new Dictionary + { + { "deepProp1", "deep-override" }, + { "deepProp3", null }, + { "deepProp4", "new-value" }, + } + }, + } + }, + { "bar", "new-value" }, + { + "baz", + new List { "new", "value" } + }, + }, + }, + }; + + var response = await _rawClient.SendRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); + } +} diff --git a/src/Merge.Client.Test/Core/RawClientTests/MultipartFormTests.cs b/src/Merge.Client.Test/Core/RawClientTests/MultipartFormTests.cs new file mode 100644 index 00000000..faff9672 --- /dev/null +++ b/src/Merge.Client.Test/Core/RawClientTests/MultipartFormTests.cs @@ -0,0 +1,1120 @@ +using global::System.Net.Http; +using global::System.Text; +using global::System.Text.Json.Serialization; +using Merge.Client.Core; +using NUnit.Framework; +using SystemTask = global::System.Threading.Tasks.Task; + +namespace Merge.Client.Test.Core.RawClientTests; + +[TestFixture] +[Parallelizable(ParallelScope.Self)] +public class MultipartFormTests +{ + private static SimpleObject _simpleObject = new(); + + private static string _simpleFormEncoded = + "meta=data&Date=2023-10-01&Time=12:00:00&Duration=01:00:00&Id=1a1bb98f-47c6-407b-9481-78476affe52a&IsActive=true&Count=42&Initial=A&Values=data,2023-10-01,12:00:00,01:00:00,1a1bb98f-47c6-407b-9481-78476affe52a,true,42,A"; + + private static string _simpleExplodedFormEncoded = + "meta=data&Date=2023-10-01&Time=12:00:00&Duration=01:00:00&Id=1a1bb98f-47c6-407b-9481-78476affe52a&IsActive=true&Count=42&Initial=A&Values=data&Values=2023-10-01&Values=12:00:00&Values=01:00:00&Values=1a1bb98f-47c6-407b-9481-78476affe52a&Values=true&Values=42&Values=A"; + + private static ComplexObject _complexObject = new(); + + private static string _complexJson = """ + { + "meta": "data", + "Nested": { + "foo": "value" + }, + "NestedDictionary": { + "key": { + "foo": "value" + } + }, + "ListOfObjects": [ + { + "foo": "value" + }, + { + "foo": "value2" + } + ], + "Date": "2023-10-01", + "Time": "12:00:00", + "Duration": "01:00:00", + "Id": "1a1bb98f-47c6-407b-9481-78476affe52a", + "IsActive": true, + "Count": 42, + "Initial": "A" + } + """; + + [Test] + public async SystemTask ShouldAddStringPart() + { + const string partInput = "string content"; + var multipartFormRequest = CreateMultipartFormRequest(); + multipartFormRequest.AddStringPart("string", partInput); + var httpContent = multipartFormRequest.CreateContent(); + Assert.That(httpContent, Is.InstanceOf()); + var multipartContent = (MultipartFormDataContent)httpContent; + var boundary = GetBoundary(multipartContent); + var expected = $""" + --{boundary} + Content-Type: text/plain + Content-Disposition: form-data; name=string + + {partInput} + --{boundary}-- + """; + var actual = await multipartContent.ReadAsStringAsync(); + Assert.That(actual, Is.EqualTo(expected).IgnoreWhiteSpace); + } + + [Test] + public async SystemTask ShouldAddStringParts() + { + const string partInput = "string content"; + var multipartFormRequest = CreateMultipartFormRequest(); + multipartFormRequest.AddStringParts("strings", [partInput, partInput]); + var httpContent = multipartFormRequest.CreateContent(); + Assert.That(httpContent, Is.InstanceOf()); + var multipartContent = (MultipartFormDataContent)httpContent; + var boundary = GetBoundary(multipartContent); + var expected = $""" + --{boundary} + Content-Type: text/plain + Content-Disposition: form-data; name=strings + + {partInput} + --{boundary} + Content-Type: text/plain + Content-Disposition: form-data; name=strings + + {partInput} + --{boundary}-- + """; + var actual = await multipartContent.ReadAsStringAsync(); + Assert.That(actual, Is.EqualTo(expected).IgnoreWhiteSpace); + } + + [Test] + public async SystemTask GivenNull_ShouldNotAddStringPart() + { + var multipartFormRequest = CreateMultipartFormRequest(); + multipartFormRequest.AddStringPart("string", null); + var httpContent = multipartFormRequest.CreateContent(); + Assert.That(httpContent, Is.InstanceOf()); + var multipartContent = (MultipartFormDataContent)httpContent; + var boundary = GetBoundary(multipartContent); + var expected = $""" + --{boundary} + --{boundary}-- + """; + var actual = await multipartContent.ReadAsStringAsync(); + Assert.That(actual, Is.EqualTo(expected).IgnoreWhiteSpace); + } + + [Test] + public async SystemTask ShouldAddStringParts_WithNullsInList() + { + const string partInput = "string content"; + var multipartFormRequest = CreateMultipartFormRequest(); + multipartFormRequest.AddStringParts("strings", [partInput, null, partInput]); + var httpContent = multipartFormRequest.CreateContent(); + Assert.That(httpContent, Is.InstanceOf()); + var multipartContent = (MultipartFormDataContent)httpContent; + var boundary = GetBoundary(multipartContent); + var expected = $""" + --{boundary} + Content-Type: text/plain + Content-Disposition: form-data; name=strings + + {partInput} + --{boundary} + Content-Type: text/plain + Content-Disposition: form-data; name=strings + + {partInput} + --{boundary}-- + """; + var actual = await multipartContent.ReadAsStringAsync(); + Assert.That(actual, Is.EqualTo(expected).IgnoreWhiteSpace); + } + + [Test] + public async SystemTask ShouldAddStringPart_WithContentType() + { + const string partInput = "string content"; + var multipartFormRequest = CreateMultipartFormRequest(); + multipartFormRequest.AddStringPart("string", partInput, "text/xml"); + var httpContent = multipartFormRequest.CreateContent(); + Assert.That(httpContent, Is.InstanceOf()); + var multipartContent = (MultipartFormDataContent)httpContent; + var boundary = GetBoundary(multipartContent); + var expected = $""" + --{boundary} + Content-Type: text/xml + Content-Disposition: form-data; name=string + + {partInput} + --{boundary}-- + """; + var actual = await multipartContent.ReadAsStringAsync(); + Assert.That(actual, Is.EqualTo(expected).IgnoreWhiteSpace); + } + + [Test] + public async SystemTask ShouldAddStringPart_WithContentTypeAndCharset() + { + const string partInput = "string content"; + var multipartFormRequest = CreateMultipartFormRequest(); + multipartFormRequest.AddStringPart("string", partInput, "text/xml; charset=utf-8"); + var httpContent = multipartFormRequest.CreateContent(); + Assert.That(httpContent, Is.InstanceOf()); + var multipartContent = (MultipartFormDataContent)httpContent; + var boundary = GetBoundary(multipartContent); + var expected = $""" + --{boundary} + Content-Type: text/xml; charset=utf-8 + Content-Disposition: form-data; name=string + + {partInput} + --{boundary}-- + """; + var actual = await multipartContent.ReadAsStringAsync(); + Assert.That(actual, Is.EqualTo(expected).IgnoreWhiteSpace); + } + + [Test] + public async SystemTask ShouldAddStringParts_WithContentType() + { + const string partInput = "string content"; + var multipartFormRequest = CreateMultipartFormRequest(); + multipartFormRequest.AddStringParts("strings", [partInput, partInput], "text/xml"); + var httpContent = multipartFormRequest.CreateContent(); + Assert.That(httpContent, Is.InstanceOf()); + var multipartContent = (MultipartFormDataContent)httpContent; + var boundary = GetBoundary(multipartContent); + var expected = $""" + --{boundary} + Content-Type: text/xml + Content-Disposition: form-data; name=strings + + {partInput} + --{boundary} + Content-Type: text/xml + Content-Disposition: form-data; name=strings + + {partInput} + --{boundary}-- + """; + var actual = await multipartContent.ReadAsStringAsync(); + Assert.That(actual, Is.EqualTo(expected).IgnoreWhiteSpace); + } + + [Test] + public async SystemTask ShouldAddStringParts_WithContentTypeAndCharset() + { + const string partInput = "string content"; + var multipartFormRequest = CreateMultipartFormRequest(); + multipartFormRequest.AddStringParts( + "strings", + [partInput, partInput], + "text/xml; charset=utf-8" + ); + var httpContent = multipartFormRequest.CreateContent(); + Assert.That(httpContent, Is.InstanceOf()); + var multipartContent = (MultipartFormDataContent)httpContent; + var boundary = GetBoundary(multipartContent); + var expected = $""" + --{boundary} + Content-Type: text/xml; charset=utf-8 + Content-Disposition: form-data; name=strings + + {partInput} + --{boundary} + Content-Type: text/xml; charset=utf-8 + Content-Disposition: form-data; name=strings + + {partInput} + --{boundary}-- + """; + var actual = await multipartContent.ReadAsStringAsync(); + Assert.That(actual, Is.EqualTo(expected).IgnoreWhiteSpace); + } + + [Test] + public async SystemTask ShouldAddFileParameter_WithFileName() + { + var (partInput, partExpectedString) = GetFileParameterTestData(); + var file = new FileParameter { Stream = partInput, FileName = "test.txt" }; + var multipartFormRequest = CreateMultipartFormRequest(); + multipartFormRequest.AddFileParameterPart("file", file); + + var httpContent = multipartFormRequest.CreateContent(); + Assert.That(httpContent, Is.InstanceOf()); + var multipartContent = (MultipartFormDataContent)httpContent; + + var boundary = GetBoundary(multipartContent); + var expected = $""" + --{boundary} + Content-Type: application/octet-stream + Content-Disposition: form-data; name=file; filename=test.txt; filename*=utf-8''test.txt + + {partExpectedString} + --{boundary}-- + """; + + var actual = await multipartContent.ReadAsStringAsync(); + Assert.That(actual, Is.EqualTo(expected).IgnoreWhiteSpace); + } + + [Test] + public async SystemTask ShouldAddFileParameter_WithoutFileName() + { + var (partInput, partExpectedString) = GetFileParameterTestData(); + var multipartFormRequest = CreateMultipartFormRequest(); + multipartFormRequest.AddFileParameterPart("file", partInput); + + var httpContent = multipartFormRequest.CreateContent(); + Assert.That(httpContent, Is.InstanceOf()); + var multipartContent = (MultipartFormDataContent)httpContent; + + var boundary = GetBoundary(multipartContent); + var expected = $""" + --{boundary} + Content-Type: application/octet-stream + Content-Disposition: form-data; name=file + + {partExpectedString} + --{boundary}-- + """; + + var actual = await multipartContent.ReadAsStringAsync(); + Assert.That(actual, Is.EqualTo(expected).IgnoreWhiteSpace); + } + + [Test] + public async SystemTask ShouldAddFileParameter_WithContentType() + { + var (partInput, partExpectedString) = GetFileParameterTestData(); + var file = new FileParameter + { + Stream = partInput, + FileName = "test.txt", + ContentType = "text/plain", + }; + var multipartFormRequest = CreateMultipartFormRequest(); + multipartFormRequest.AddFileParameterPart("file", file, "ignored-fallback-content-type"); + + var httpContent = multipartFormRequest.CreateContent(); + Assert.That(httpContent, Is.InstanceOf()); + var multipartContent = (MultipartFormDataContent)httpContent; + + var boundary = GetBoundary(multipartContent); + var expected = $""" + --{boundary} + Content-Type: text/plain + Content-Disposition: form-data; name=file; filename=test.txt; filename*=utf-8''test.txt + + {partExpectedString} + --{boundary}-- + """; + + var actual = await multipartContent.ReadAsStringAsync(); + Assert.That(actual, Is.EqualTo(expected).IgnoreWhiteSpace); + } + + [Test] + public async SystemTask ShouldAddFileParameter_WithContentTypeAndCharset() + { + var (partInput, partExpectedString) = GetFileParameterTestData(); + var file = new FileParameter + { + Stream = partInput, + FileName = "test.txt", + ContentType = "text/plain; charset=utf-8", + }; + var multipartFormRequest = CreateMultipartFormRequest(); + multipartFormRequest.AddFileParameterPart("file", file, "ignored-fallback-content-type"); + + var httpContent = multipartFormRequest.CreateContent(); + Assert.That(httpContent, Is.InstanceOf()); + var multipartContent = (MultipartFormDataContent)httpContent; + + var boundary = GetBoundary(multipartContent); + var expected = $""" + --{boundary} + Content-Type: text/plain; charset=utf-8 + Content-Disposition: form-data; name=file; filename=test.txt; filename*=utf-8''test.txt + + {partExpectedString} + --{boundary}-- + """; + + var actual = await multipartContent.ReadAsStringAsync(); + Assert.That(actual, Is.EqualTo(expected).IgnoreWhiteSpace); + } + + [Test] + public async SystemTask ShouldAddFileParameter_WithFallbackContentType() + { + var (partInput, partExpectedString) = GetFileParameterTestData(); + var file = new FileParameter { Stream = partInput, FileName = "test.txt" }; + var multipartFormRequest = CreateMultipartFormRequest(); + multipartFormRequest.AddFileParameterPart("file", file, "text/plain"); + + var httpContent = multipartFormRequest.CreateContent(); + Assert.That(httpContent, Is.InstanceOf()); + var multipartContent = (MultipartFormDataContent)httpContent; + + var boundary = GetBoundary(multipartContent); + var expected = $""" + --{boundary} + Content-Type: text/plain + Content-Disposition: form-data; name=file; filename=test.txt; filename*=utf-8''test.txt + + {partExpectedString} + --{boundary}-- + """; + + var actual = await multipartContent.ReadAsStringAsync(); + Assert.That(actual, Is.EqualTo(expected).IgnoreWhiteSpace); + } + + [Test] + public async SystemTask ShouldAddFileParameter_WithFallbackContentTypeAndCharset() + { + var (partInput, partExpectedString) = GetFileParameterTestData(); + var file = new FileParameter { Stream = partInput, FileName = "test.txt" }; + var multipartFormRequest = CreateMultipartFormRequest(); + multipartFormRequest.AddFileParameterPart("file", file, "text/plain; charset=utf-8"); + + var httpContent = multipartFormRequest.CreateContent(); + Assert.That(httpContent, Is.InstanceOf()); + var multipartContent = (MultipartFormDataContent)httpContent; + + var boundary = GetBoundary(multipartContent); + var expected = $""" + --{boundary} + Content-Type: text/plain; charset=utf-8 + Content-Disposition: form-data; name=file; filename=test.txt; filename*=utf-8''test.txt + + {partExpectedString} + --{boundary}-- + """; + + var actual = await multipartContent.ReadAsStringAsync(); + Assert.That(actual, Is.EqualTo(expected).IgnoreWhiteSpace); + } + + [Test] + public async SystemTask ShouldAddFileParameters() + { + var (partInput1, partExpectedString1) = GetFileParameterTestData(); + var (partInput2, partExpectedString2) = GetFileParameterTestData(); + var file1 = new FileParameter { Stream = partInput1, FileName = "test1.txt" }; + var file2 = new FileParameter { Stream = partInput2, FileName = "test2.txt" }; + var multipartFormRequest = CreateMultipartFormRequest(); + multipartFormRequest.AddFileParameterParts("file", [file1, file2]); + + var httpContent = multipartFormRequest.CreateContent(); + Assert.That(httpContent, Is.InstanceOf()); + var multipartContent = (MultipartFormDataContent)httpContent; + + var boundary = GetBoundary(multipartContent); + var expected = $""" + --{boundary} + Content-Type: application/octet-stream + Content-Disposition: form-data; name=file; filename=test1.txt; filename*=utf-8''test1.txt + + {partExpectedString1} + --{boundary} + Content-Type: application/octet-stream + Content-Disposition: form-data; name=file; filename=test2.txt; filename*=utf-8''test2.txt + + {partExpectedString2} + --{boundary}-- + """; + + var actual = await multipartContent.ReadAsStringAsync(); + Assert.That(actual, Is.EqualTo(expected).IgnoreWhiteSpace); + } + + [Test] + public async SystemTask ShouldAddFileParameters_WithNullsInList() + { + var (partInput1, partExpectedString1) = GetFileParameterTestData(); + var (partInput2, partExpectedString2) = GetFileParameterTestData(); + var file1 = new FileParameter { Stream = partInput1, FileName = "test1.txt" }; + var file2 = new FileParameter { Stream = partInput2, FileName = "test2.txt" }; + var multipartFormRequest = CreateMultipartFormRequest(); + multipartFormRequest.AddFileParameterParts("file", [file1, null, file2]); + + var httpContent = multipartFormRequest.CreateContent(); + Assert.That(httpContent, Is.InstanceOf()); + var multipartContent = (MultipartFormDataContent)httpContent; + + var boundary = GetBoundary(multipartContent); + var expected = $""" + --{boundary} + Content-Type: application/octet-stream + Content-Disposition: form-data; name=file; filename=test1.txt; filename*=utf-8''test1.txt + + {partExpectedString1} + --{boundary} + Content-Type: application/octet-stream + Content-Disposition: form-data; name=file; filename=test2.txt; filename*=utf-8''test2.txt + + {partExpectedString2} + --{boundary}-- + """; + + var actual = await multipartContent.ReadAsStringAsync(); + Assert.That(actual, Is.EqualTo(expected).IgnoreWhiteSpace); + } + + [Test] + public async SystemTask GivenNull_ShouldNotAddFileParameter() + { + var multipartFormRequest = CreateMultipartFormRequest(); + multipartFormRequest.AddFileParameterPart("file", null); + + var httpContent = multipartFormRequest.CreateContent(); + Assert.That(httpContent, Is.InstanceOf()); + var multipartContent = (MultipartFormDataContent)httpContent; + + var boundary = GetBoundary(multipartContent); + var expected = $""" + --{boundary} + --{boundary}-- + """; + + var actual = await multipartContent.ReadAsStringAsync(); + Assert.That(actual, Is.EqualTo(expected).IgnoreWhiteSpace); + } + + [Test] + public async SystemTask ShouldAddJsonPart_WithComplexObject() + { + var multipartFormRequest = CreateMultipartFormRequest(); + multipartFormRequest.AddJsonPart("object", _complexObject); + + var httpContent = multipartFormRequest.CreateContent(); + Assert.That(httpContent, Is.InstanceOf()); + var multipartContent = (MultipartFormDataContent)httpContent; + + var boundary = GetBoundary(multipartContent); + var expected = $""" + --{boundary} + Content-Type: application/json + Content-Disposition: form-data; name=object + + {_complexJson} + --{boundary}-- + """; + + var actual = await multipartContent.ReadAsStringAsync(); + Assert.That(actual, Is.EqualTo(expected).IgnoreWhiteSpace); + } + + [Test] + public async SystemTask ShouldAddJsonPart_WithComplexObjectList() + { + var multipartFormRequest = CreateMultipartFormRequest(); + multipartFormRequest.AddJsonParts("objects", [_complexObject, _complexObject]); + + var httpContent = multipartFormRequest.CreateContent(); + Assert.That(httpContent, Is.InstanceOf()); + var multipartContent = (MultipartFormDataContent)httpContent; + + var boundary = GetBoundary(multipartContent); + var expected = $""" + --{boundary} + Content-Type: application/json + Content-Disposition: form-data; name=objects + + {_complexJson} + --{boundary} + Content-Type: application/json + Content-Disposition: form-data; name=objects + + {_complexJson} + --{boundary}-- + """; + + var actual = await multipartContent.ReadAsStringAsync(); + Assert.That(actual, Is.EqualTo(expected).IgnoreWhiteSpace); + } + + [Test] + public async SystemTask GivenNull_ShouldNotAddJsonPart() + { + var multipartFormRequest = CreateMultipartFormRequest(); + multipartFormRequest.AddJsonPart("object", null); + + var httpContent = multipartFormRequest.CreateContent(); + Assert.That(httpContent, Is.InstanceOf()); + var multipartContent = (MultipartFormDataContent)httpContent; + + var boundary = GetBoundary(multipartContent); + var expected = $""" + --{boundary} + --{boundary}-- + """; + + var actual = await multipartContent.ReadAsStringAsync(); + Assert.That(actual, Is.EqualTo(expected).IgnoreWhiteSpace); + } + + [Test] + public async SystemTask ShouldAddJsonParts_WithNullsInList() + { + var multipartFormRequest = CreateMultipartFormRequest(); + multipartFormRequest.AddJsonParts("objects", [_complexObject, null]); + + var httpContent = multipartFormRequest.CreateContent(); + Assert.That(httpContent, Is.InstanceOf()); + var multipartContent = (MultipartFormDataContent)httpContent; + + var boundary = GetBoundary(multipartContent); + var expected = $""" + --{boundary} + Content-Type: application/json + Content-Disposition: form-data; name=objects + + {_complexJson} + --{boundary}-- + """; + + var actual = await multipartContent.ReadAsStringAsync(); + Assert.That(actual, Is.EqualTo(expected).IgnoreWhiteSpace); + } + + [Test] + public async SystemTask ShouldAddJsonParts_WithContentType() + { + var multipartFormRequest = CreateMultipartFormRequest(); + multipartFormRequest.AddJsonParts("objects", [new { }], "application/json-patch+json"); + + var httpContent = multipartFormRequest.CreateContent(); + Assert.That(httpContent, Is.InstanceOf()); + var multipartContent = (MultipartFormDataContent)httpContent; + + var boundary = GetBoundary(multipartContent); + var expected = $$""" + --{{boundary}} + Content-Type: application/json-patch+json + Content-Disposition: form-data; name=objects + + {} + --{{boundary}}-- + """; + + var actual = await multipartContent.ReadAsStringAsync(); + Assert.That(actual, Is.EqualTo(expected).IgnoreWhiteSpace); + } + + [Test] + public async SystemTask ShouldAddFormEncodedParts_WithSimpleObject() + { + var multipartFormRequest = CreateMultipartFormRequest(); + multipartFormRequest.AddFormEncodedPart("object", _simpleObject); + + var httpContent = multipartFormRequest.CreateContent(); + Assert.That(httpContent, Is.InstanceOf()); + var multipartContent = (MultipartFormDataContent)httpContent; + + var boundary = GetBoundary(multipartContent); + var expected = $""" + --{boundary} + Content-Type: application/x-www-form-urlencoded + Content-Disposition: form-data; name=object + + {EscapeFormEncodedString(_simpleFormEncoded)} + --{boundary}-- + """; + + var actual = await multipartContent.ReadAsStringAsync(); + Assert.That(actual, Is.EqualTo(expected).IgnoreWhiteSpace); + } + + [Test] + public async SystemTask ShouldAddFormEncodedParts_WithSimpleObjectList() + { + var multipartFormRequest = CreateMultipartFormRequest(); + multipartFormRequest.AddFormEncodedParts("objects", [_simpleObject, _simpleObject]); + + var httpContent = multipartFormRequest.CreateContent(); + Assert.That(httpContent, Is.InstanceOf()); + var multipartContent = (MultipartFormDataContent)httpContent; + + var boundary = GetBoundary(multipartContent); + var expected = $""" + --{boundary} + Content-Type: application/x-www-form-urlencoded + Content-Disposition: form-data; name=objects + + {EscapeFormEncodedString(_simpleFormEncoded)} + --{boundary} + Content-Type: application/x-www-form-urlencoded + Content-Disposition: form-data; name=objects + + {EscapeFormEncodedString(_simpleFormEncoded)} + --{boundary}-- + """; + + var actual = await multipartContent.ReadAsStringAsync(); + Assert.That(actual, Is.EqualTo(expected).IgnoreWhiteSpace); + } + + [Test] + public async SystemTask ShouldNotAddFormEncodedParts_WithNull() + { + var multipartFormRequest = CreateMultipartFormRequest(); + multipartFormRequest.AddFormEncodedParts("object", null); + + var httpContent = multipartFormRequest.CreateContent(); + Assert.That(httpContent, Is.InstanceOf()); + var multipartContent = (MultipartFormDataContent)httpContent; + + var boundary = GetBoundary(multipartContent); + var expected = $""" + --{boundary} + --{boundary}-- + """; + + var actual = await multipartContent.ReadAsStringAsync(); + Assert.That(actual, Is.EqualTo(expected).IgnoreWhiteSpace); + } + + [Test] + public async SystemTask ShouldNotAddFormEncodedParts_WithNullsInList() + { + var multipartFormRequest = CreateMultipartFormRequest(); + multipartFormRequest.AddFormEncodedParts("objects", [_simpleObject, null]); + + var httpContent = multipartFormRequest.CreateContent(); + Assert.That(httpContent, Is.InstanceOf()); + var multipartContent = (MultipartFormDataContent)httpContent; + + var boundary = GetBoundary(multipartContent); + var expected = $""" + --{boundary} + Content-Type: application/x-www-form-urlencoded + Content-Disposition: form-data; name=objects + + {EscapeFormEncodedString(_simpleFormEncoded)} + --{boundary}-- + """; + + var actual = await multipartContent.ReadAsStringAsync(); + Assert.That(actual, Is.EqualTo(expected).IgnoreWhiteSpace); + } + + [Test] + public async SystemTask ShouldAddFormEncodedPart_WithContentType() + { + var multipartFormRequest = CreateMultipartFormRequest(); + multipartFormRequest.AddFormEncodedPart( + "objects", + new { foo = "bar" }, + "application/x-www-form-urlencoded" + ); + + var httpContent = multipartFormRequest.CreateContent(); + Assert.That(httpContent, Is.InstanceOf()); + var multipartContent = (MultipartFormDataContent)httpContent; + + var boundary = GetBoundary(multipartContent); + var expected = $""" + --{boundary} + Content-Type: application/x-www-form-urlencoded + Content-Disposition: form-data; name=objects + + foo=bar + --{boundary}-- + """; + + var actual = await multipartContent.ReadAsStringAsync(); + Assert.That(actual, Is.EqualTo(expected).IgnoreWhiteSpace); + } + + [Test] + public async SystemTask ShouldAddFormEncodedPart_WithContentTypeAndCharset() + { + var multipartFormRequest = CreateMultipartFormRequest(); + multipartFormRequest.AddFormEncodedPart( + "objects", + new { foo = "bar" }, + "application/x-www-form-urlencoded; charset=utf-8" + ); + + var httpContent = multipartFormRequest.CreateContent(); + Assert.That(httpContent, Is.InstanceOf()); + var multipartContent = (MultipartFormDataContent)httpContent; + + var boundary = GetBoundary(multipartContent); + var expected = $""" + --{boundary} + Content-Type: application/x-www-form-urlencoded; charset=utf-8 + Content-Disposition: form-data; name=objects + + foo=bar + --{boundary}-- + """; + + var actual = await multipartContent.ReadAsStringAsync(); + Assert.That(actual, Is.EqualTo(expected).IgnoreWhiteSpace); + } + + [Test] + public async SystemTask ShouldAddFormEncodedParts_WithContentType() + { + var multipartFormRequest = CreateMultipartFormRequest(); + multipartFormRequest.AddFormEncodedParts( + "objects", + [new { foo = "bar" }], + "application/x-www-form-urlencoded" + ); + + var httpContent = multipartFormRequest.CreateContent(); + Assert.That(httpContent, Is.InstanceOf()); + var multipartContent = (MultipartFormDataContent)httpContent; + + var boundary = GetBoundary(multipartContent); + var expected = $""" + --{boundary} + Content-Type: application/x-www-form-urlencoded + Content-Disposition: form-data; name=objects + + foo=bar + --{boundary}-- + """; + + var actual = await multipartContent.ReadAsStringAsync(); + Assert.That(actual, Is.EqualTo(expected).IgnoreWhiteSpace); + } + + [Test] + public async SystemTask ShouldAddFormEncodedParts_WithContentTypeAndCharset() + { + var multipartFormRequest = CreateMultipartFormRequest(); + multipartFormRequest.AddFormEncodedParts( + "objects", + [new { foo = "bar" }], + "application/x-www-form-urlencoded; charset=utf-8" + ); + + var httpContent = multipartFormRequest.CreateContent(); + Assert.That(httpContent, Is.InstanceOf()); + var multipartContent = (MultipartFormDataContent)httpContent; + + var boundary = GetBoundary(multipartContent); + var expected = $""" + --{boundary} + Content-Type: application/x-www-form-urlencoded; charset=utf-8 + Content-Disposition: form-data; name=objects + + foo=bar + --{boundary}-- + """; + + var actual = await multipartContent.ReadAsStringAsync(); + Assert.That(actual, Is.EqualTo(expected).IgnoreWhiteSpace); + } + + [Test] + public async SystemTask ShouldAddExplodedFormEncodedParts_WithSimpleObject() + { + var multipartFormRequest = CreateMultipartFormRequest(); + multipartFormRequest.AddExplodedFormEncodedPart("object", _simpleObject); + + var httpContent = multipartFormRequest.CreateContent(); + Assert.That(httpContent, Is.InstanceOf()); + var multipartContent = (MultipartFormDataContent)httpContent; + + var boundary = GetBoundary(multipartContent); + var expected = $""" + --{boundary} + Content-Type: application/x-www-form-urlencoded + Content-Disposition: form-data; name=object + + {EscapeFormEncodedString(_simpleExplodedFormEncoded)} + --{boundary}-- + """; + + var actual = await multipartContent.ReadAsStringAsync(); + Assert.That(actual, Is.EqualTo(expected).IgnoreWhiteSpace); + } + + [Test] + public async SystemTask ShouldAddExplodedFormEncodedParts_WithSimpleObjectList() + { + var multipartFormRequest = CreateMultipartFormRequest(); + multipartFormRequest.AddExplodedFormEncodedParts("objects", [_simpleObject, _simpleObject]); + + var httpContent = multipartFormRequest.CreateContent(); + Assert.That(httpContent, Is.InstanceOf()); + var multipartContent = (MultipartFormDataContent)httpContent; + + var boundary = GetBoundary(multipartContent); + var expected = $""" + --{boundary} + Content-Type: application/x-www-form-urlencoded + Content-Disposition: form-data; name=objects + + {EscapeFormEncodedString(_simpleExplodedFormEncoded)} + --{boundary} + Content-Type: application/x-www-form-urlencoded + Content-Disposition: form-data; name=objects + + {EscapeFormEncodedString(_simpleExplodedFormEncoded)} + --{boundary}-- + """; + + var actual = await multipartContent.ReadAsStringAsync(); + Assert.That(actual, Is.EqualTo(expected).IgnoreWhiteSpace); + } + + [Test] + public async SystemTask ShouldNotAddExplodedFormEncodedParts_WithNull() + { + var multipartFormRequest = CreateMultipartFormRequest(); + multipartFormRequest.AddExplodedFormEncodedPart("object", null); + + var httpContent = multipartFormRequest.CreateContent(); + Assert.That(httpContent, Is.InstanceOf()); + var multipartContent = (MultipartFormDataContent)httpContent; + + var boundary = GetBoundary(multipartContent); + var expected = $""" + --{boundary} + --{boundary}-- + """; + + var actual = await multipartContent.ReadAsStringAsync(); + Assert.That(actual, Is.EqualTo(expected).IgnoreWhiteSpace); + } + + [Test] + public async SystemTask ShouldNotAddExplodedFormEncodedParts_WithNullsInList() + { + var multipartFormRequest = CreateMultipartFormRequest(); + multipartFormRequest.AddExplodedFormEncodedParts("objects", [_simpleObject, null]); + + var httpContent = multipartFormRequest.CreateContent(); + Assert.That(httpContent, Is.InstanceOf()); + var multipartContent = (MultipartFormDataContent)httpContent; + + var boundary = GetBoundary(multipartContent); + var expected = $""" + --{boundary} + Content-Type: application/x-www-form-urlencoded + Content-Disposition: form-data; name=objects + + {EscapeFormEncodedString(_simpleExplodedFormEncoded)} + --{boundary}-- + """; + + var actual = await multipartContent.ReadAsStringAsync(); + Assert.That(actual, Is.EqualTo(expected).IgnoreWhiteSpace); + } + + [Test] + public async SystemTask ShouldAddExplodedFormEncodedPart_WithContentType() + { + var multipartFormRequest = CreateMultipartFormRequest(); + multipartFormRequest.AddExplodedFormEncodedPart( + "objects", + new { foo = "bar" }, + "application/x-www-form-urlencoded" + ); + + var httpContent = multipartFormRequest.CreateContent(); + Assert.That(httpContent, Is.InstanceOf()); + var multipartContent = (MultipartFormDataContent)httpContent; + + var boundary = GetBoundary(multipartContent); + var expected = $""" + --{boundary} + Content-Type: application/x-www-form-urlencoded + Content-Disposition: form-data; name=objects + + foo=bar + --{boundary}-- + """; + + var actual = await multipartContent.ReadAsStringAsync(); + Assert.That(actual, Is.EqualTo(expected).IgnoreWhiteSpace); + } + + [Test] + public async SystemTask ShouldAddExplodedFormEncodedPart_WithContentTypeAndCharset() + { + var multipartFormRequest = CreateMultipartFormRequest(); + multipartFormRequest.AddExplodedFormEncodedPart( + "objects", + new { foo = "bar" }, + "application/x-www-form-urlencoded; charset=utf-8" + ); + + var httpContent = multipartFormRequest.CreateContent(); + Assert.That(httpContent, Is.InstanceOf()); + var multipartContent = (MultipartFormDataContent)httpContent; + + var boundary = GetBoundary(multipartContent); + var expected = $""" + --{boundary} + Content-Type: application/x-www-form-urlencoded; charset=utf-8 + Content-Disposition: form-data; name=objects + + foo=bar + --{boundary}-- + """; + + var actual = await multipartContent.ReadAsStringAsync(); + Assert.That(actual, Is.EqualTo(expected).IgnoreWhiteSpace); + } + + [Test] + public async SystemTask ShouldAddExplodedFormEncodedParts_WithContentType() + { + var multipartFormRequest = CreateMultipartFormRequest(); + multipartFormRequest.AddExplodedFormEncodedParts( + "objects", + [new { foo = "bar" }], + "application/x-www-form-urlencoded" + ); + + var httpContent = multipartFormRequest.CreateContent(); + Assert.That(httpContent, Is.InstanceOf()); + var multipartContent = (MultipartFormDataContent)httpContent; + + var boundary = GetBoundary(multipartContent); + var expected = $""" + --{boundary} + Content-Type: application/x-www-form-urlencoded + Content-Disposition: form-data; name=objects + + foo=bar + --{boundary}-- + """; + + var actual = await multipartContent.ReadAsStringAsync(); + Assert.That(actual, Is.EqualTo(expected).IgnoreWhiteSpace); + } + + [Test] + public async SystemTask ShouldAddExplodedFormEncodedParts_WithContentTypeAndCharset() + { + var multipartFormRequest = CreateMultipartFormRequest(); + multipartFormRequest.AddExplodedFormEncodedParts( + "objects", + [new { foo = "bar" }], + "application/x-www-form-urlencoded; charset=utf-8" + ); + + var httpContent = multipartFormRequest.CreateContent(); + Assert.That(httpContent, Is.InstanceOf()); + var multipartContent = (MultipartFormDataContent)httpContent; + + var boundary = GetBoundary(multipartContent); + var expected = $""" + --{boundary} + Content-Type: application/x-www-form-urlencoded; charset=utf-8 + Content-Disposition: form-data; name=objects + + foo=bar + --{boundary}-- + """; + + var actual = await multipartContent.ReadAsStringAsync(); + Assert.That(actual, Is.EqualTo(expected).IgnoreWhiteSpace); + } + + private static string EscapeFormEncodedString(string input) + { + return string.Join( + "&", + input + .Split('&') + .Select(x => x.Split('=')) + .Select(x => $"{Uri.EscapeDataString(x[0])}={Uri.EscapeDataString(x[1])}") + ); + } + + private static string GetBoundary(MultipartFormDataContent content) + { + return content + .Headers.ContentType?.Parameters.Single(p => + p.Name.Equals("boundary", StringComparison.OrdinalIgnoreCase) + ) + .Value?.Trim('"') ?? throw new Exception("Boundary not found"); + } + + private static MultipartFormRequest CreateMultipartFormRequest() + { + return new MultipartFormRequest + { + BaseUrl = "https://localhost", + Method = HttpMethod.Post, + Path = "", + }; + } + + private static (Stream partInput, string partExpectedString) GetFileParameterTestData() + { + const string partExpectedString = "file content"; + var partInput = new MemoryStream(Encoding.Default.GetBytes(partExpectedString)); + return (partInput, partExpectedString); + } + + private class SimpleObject + { + [JsonPropertyName("meta")] + public string Meta { get; set; } = "data"; + public DateOnly Date { get; set; } = DateOnly.Parse("2023-10-01"); + public TimeOnly Time { get; set; } = TimeOnly.Parse("12:00:00"); + public TimeSpan Duration { get; set; } = TimeSpan.FromHours(1); + public Guid Id { get; set; } = Guid.Parse("1a1bb98f-47c6-407b-9481-78476affe52a"); + public bool IsActive { get; set; } = true; + public int Count { get; set; } = 42; + public char Initial { get; set; } = 'A'; + public IEnumerable Values { get; set; } = + [ + "data", + DateOnly.Parse("2023-10-01"), + TimeOnly.Parse("12:00:00"), + TimeSpan.FromHours(1), + Guid.Parse("1a1bb98f-47c6-407b-9481-78476affe52a"), + true, + 42, + 'A', + ]; + } + + private class ComplexObject + { + [JsonPropertyName("meta")] + public string Meta { get; set; } = "data"; + + public object Nested { get; set; } = new { foo = "value" }; + + public Dictionary NestedDictionary { get; set; } = + new() { { "key", new { foo = "value" } } }; + + public IEnumerable ListOfObjects { get; set; } = + new List { new { foo = "value" }, new { foo = "value2" } }; + + public DateOnly Date { get; set; } = DateOnly.Parse("2023-10-01"); + public TimeOnly Time { get; set; } = TimeOnly.Parse("12:00:00"); + public TimeSpan Duration { get; set; } = TimeSpan.FromHours(1); + public Guid Id { get; set; } = Guid.Parse("1a1bb98f-47c6-407b-9481-78476affe52a"); + public bool IsActive { get; set; } = true; + public int Count { get; set; } = 42; + public char Initial { get; set; } = 'A'; + } +} diff --git a/src/Merge.Client.Test/Core/RawClientTests/RetriesTests.cs b/src/Merge.Client.Test/Core/RawClientTests/RetriesTests.cs new file mode 100644 index 00000000..bfbb096f --- /dev/null +++ b/src/Merge.Client.Test/Core/RawClientTests/RetriesTests.cs @@ -0,0 +1,214 @@ +using global::System.Net.Http; +using Merge.Client.Core; +using NUnit.Framework; +using WireMock.Server; +using SystemTask = global::System.Threading.Tasks.Task; +using WireMockRequest = WireMock.RequestBuilders.Request; +using WireMockResponse = WireMock.ResponseBuilders.Response; + +namespace Merge.Client.Test.Core.RawClientTests; + +[TestFixture] +[Parallelizable(ParallelScope.Self)] +public class RetriesTests +{ + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() + { + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ) + { + BaseRetryDelay = 0, + }; + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async SystemTask SendRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new EmptyRequest + { + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.SendRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + using (Assert.EnterMultipleScope()) + { + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries, Has.Count.EqualTo(MaxRetries)); + } + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async SystemTask SendRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new JsonRequest + { + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + Body = new { }, + }; + + var response = await _rawClient.SendRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.Multiple(() => + { + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries, Has.Count.EqualTo(1)); + }); + } + + [Test] + public async SystemTask SendRequestAsync_ShouldNotRetry_WithStreamRequest() + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingPost()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(429).WithBody("Failure")); + + var request = new StreamRequest + { + BaseUrl = _baseUrl, + Method = HttpMethod.Post, + Path = "/test", + Body = new MemoryStream(), + }; + + var response = await _rawClient.SendRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(429)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.Multiple(() => + { + Assert.That(content, Is.EqualTo("Failure")); + Assert.That(_server.LogEntries, Has.Count.EqualTo(1)); + }); + } + + [Test] + public async SystemTask SendRequestAsync_ShouldNotRetry_WithMultiPartFormRequest_WithStream() + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingPost()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(429).WithBody("Failure")); + + var request = new MultipartFormRequest + { + BaseUrl = _baseUrl, + Method = HttpMethod.Post, + Path = "/test", + }; + request.AddFileParameterPart("file", new MemoryStream()); + + var response = await _rawClient.SendRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(429)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.Multiple(() => + { + Assert.That(content, Is.EqualTo("Failure")); + Assert.That(_server.LogEntries, Has.Count.EqualTo(1)); + }); + } + + [Test] + public async SystemTask SendRequestAsync_ShouldRetry_WithMultiPartFormRequest_WithoutStream() + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingPost()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(429)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingPost()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(429)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingPost()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new MultipartFormRequest + { + BaseUrl = _baseUrl, + Method = HttpMethod.Post, + Path = "/test", + }; + request.AddJsonPart("object", new { }); + + var response = await _rawClient.SendRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.Multiple(() => + { + Assert.That(content, Is.EqualTo("Success")); + Assert.That(_server.LogEntries, Has.Count.EqualTo(MaxRetries)); + }); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); + } +} diff --git a/src/Merge.Client.Test/Merge.Client.Test.csproj b/src/Merge.Client.Test/Merge.Client.Test.csproj index a0308daa..1947c5e7 100644 --- a/src/Merge.Client.Test/Merge.Client.Test.csproj +++ b/src/Merge.Client.Test/Merge.Client.Test.csproj @@ -15,19 +15,18 @@ runtime; build; native; contentfiles; analyzers; buildtransitive all - - - - + + + + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive - - + diff --git a/src/Merge.Client.Test/Utils/JsonElementComparer.cs b/src/Merge.Client.Test/Utils/JsonElementComparer.cs new file mode 100644 index 00000000..1704c99a --- /dev/null +++ b/src/Merge.Client.Test/Utils/JsonElementComparer.cs @@ -0,0 +1,236 @@ +using System.Text.Json; +using NUnit.Framework.Constraints; + +namespace NUnit.Framework; + +/// +/// Extensions for EqualConstraint to handle JsonElement objects. +/// +public static class JsonElementComparerExtensions +{ + /// + /// Extension method for comparing JsonElement objects in NUnit tests. + /// Property order doesn't matter, but array order does matter. + /// Includes special handling for DateTime string formats. + /// + /// The Is.EqualTo() constraint instance. + /// A constraint that can compare JsonElements with detailed diffs. + public static EqualConstraint UsingJsonElementComparer(this EqualConstraint constraint) + { + return constraint.Using(new JsonElementComparer()); + } +} + +/// +/// Equality comparer for JsonElement with detailed reporting. +/// Property order doesn't matter, but array order does matter. +/// Now includes special handling for DateTime string formats with improved null handling. +/// +public class JsonElementComparer : IEqualityComparer +{ + private string _failurePath = string.Empty; + + /// + public bool Equals(JsonElement x, JsonElement y) + { + _failurePath = string.Empty; + return CompareJsonElements(x, y, string.Empty); + } + + /// + public int GetHashCode(JsonElement obj) + { + return JsonSerializer.Serialize(obj).GetHashCode(); + } + + private bool CompareJsonElements(JsonElement x, JsonElement y, string path) + { + // If value kinds don't match, they're not equivalent + if (x.ValueKind != y.ValueKind) + { + _failurePath = $"{path}: Expected {x.ValueKind} but got {y.ValueKind}"; + return false; + } + + switch (x.ValueKind) + { + case JsonValueKind.Object: + return CompareJsonObjects(x, y, path); + + case JsonValueKind.Array: + return CompareJsonArraysInOrder(x, y, path); + + case JsonValueKind.String: + string? xStr = x.GetString(); + string? yStr = y.GetString(); + + // Handle null strings + if (xStr is null && yStr is null) + return true; + + if (xStr is null || yStr is null) + { + _failurePath = + $"{path}: Expected {(xStr is null ? "null" : $"\"{xStr}\"")} but got {(yStr is null ? "null" : $"\"{yStr}\"")}"; + return false; + } + + // Check if they are identical strings + if (xStr == yStr) + return true; + + // Try to handle DateTime strings + if (IsLikelyDateTimeString(xStr) && IsLikelyDateTimeString(yStr)) + { + if (AreEquivalentDateTimeStrings(xStr, yStr)) + return true; + } + + _failurePath = $"{path}: Expected \"{xStr}\" but got \"{yStr}\""; + return false; + + case JsonValueKind.Number: + if (x.GetDecimal() != y.GetDecimal()) + { + _failurePath = $"{path}: Expected {x.GetDecimal()} but got {y.GetDecimal()}"; + return false; + } + + return true; + + case JsonValueKind.True: + case JsonValueKind.False: + if (x.GetBoolean() != y.GetBoolean()) + { + _failurePath = $"{path}: Expected {x.GetBoolean()} but got {y.GetBoolean()}"; + return false; + } + + return true; + + case JsonValueKind.Null: + return true; + + default: + _failurePath = $"{path}: Unsupported JsonValueKind {x.ValueKind}"; + return false; + } + } + + private bool IsLikelyDateTimeString(string? str) + { + // Simple heuristic to identify likely ISO date time strings + return str != null + && (str.Contains("T") && (str.EndsWith("Z") || str.Contains("+") || str.Contains("-"))); + } + + private bool AreEquivalentDateTimeStrings(string str1, string str2) + { + // Try to parse both as DateTime + if (DateTime.TryParse(str1, out DateTime dt1) && DateTime.TryParse(str2, out DateTime dt2)) + { + return dt1 == dt2; + } + + return false; + } + + private bool CompareJsonObjects(JsonElement x, JsonElement y, string path) + { + // Create dictionaries for both JSON objects + var xProps = new Dictionary(); + var yProps = new Dictionary(); + + foreach (var prop in x.EnumerateObject()) + xProps[prop.Name] = prop.Value; + + foreach (var prop in y.EnumerateObject()) + yProps[prop.Name] = prop.Value; + + // Check if all properties in x exist in y + foreach (var key in xProps.Keys) + { + if (!yProps.ContainsKey(key)) + { + _failurePath = $"{path}: Missing property '{key}'"; + return false; + } + } + + // Check if y has extra properties + foreach (var key in yProps.Keys) + { + if (!xProps.ContainsKey(key)) + { + _failurePath = $"{path}: Unexpected property '{key}'"; + return false; + } + } + + // Compare each property value + foreach (var key in xProps.Keys) + { + var propPath = string.IsNullOrEmpty(path) ? key : $"{path}.{key}"; + if (!CompareJsonElements(xProps[key], yProps[key], propPath)) + { + return false; + } + } + + return true; + } + + private bool CompareJsonArraysInOrder(JsonElement x, JsonElement y, string path) + { + var xArray = x.EnumerateArray(); + var yArray = y.EnumerateArray(); + + // Count x elements + var xCount = 0; + var xElements = new List(); + foreach (var item in xArray) + { + xElements.Add(item); + xCount++; + } + + // Count y elements + var yCount = 0; + var yElements = new List(); + foreach (var item in yArray) + { + yElements.Add(item); + yCount++; + } + + // Check if counts match + if (xCount != yCount) + { + _failurePath = $"{path}: Expected {xCount} items but found {yCount}"; + return false; + } + + // Compare elements in order + for (var i = 0; i < xCount; i++) + { + var itemPath = $"{path}[{i}]"; + if (!CompareJsonElements(xElements[i], yElements[i], itemPath)) + { + return false; + } + } + + return true; + } + + /// + public override string ToString() + { + if (!string.IsNullOrEmpty(_failurePath)) + { + return $"JSON comparison failed at {_failurePath}"; + } + + return "JsonElementEqualityComparer"; + } +} diff --git a/src/Merge.Client.Test/Utils/NUnitExtensions.cs b/src/Merge.Client.Test/Utils/NUnitExtensions.cs new file mode 100644 index 00000000..426df124 --- /dev/null +++ b/src/Merge.Client.Test/Utils/NUnitExtensions.cs @@ -0,0 +1,28 @@ +using NUnit.Framework.Constraints; + +namespace NUnit.Framework; + +/// +/// Extensions for NUnit constraints. +/// +public static class NUnitExtensions +{ + /// + /// Modifies the EqualConstraint to use our own set of default comparers. + /// + /// + /// + public static EqualConstraint UsingDefaults(this EqualConstraint constraint) => + constraint + .UsingPropertiesComparer() + .UsingReadOnlyMemoryComparer() + .UsingReadOnlyMemoryComparer() + .UsingReadOnlyMemoryComparer() + .UsingReadOnlyMemoryComparer() + .UsingReadOnlyMemoryComparer() + .UsingReadOnlyMemoryComparer() + .UsingReadOnlyMemoryComparer() + .UsingReadOnlyMemoryComparer() + .UsingOneOfComparer() + .UsingJsonElementComparer(); +} diff --git a/src/Merge.Client.Test/Utils/OneOfComparer.cs b/src/Merge.Client.Test/Utils/OneOfComparer.cs new file mode 100644 index 00000000..0c975b47 --- /dev/null +++ b/src/Merge.Client.Test/Utils/OneOfComparer.cs @@ -0,0 +1,43 @@ +using NUnit.Framework.Constraints; +using OneOf; + +namespace NUnit.Framework; + +/// +/// Extensions for EqualConstraint to handle OneOf values. +/// +public static class EqualConstraintExtensions +{ + /// + /// Modifies the EqualConstraint to handle OneOf instances by comparing their inner values. + /// This works alongside other comparison modifiers like UsingPropertiesComparer. + /// + /// The EqualConstraint to modify. + /// The same constraint instance for method chaining. + public static EqualConstraint UsingOneOfComparer(this EqualConstraint constraint) + { + // Register a comparer factory for IOneOf types + constraint.Using( + (x, y) => + { + // ReSharper disable ConditionIsAlwaysTrueOrFalseAccordingToNullableAPIContract + if (x.Value is null && y.Value is null) + { + return true; + } + + if (x.Value is null) + { + return false; + } + + var propertiesComparer = new NUnitEqualityComparer(); + var tolerance = Tolerance.Default; + propertiesComparer.CompareProperties = true; + return propertiesComparer.AreEqual(x.Value, y.Value, ref tolerance); + } + ); + + return constraint; + } +} diff --git a/src/Merge.Client.Test/Utils/ReadOnlyMemoryComparer.cs b/src/Merge.Client.Test/Utils/ReadOnlyMemoryComparer.cs new file mode 100644 index 00000000..fc0b595a --- /dev/null +++ b/src/Merge.Client.Test/Utils/ReadOnlyMemoryComparer.cs @@ -0,0 +1,87 @@ +using NUnit.Framework.Constraints; + +namespace NUnit.Framework; + +/// +/// Extensions for NUnit constraints. +/// +public static class ReadOnlyMemoryComparerExtensions +{ + /// + /// Extension method for comparing ReadOnlyMemory<T> in NUnit tests. + /// + /// The type of elements in the ReadOnlyMemory. + /// The Is.EqualTo() constraint instance. + /// A constraint that can compare ReadOnlyMemory<T>. + public static EqualConstraint UsingReadOnlyMemoryComparer(this EqualConstraint constraint) + where T : IComparable + { + return constraint.Using(new ReadOnlyMemoryComparer()); + } +} + +/// +/// Comparer for ReadOnlyMemory<T>. Compares sequences by value. +/// +/// +/// The type of elements in the ReadOnlyMemory. +/// +public class ReadOnlyMemoryComparer : IComparer> + where T : IComparable +{ + /// + public int Compare(ReadOnlyMemory x, ReadOnlyMemory y) + { + // Check if sequences are equal + var xSpan = x.Span; + var ySpan = y.Span; + + // Optimized case for IEquatable implementations + if (typeof(IEquatable).IsAssignableFrom(typeof(T))) + { + var areEqual = xSpan.SequenceEqual(ySpan); + if (areEqual) + { + return 0; // Sequences are equal + } + } + else + { + // Manual equality check for non-IEquatable types + if (xSpan.Length == ySpan.Length) + { + var areEqual = true; + for (var i = 0; i < xSpan.Length; i++) + { + if (!EqualityComparer.Default.Equals(xSpan[i], ySpan[i])) + { + areEqual = false; + break; + } + } + + if (areEqual) + { + return 0; // Sequences are equal + } + } + } + + // For non-equal sequences, we need to return a consistent ordering + // First compare lengths + if (x.Length != y.Length) + return x.Length.CompareTo(y.Length); + + // Same length but different content - compare first differing element + for (var i = 0; i < x.Length; i++) + { + if (!EqualityComparer.Default.Equals(xSpan[i], ySpan[i])) + { + return xSpan[i].CompareTo(ySpan[i]); + } + } + + // Should never reach here if not equal + return 0; + } +} diff --git a/src/Merge.Client.sln b/src/Merge.Client.sln index 0056acbb..7e2cc3ab 100644 --- a/src/Merge.Client.sln +++ b/src/Merge.Client.sln @@ -3,9 +3,9 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 17 VisualStudioVersion = 17.0.31903.59 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Merge.Client", "Merge.Client\Merge.Client.csproj", "{99CD0E0D-82DE-4D05-9ABF-5B67B4058FC8}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Merge.Client", "Merge.Client\Merge.Client.csproj", "{79D3B862-5A69-4F6E-BFE9-A96DC42D0BFD}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Merge.Client.Test", "Merge.Client.Test\Merge.Client.Test.csproj", "{EF07BAED-762B-45DE-A732-0FA850FDEB9C}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Merge.Client.Test", "Merge.Client.Test\Merge.Client.Test.csproj", "{EB9E51F4-0BD7-4B2E-9997-490B672F23DB}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -16,13 +16,13 @@ Global HideSolutionNode = FALSE EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {99CD0E0D-82DE-4D05-9ABF-5B67B4058FC8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {99CD0E0D-82DE-4D05-9ABF-5B67B4058FC8}.Debug|Any CPU.Build.0 = Debug|Any CPU - {99CD0E0D-82DE-4D05-9ABF-5B67B4058FC8}.Release|Any CPU.ActiveCfg = Release|Any CPU - {99CD0E0D-82DE-4D05-9ABF-5B67B4058FC8}.Release|Any CPU.Build.0 = Release|Any CPU - {EF07BAED-762B-45DE-A732-0FA850FDEB9C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {EF07BAED-762B-45DE-A732-0FA850FDEB9C}.Debug|Any CPU.Build.0 = Debug|Any CPU - {EF07BAED-762B-45DE-A732-0FA850FDEB9C}.Release|Any CPU.ActiveCfg = Release|Any CPU - {EF07BAED-762B-45DE-A732-0FA850FDEB9C}.Release|Any CPU.Build.0 = Release|Any CPU + {79D3B862-5A69-4F6E-BFE9-A96DC42D0BFD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {79D3B862-5A69-4F6E-BFE9-A96DC42D0BFD}.Debug|Any CPU.Build.0 = Debug|Any CPU + {79D3B862-5A69-4F6E-BFE9-A96DC42D0BFD}.Release|Any CPU.ActiveCfg = Release|Any CPU + {79D3B862-5A69-4F6E-BFE9-A96DC42D0BFD}.Release|Any CPU.Build.0 = Release|Any CPU + {EB9E51F4-0BD7-4B2E-9997-490B672F23DB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {EB9E51F4-0BD7-4B2E-9997-490B672F23DB}.Debug|Any CPU.Build.0 = Debug|Any CPU + {EB9E51F4-0BD7-4B2E-9997-490B672F23DB}.Release|Any CPU.ActiveCfg = Release|Any CPU + {EB9E51F4-0BD7-4B2E-9997-490B672F23DB}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection EndGlobal diff --git a/src/Merge.Client/Accounting/AccountDetails/AccountDetailsClient.cs b/src/Merge.Client/Accounting/AccountDetails/AccountDetailsClient.cs index c6cd5c39..c45681bd 100644 --- a/src/Merge.Client/Accounting/AccountDetails/AccountDetailsClient.cs +++ b/src/Merge.Client/Accounting/AccountDetails/AccountDetailsClient.cs @@ -17,19 +17,17 @@ internal AccountDetailsClient(RawClient client) /// /// Get details for a linked account. /// - /// - /// + /// /// await client.Accounting.AccountDetails.RetrieveAsync(); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -39,23 +37,26 @@ public async System.Threading.Tasks.Task RetrieveAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Accounting/AccountToken/AccountTokenClient.cs b/src/Merge.Client/Accounting/AccountToken/AccountTokenClient.cs index e1cd1f61..44522d01 100644 --- a/src/Merge.Client/Accounting/AccountToken/AccountTokenClient.cs +++ b/src/Merge.Client/Accounting/AccountToken/AccountTokenClient.cs @@ -17,46 +17,50 @@ internal AccountTokenClient(RawClient client) /// /// Returns the account token for the end user with the provided public token. /// - /// - /// + /// /// await client.Accounting.AccountToken.RetrieveAsync("public_token"); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string publicToken, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"accounting/v1/account-token/{publicToken}", + Path = string.Format( + "accounting/v1/account-token/{0}", + ValueConvert.ToPathParameterString(publicToken) + ), Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Accounting/AccountingClient.cs b/src/Merge.Client/Accounting/AccountingClient.cs index d8ad1aa2..9974dca3 100644 --- a/src/Merge.Client/Accounting/AccountingClient.cs +++ b/src/Merge.Client/Accounting/AccountingClient.cs @@ -41,6 +41,8 @@ internal AccountingClient(RawClient client) LinkToken = new LinkTokenClient(_client); LinkedAccounts = new LinkedAccountsClient(_client); Passthrough = new PassthroughClient(_client); + PaymentMethods = new PaymentMethodsClient(_client); + PaymentTerms = new PaymentTermsClient(_client); Payments = new PaymentsClient(_client); PhoneNumbers = new PhoneNumbersClient(_client); PurchaseOrders = new PurchaseOrdersClient(_client); @@ -118,6 +120,10 @@ internal AccountingClient(RawClient client) public PassthroughClient Passthrough { get; } + public PaymentMethodsClient PaymentMethods { get; } + + public PaymentTermsClient PaymentTerms { get; } + public PaymentsClient Payments { get; } public PhoneNumbersClient PhoneNumbers { get; } diff --git a/src/Merge.Client/Accounting/AccountingPeriods/AccountingPeriodsClient.cs b/src/Merge.Client/Accounting/AccountingPeriods/AccountingPeriodsClient.cs index 3beb3516..c88eca2a 100644 --- a/src/Merge.Client/Accounting/AccountingPeriods/AccountingPeriodsClient.cs +++ b/src/Merge.Client/Accounting/AccountingPeriods/AccountingPeriodsClient.cs @@ -17,12 +17,10 @@ internal AccountingPeriodsClient(RawClient client) /// /// Returns a list of `AccountingPeriod` objects. /// - /// - /// + /// /// await client.Accounting.AccountingPeriods.ListAsync(new AccountingPeriodsListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( AccountingPeriodsListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -50,8 +48,8 @@ public async System.Threading.Tasks.Task ListAsyn _query["page_size"] = request.PageSize.Value.ToString(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -62,38 +60,39 @@ public async System.Threading.Tasks.Task ListAsyn cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns an `AccountingPeriod` object with the given `id`. /// - /// - /// + /// /// await client.Accounting.AccountingPeriods.RetrieveAsync( /// "id", /// new AccountingPeriodsRetrieveRequest() /// ); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, AccountingPeriodsRetrieveRequest request, RequestOptions? options = null, @@ -105,36 +104,46 @@ public async System.Threading.Tasks.Task RetrieveAsync( { _query["include_remote_data"] = JsonUtils.Serialize(request.IncludeRemoteData.Value); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"accounting/v1/accounting-periods/{id}", + Path = string.Format( + "accounting/v1/accounting-periods/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Accounting/AccountingPeriods/Requests/AccountingPeriodsListRequest.cs b/src/Merge.Client/Accounting/AccountingPeriods/Requests/AccountingPeriodsListRequest.cs index d982218f..363054f1 100644 --- a/src/Merge.Client/Accounting/AccountingPeriods/Requests/AccountingPeriodsListRequest.cs +++ b/src/Merge.Client/Accounting/AccountingPeriods/Requests/AccountingPeriodsListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,28 +8,34 @@ public record AccountingPeriodsListRequest /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/AccountingPeriods/Requests/AccountingPeriodsRetrieveRequest.cs b/src/Merge.Client/Accounting/AccountingPeriods/Requests/AccountingPeriodsRetrieveRequest.cs index c597e5a0..af16145a 100644 --- a/src/Merge.Client/Accounting/AccountingPeriods/Requests/AccountingPeriodsRetrieveRequest.cs +++ b/src/Merge.Client/Accounting/AccountingPeriods/Requests/AccountingPeriodsRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,8 +8,16 @@ public record AccountingPeriodsRetrieveRequest /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Accounts/AccountsClient.cs b/src/Merge.Client/Accounting/Accounts/AccountsClient.cs index 58db9b77..0446584c 100644 --- a/src/Merge.Client/Accounting/Accounts/AccountsClient.cs +++ b/src/Merge.Client/Accounting/Accounts/AccountsClient.cs @@ -17,12 +17,10 @@ internal AccountsClient(RawClient client) /// /// Returns a list of `Account` objects. /// - /// - /// + /// /// await client.Accounting.Accounts.ListAsync(new AccountsListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( AccountsListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -79,6 +77,10 @@ public async System.Threading.Tasks.Task ListAsync( Constants.DateTimeFormat ); } + if (request.Name != null) + { + _query["name"] = request.Name; + } if (request.PageSize != null) { _query["page_size"] = request.PageSize.Value.ToString(); @@ -96,8 +98,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["show_enum_origins"] = request.ShowEnumOrigins.Value.Stringify(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -108,37 +110,38 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Creates an `Account` object with the given values. /// - /// - /// + /// /// await client.Accounting.Accounts.CreateAsync( /// new AccountEndpointRequest { Model = new Merge.Client.Accounting.AccountRequest() } /// ); - /// - /// - public async System.Threading.Tasks.Task CreateAsync( + /// + public async Task CreateAsync( AccountEndpointRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -153,15 +156,14 @@ public async System.Threading.Tasks.Task CreateAsync( { _query["run_async"] = JsonUtils.Serialize(request.RunAsync.Value); } - var requestBody = new Dictionary() { { "model", request.Model } }; var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, Path = "accounting/v1/accounts", - Body = requestBody, + Body = request, Query = _query, ContentType = "application/json", Options = options, @@ -169,35 +171,36 @@ public async System.Threading.Tasks.Task CreateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns an `Account` object with the given `id`. /// - /// - /// + /// /// await client.Accounting.Accounts.RetrieveAsync("id", new AccountsRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, AccountsRetrieveRequest request, RequestOptions? options = null, @@ -213,6 +216,10 @@ public async System.Threading.Tasks.Task RetrieveAsync( { _query["include_remote_data"] = JsonUtils.Serialize(request.IncludeRemoteData.Value); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } if (request.RemoteFields != null) { _query["remote_fields"] = request.RemoteFields.Value.Stringify(); @@ -222,54 +229,58 @@ public async System.Threading.Tasks.Task RetrieveAsync( _query["show_enum_origins"] = request.ShowEnumOrigins.Value.Stringify(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"accounting/v1/accounts/{id}", + Path = string.Format( + "accounting/v1/accounts/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns metadata for `Account` POSTs. /// - /// - /// + /// /// await client.Accounting.Accounts.MetaPostRetrieveAsync(); - /// - /// - public async System.Threading.Tasks.Task MetaPostRetrieveAsync( + /// + public async Task MetaPostRetrieveAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -279,23 +290,26 @@ public async System.Threading.Tasks.Task MetaPostRetrieveAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Accounting/Accounts/Requests/AccountEndpointRequest.cs b/src/Merge.Client/Accounting/Accounts/Requests/AccountEndpointRequest.cs index 27290725..0892a546 100644 --- a/src/Merge.Client/Accounting/Accounts/Requests/AccountEndpointRequest.cs +++ b/src/Merge.Client/Accounting/Accounts/Requests/AccountEndpointRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,15 +8,19 @@ public record AccountEndpointRequest /// /// Whether to include debug fields (such as log file links) in the response. /// + [JsonIgnore] public bool? IsDebugMode { get; set; } /// /// Whether or not third-party updates should be run asynchronously. /// + [JsonIgnore] public bool? RunAsync { get; set; } + [JsonPropertyName("model")] public required AccountRequest Model { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Accounts/Requests/AccountsListRequest.cs b/src/Merge.Client/Accounting/Accounts/Requests/AccountsListRequest.cs index 55f250af..42f3214b 100644 --- a/src/Merge.Client/Accounting/Accounts/Requests/AccountsListRequest.cs +++ b/src/Merge.Client/Accounting/Accounts/Requests/AccountsListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,78 +8,100 @@ public record AccountsListRequest /// /// If provided, will only provide accounts with the passed in enum. /// + [JsonIgnore] public string? AccountType { get; set; } /// /// If provided, will only return accounts for this company. /// + [JsonIgnore] public string? CompanyId { get; set; } /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public string? Expand { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } + /// + /// If provided, will only return Accounts with this name. + /// + [JsonIgnore] + public string? Name { get; set; } + /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// Deprecated. Use show_enum_origins. /// + [JsonIgnore] public AccountsListRequestRemoteFields? RemoteFields { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } /// /// A comma separated list of enum field names for which you'd like the original values to be returned, instead of Merge's normalized enum values. [Learn more](https://help.merge.dev/en/articles/8950958-show_enum_origins-query-parameter) /// + [JsonIgnore] public AccountsListRequestShowEnumOrigins? ShowEnumOrigins { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Accounts/Requests/AccountsRetrieveRequest.cs b/src/Merge.Client/Accounting/Accounts/Requests/AccountsRetrieveRequest.cs index f044a15f..6d1e7a27 100644 --- a/src/Merge.Client/Accounting/Accounts/Requests/AccountsRetrieveRequest.cs +++ b/src/Merge.Client/Accounting/Accounts/Requests/AccountsRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,23 +8,34 @@ public record AccountsRetrieveRequest /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public string? Expand { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + /// /// Deprecated. Use show_enum_origins. /// + [JsonIgnore] public AccountsRetrieveRequestRemoteFields? RemoteFields { get; set; } /// /// A comma separated list of enum field names for which you'd like the original values to be returned, instead of Merge's normalized enum values. [Learn more](https://help.merge.dev/en/articles/8950958-show_enum_origins-query-parameter) /// + [JsonIgnore] public AccountsRetrieveRequestShowEnumOrigins? ShowEnumOrigins { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Addresses/AddressesClient.cs b/src/Merge.Client/Accounting/Addresses/AddressesClient.cs index c9cfb8ac..2506314b 100644 --- a/src/Merge.Client/Accounting/Addresses/AddressesClient.cs +++ b/src/Merge.Client/Accounting/Addresses/AddressesClient.cs @@ -17,12 +17,10 @@ internal AddressesClient(RawClient client) /// /// Returns an `Address` object with the given `id`. /// - /// - /// + /// /// await client.Accounting.Addresses.RetrieveAsync("id", new AddressesRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task
RetrieveAsync( + /// + public async Task
RetrieveAsync( string id, AddressesRetrieveRequest request, RequestOptions? options = null, @@ -34,6 +32,10 @@ public async System.Threading.Tasks.Task
RetrieveAsync( { _query["include_remote_data"] = JsonUtils.Serialize(request.IncludeRemoteData.Value); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } if (request.RemoteFields != null) { _query["remote_fields"] = request.RemoteFields.ToString(); @@ -43,35 +45,41 @@ public async System.Threading.Tasks.Task
RetrieveAsync( _query["show_enum_origins"] = request.ShowEnumOrigins.ToString(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"accounting/v1/addresses/{id}", + Path = string.Format( + "accounting/v1/addresses/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize
(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Accounting/Addresses/Requests/AddressesRetrieveRequest.cs b/src/Merge.Client/Accounting/Addresses/Requests/AddressesRetrieveRequest.cs index 38a47b27..ac1bb97b 100644 --- a/src/Merge.Client/Accounting/Addresses/Requests/AddressesRetrieveRequest.cs +++ b/src/Merge.Client/Accounting/Addresses/Requests/AddressesRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,18 +8,28 @@ public record AddressesRetrieveRequest /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + /// /// Deprecated. Use show_enum_origins. /// + [JsonIgnore] public string? RemoteFields { get; set; } /// /// A comma separated list of enum field names for which you'd like the original values to be returned, instead of Merge's normalized enum values. [Learn more](https://help.merge.dev/en/articles/8950958-show_enum_origins-query-parameter) /// + [JsonIgnore] public string? ShowEnumOrigins { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/AsyncPassthrough/AsyncPassthroughClient.cs b/src/Merge.Client/Accounting/AsyncPassthrough/AsyncPassthroughClient.cs index a2cde885..9f9c83cc 100644 --- a/src/Merge.Client/Accounting/AsyncPassthrough/AsyncPassthroughClient.cs +++ b/src/Merge.Client/Accounting/AsyncPassthrough/AsyncPassthroughClient.cs @@ -18,8 +18,7 @@ internal AsyncPassthroughClient(RawClient client) /// /// Asynchronously pull data from an endpoint not currently supported by Merge. /// - /// - /// + /// /// await client.Accounting.AsyncPassthrough.CreateAsync( /// new Merge.Client.Accounting.DataPassthroughRequest /// { @@ -27,17 +26,16 @@ internal AsyncPassthroughClient(RawClient client) /// Path = "/scooters", /// } /// ); - /// - /// - public async System.Threading.Tasks.Task CreateAsync( + /// + public async Task CreateAsync( DataPassthroughRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, @@ -49,69 +47,76 @@ public async System.Threading.Tasks.Task CreateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Retrieves data from earlier async-passthrough POST request /// - /// - /// + /// /// await client.Accounting.AsyncPassthrough.RetrieveAsync("async_passthrough_receipt_id"); - /// - /// - public async System.Threading.Tasks.Task> RetrieveAsync( + /// + public async Task> RetrieveAsync( string asyncPassthroughReceiptId, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"accounting/v1/async-passthrough/{asyncPassthroughReceiptId}", + Path = string.Format( + "accounting/v1/async-passthrough/{0}", + ValueConvert.ToPathParameterString(asyncPassthroughReceiptId) + ), Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize>(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Accounting/AsyncTasks/AsyncTasksClient.cs b/src/Merge.Client/Accounting/AsyncTasks/AsyncTasksClient.cs index 367f6774..3ccdad17 100644 --- a/src/Merge.Client/Accounting/AsyncTasks/AsyncTasksClient.cs +++ b/src/Merge.Client/Accounting/AsyncTasks/AsyncTasksClient.cs @@ -17,46 +17,50 @@ internal AsyncTasksClient(RawClient client) /// /// Returns an `AsyncPostTask` object with the given `id`. /// - /// - /// + /// /// await client.Accounting.AsyncTasks.RetrieveAsync("id"); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"accounting/v1/async-tasks/{id}", + Path = string.Format( + "accounting/v1/async-tasks/{0}", + ValueConvert.ToPathParameterString(id) + ), Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Accounting/Attachments/AttachmentsClient.cs b/src/Merge.Client/Accounting/Attachments/AttachmentsClient.cs index 5701feb2..92221c24 100644 --- a/src/Merge.Client/Accounting/Attachments/AttachmentsClient.cs +++ b/src/Merge.Client/Accounting/Attachments/AttachmentsClient.cs @@ -17,12 +17,10 @@ internal AttachmentsClient(RawClient client) /// /// Returns a list of `AccountingAttachment` objects. /// - /// - /// + /// /// await client.Accounting.Attachments.ListAsync(new AttachmentsListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( AttachmentsListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -80,8 +78,8 @@ public async System.Threading.Tasks.Task List _query["remote_id"] = request.RemoteId; } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -92,37 +90,38 @@ public async System.Threading.Tasks.Task List cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Creates an `AccountingAttachment` object with the given values. /// - /// - /// + /// /// await client.Accounting.Attachments.CreateAsync( /// new AccountingAttachmentEndpointRequest { Model = new AccountingAttachmentRequest() } /// ); - /// - /// - public async System.Threading.Tasks.Task CreateAsync( + /// + public async Task CreateAsync( AccountingAttachmentEndpointRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -137,15 +136,14 @@ public async System.Threading.Tasks.Task CreateAsy { _query["run_async"] = JsonUtils.Serialize(request.RunAsync.Value); } - var requestBody = new Dictionary() { { "model", request.Model } }; var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, Path = "accounting/v1/attachments", - Body = requestBody, + Body = request, Query = _query, ContentType = "application/json", Options = options, @@ -153,35 +151,36 @@ public async System.Threading.Tasks.Task CreateAsy cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns an `AccountingAttachment` object with the given `id`. /// - /// - /// + /// /// await client.Accounting.Attachments.RetrieveAsync("id", new AttachmentsRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, AttachmentsRetrieveRequest request, RequestOptions? options = null, @@ -193,55 +192,63 @@ public async System.Threading.Tasks.Task RetrieveAsync( { _query["include_remote_data"] = JsonUtils.Serialize(request.IncludeRemoteData.Value); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"accounting/v1/attachments/{id}", + Path = string.Format( + "accounting/v1/attachments/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns metadata for `AccountingAttachment` POSTs. /// - /// - /// + /// /// await client.Accounting.Attachments.MetaPostRetrieveAsync(); - /// - /// - public async System.Threading.Tasks.Task MetaPostRetrieveAsync( + /// + public async Task MetaPostRetrieveAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -251,23 +258,26 @@ public async System.Threading.Tasks.Task MetaPostRetrieveAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Accounting/Attachments/Requests/AccountingAttachmentEndpointRequest.cs b/src/Merge.Client/Accounting/Attachments/Requests/AccountingAttachmentEndpointRequest.cs index 2535c457..edd54665 100644 --- a/src/Merge.Client/Accounting/Attachments/Requests/AccountingAttachmentEndpointRequest.cs +++ b/src/Merge.Client/Accounting/Attachments/Requests/AccountingAttachmentEndpointRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,15 +8,19 @@ public record AccountingAttachmentEndpointRequest /// /// Whether to include debug fields (such as log file links) in the response. /// + [JsonIgnore] public bool? IsDebugMode { get; set; } /// /// Whether or not third-party updates should be run asynchronously. /// + [JsonIgnore] public bool? RunAsync { get; set; } + [JsonPropertyName("model")] public required AccountingAttachmentRequest Model { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Attachments/Requests/AttachmentsListRequest.cs b/src/Merge.Client/Accounting/Attachments/Requests/AttachmentsListRequest.cs index 5f88a575..6427e44b 100644 --- a/src/Merge.Client/Accounting/Attachments/Requests/AttachmentsListRequest.cs +++ b/src/Merge.Client/Accounting/Attachments/Requests/AttachmentsListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,58 +8,70 @@ public record AttachmentsListRequest /// /// If provided, will only return accounting attachments for this company. /// + [JsonIgnore] public string? CompanyId { get; set; } /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Attachments/Requests/AttachmentsRetrieveRequest.cs b/src/Merge.Client/Accounting/Attachments/Requests/AttachmentsRetrieveRequest.cs index 11c9307e..f0346dc8 100644 --- a/src/Merge.Client/Accounting/Attachments/Requests/AttachmentsRetrieveRequest.cs +++ b/src/Merge.Client/Accounting/Attachments/Requests/AttachmentsRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,8 +8,16 @@ public record AttachmentsRetrieveRequest /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/AuditTrail/AuditTrailClient.cs b/src/Merge.Client/Accounting/AuditTrail/AuditTrailClient.cs index 0f947620..ffaa1dfd 100644 --- a/src/Merge.Client/Accounting/AuditTrail/AuditTrailClient.cs +++ b/src/Merge.Client/Accounting/AuditTrail/AuditTrailClient.cs @@ -17,12 +17,10 @@ internal AuditTrailClient(RawClient client) /// /// Gets a list of audit trail events. /// - /// - /// + /// /// await client.Accounting.AuditTrail.ListAsync(new AuditTrailListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( AuditTrailListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -54,8 +52,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["user_email"] = request.UserEmail; } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -66,23 +64,26 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Accounting/AuditTrail/Requests/AuditTrailListRequest.cs b/src/Merge.Client/Accounting/AuditTrail/Requests/AuditTrailListRequest.cs index 39cae663..3a49a5a6 100644 --- a/src/Merge.Client/Accounting/AuditTrail/Requests/AuditTrailListRequest.cs +++ b/src/Merge.Client/Accounting/AuditTrail/Requests/AuditTrailListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,33 +8,40 @@ public record AuditTrailListRequest /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// If included, will only include audit trail events that occurred before this time /// + [JsonIgnore] public string? EndDate { get; set; } /// - /// If included, will only include events with the given event type. Possible values include: `CREATED_REMOTE_PRODUCTION_API_KEY`, `DELETED_REMOTE_PRODUCTION_API_KEY`, `CREATED_TEST_API_KEY`, `DELETED_TEST_API_KEY`, `REGENERATED_PRODUCTION_API_KEY`, `INVITED_USER`, `TWO_FACTOR_AUTH_ENABLED`, `TWO_FACTOR_AUTH_DISABLED`, `DELETED_LINKED_ACCOUNT`, `CREATED_DESTINATION`, `DELETED_DESTINATION`, `CHANGED_DESTINATION`, `CHANGED_SCOPES`, `CHANGED_PERSONAL_INFORMATION`, `CHANGED_ORGANIZATION_SETTINGS`, `ENABLED_INTEGRATION`, `DISABLED_INTEGRATION`, `ENABLED_CATEGORY`, `DISABLED_CATEGORY`, `CHANGED_PASSWORD`, `RESET_PASSWORD`, `ENABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION`, `ENABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT`, `DISABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION`, `DISABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT`, `CREATED_INTEGRATION_WIDE_FIELD_MAPPING`, `CREATED_LINKED_ACCOUNT_FIELD_MAPPING`, `CHANGED_INTEGRATION_WIDE_FIELD_MAPPING`, `CHANGED_LINKED_ACCOUNT_FIELD_MAPPING`, `DELETED_INTEGRATION_WIDE_FIELD_MAPPING`, `DELETED_LINKED_ACCOUNT_FIELD_MAPPING`, `CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE`, `CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE`, `DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE`, `FORCED_LINKED_ACCOUNT_RESYNC`, `MUTED_ISSUE`, `GENERATED_MAGIC_LINK`, `ENABLED_MERGE_WEBHOOK`, `DISABLED_MERGE_WEBHOOK`, `MERGE_WEBHOOK_TARGET_CHANGED`, `END_USER_CREDENTIALS_ACCESSED` + /// If included, will only include events with the given event type. Possible values include: `CREATED_REMOTE_PRODUCTION_API_KEY`, `DELETED_REMOTE_PRODUCTION_API_KEY`, `CREATED_TEST_API_KEY`, `DELETED_TEST_API_KEY`, `REGENERATED_PRODUCTION_API_KEY`, `INVITED_USER`, `TWO_FACTOR_AUTH_ENABLED`, `TWO_FACTOR_AUTH_DISABLED`, `DELETED_LINKED_ACCOUNT`, `DELETED_ALL_COMMON_MODELS_FOR_LINKED_ACCOUNT`, `CREATED_DESTINATION`, `DELETED_DESTINATION`, `CHANGED_DESTINATION`, `CHANGED_SCOPES`, `CHANGED_PERSONAL_INFORMATION`, `CHANGED_ORGANIZATION_SETTINGS`, `ENABLED_INTEGRATION`, `DISABLED_INTEGRATION`, `ENABLED_CATEGORY`, `DISABLED_CATEGORY`, `CHANGED_PASSWORD`, `RESET_PASSWORD`, `ENABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION`, `ENABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT`, `DISABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION`, `DISABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT`, `CREATED_INTEGRATION_WIDE_FIELD_MAPPING`, `CREATED_LINKED_ACCOUNT_FIELD_MAPPING`, `CHANGED_INTEGRATION_WIDE_FIELD_MAPPING`, `CHANGED_LINKED_ACCOUNT_FIELD_MAPPING`, `DELETED_INTEGRATION_WIDE_FIELD_MAPPING`, `DELETED_LINKED_ACCOUNT_FIELD_MAPPING`, `CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE`, `CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE`, `DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE`, `FORCED_LINKED_ACCOUNT_RESYNC`, `MUTED_ISSUE`, `GENERATED_MAGIC_LINK`, `ENABLED_MERGE_WEBHOOK`, `DISABLED_MERGE_WEBHOOK`, `MERGE_WEBHOOK_TARGET_CHANGED`, `END_USER_CREDENTIALS_ACCESSED` /// + [JsonIgnore] public string? EventType { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// If included, will only include audit trail events that occurred after this time /// + [JsonIgnore] public string? StartDate { get; set; } /// /// If provided, this will return events associated with the specified user email. Please note that the email address reflects the user's email at the time of the event, and may not be their current email. /// + [JsonIgnore] public string? UserEmail { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/AvailableActions/AvailableActionsClient.cs b/src/Merge.Client/Accounting/AvailableActions/AvailableActionsClient.cs index 95322274..3e5f6aeb 100644 --- a/src/Merge.Client/Accounting/AvailableActions/AvailableActionsClient.cs +++ b/src/Merge.Client/Accounting/AvailableActions/AvailableActionsClient.cs @@ -17,19 +17,17 @@ internal AvailableActionsClient(RawClient client) /// /// Returns a list of models and actions available for an account. /// - /// - /// + /// /// await client.Accounting.AvailableActions.RetrieveAsync(); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -39,23 +37,26 @@ public async System.Threading.Tasks.Task RetrieveAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Accounting/BalanceSheets/BalanceSheetsClient.cs b/src/Merge.Client/Accounting/BalanceSheets/BalanceSheetsClient.cs index 25316188..80d96e5b 100644 --- a/src/Merge.Client/Accounting/BalanceSheets/BalanceSheetsClient.cs +++ b/src/Merge.Client/Accounting/BalanceSheets/BalanceSheetsClient.cs @@ -17,12 +17,10 @@ internal BalanceSheetsClient(RawClient client) /// /// Returns a list of `BalanceSheet` objects. /// - /// - /// + /// /// await client.Accounting.BalanceSheets.ListAsync(new BalanceSheetsListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( BalanceSheetsListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -84,8 +82,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["remote_id"] = request.RemoteId; } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -96,35 +94,36 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a `BalanceSheet` object with the given `id`. /// - /// - /// + /// /// await client.Accounting.BalanceSheets.RetrieveAsync("id", new BalanceSheetsRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, BalanceSheetsRetrieveRequest request, RequestOptions? options = null, @@ -140,36 +139,46 @@ public async System.Threading.Tasks.Task RetrieveAsync( { _query["include_remote_data"] = JsonUtils.Serialize(request.IncludeRemoteData.Value); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"accounting/v1/balance-sheets/{id}", + Path = string.Format( + "accounting/v1/balance-sheets/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Accounting/BalanceSheets/Requests/BalanceSheetsListRequest.cs b/src/Merge.Client/Accounting/BalanceSheets/Requests/BalanceSheetsListRequest.cs index c52a8ed5..2e816419 100644 --- a/src/Merge.Client/Accounting/BalanceSheets/Requests/BalanceSheetsListRequest.cs +++ b/src/Merge.Client/Accounting/BalanceSheets/Requests/BalanceSheetsListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,63 +8,76 @@ public record BalanceSheetsListRequest /// /// If provided, will only return balance sheets for this company. /// + [JsonIgnore] public string? CompanyId { get; set; } /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public string? Expand { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/BalanceSheets/Requests/BalanceSheetsRetrieveRequest.cs b/src/Merge.Client/Accounting/BalanceSheets/Requests/BalanceSheetsRetrieveRequest.cs index e014f9a2..7a3e3807 100644 --- a/src/Merge.Client/Accounting/BalanceSheets/Requests/BalanceSheetsRetrieveRequest.cs +++ b/src/Merge.Client/Accounting/BalanceSheets/Requests/BalanceSheetsRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,13 +8,22 @@ public record BalanceSheetsRetrieveRequest /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public string? Expand { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/BankFeedAccounts/BankFeedAccountsClient.cs b/src/Merge.Client/Accounting/BankFeedAccounts/BankFeedAccountsClient.cs index cf2876c0..5df3c8b1 100644 --- a/src/Merge.Client/Accounting/BankFeedAccounts/BankFeedAccountsClient.cs +++ b/src/Merge.Client/Accounting/BankFeedAccounts/BankFeedAccountsClient.cs @@ -17,12 +17,10 @@ internal BankFeedAccountsClient(RawClient client) /// /// Returns a list of `BankFeedAccount` objects. /// - /// - /// + /// /// await client.Accounting.BankFeedAccounts.ListAsync(new BankFeedAccountsListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( BankFeedAccountsListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -50,8 +48,8 @@ public async System.Threading.Tasks.Task ListAsync _query["page_size"] = request.PageSize.Value.ToString(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -62,37 +60,38 @@ public async System.Threading.Tasks.Task ListAsync cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Creates a `BankFeedAccount` object with the given values. /// - /// - /// + /// /// await client.Accounting.BankFeedAccounts.CreateAsync( /// new BankFeedAccountEndpointRequest { Model = new BankFeedAccountRequest() } /// ); - /// - /// - public async System.Threading.Tasks.Task CreateAsync( + /// + public async Task CreateAsync( BankFeedAccountEndpointRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -107,15 +106,14 @@ public async System.Threading.Tasks.Task CreateAsync( { _query["run_async"] = JsonUtils.Serialize(request.RunAsync.Value); } - var requestBody = new Dictionary() { { "model", request.Model } }; var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, Path = "accounting/v1/bank-feed-accounts", - Body = requestBody, + Body = request, Query = _query, ContentType = "application/json", Options = options, @@ -123,35 +121,36 @@ public async System.Threading.Tasks.Task CreateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a `BankFeedAccount` object with the given `id`. /// - /// - /// + /// /// await client.Accounting.BankFeedAccounts.RetrieveAsync("id", new BankFeedAccountsRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, BankFeedAccountsRetrieveRequest request, RequestOptions? options = null, @@ -163,55 +162,63 @@ public async System.Threading.Tasks.Task RetrieveAsync( { _query["include_remote_data"] = JsonUtils.Serialize(request.IncludeRemoteData.Value); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"accounting/v1/bank-feed-accounts/{id}", + Path = string.Format( + "accounting/v1/bank-feed-accounts/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns metadata for `BankFeedAccount` POSTs. /// - /// - /// + /// /// await client.Accounting.BankFeedAccounts.MetaPostRetrieveAsync(); - /// - /// - public async System.Threading.Tasks.Task MetaPostRetrieveAsync( + /// + public async Task MetaPostRetrieveAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -221,23 +228,26 @@ public async System.Threading.Tasks.Task MetaPostRetrieveAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Accounting/BankFeedAccounts/Requests/BankFeedAccountEndpointRequest.cs b/src/Merge.Client/Accounting/BankFeedAccounts/Requests/BankFeedAccountEndpointRequest.cs index 00be1aa7..2a9e6d05 100644 --- a/src/Merge.Client/Accounting/BankFeedAccounts/Requests/BankFeedAccountEndpointRequest.cs +++ b/src/Merge.Client/Accounting/BankFeedAccounts/Requests/BankFeedAccountEndpointRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,15 +8,19 @@ public record BankFeedAccountEndpointRequest /// /// Whether to include debug fields (such as log file links) in the response. /// + [JsonIgnore] public bool? IsDebugMode { get; set; } /// /// Whether or not third-party updates should be run asynchronously. /// + [JsonIgnore] public bool? RunAsync { get; set; } + [JsonPropertyName("model")] public required BankFeedAccountRequest Model { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/BankFeedAccounts/Requests/BankFeedAccountsListRequest.cs b/src/Merge.Client/Accounting/BankFeedAccounts/Requests/BankFeedAccountsListRequest.cs index a1e4323f..507f0970 100644 --- a/src/Merge.Client/Accounting/BankFeedAccounts/Requests/BankFeedAccountsListRequest.cs +++ b/src/Merge.Client/Accounting/BankFeedAccounts/Requests/BankFeedAccountsListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,28 +8,34 @@ public record BankFeedAccountsListRequest /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/BankFeedAccounts/Requests/BankFeedAccountsRetrieveRequest.cs b/src/Merge.Client/Accounting/BankFeedAccounts/Requests/BankFeedAccountsRetrieveRequest.cs index 95cabd74..673f6521 100644 --- a/src/Merge.Client/Accounting/BankFeedAccounts/Requests/BankFeedAccountsRetrieveRequest.cs +++ b/src/Merge.Client/Accounting/BankFeedAccounts/Requests/BankFeedAccountsRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,8 +8,16 @@ public record BankFeedAccountsRetrieveRequest /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/BankFeedTransactions/BankFeedTransactionsClient.cs b/src/Merge.Client/Accounting/BankFeedTransactions/BankFeedTransactionsClient.cs index a9a54d3d..7f5b72a3 100644 --- a/src/Merge.Client/Accounting/BankFeedTransactions/BankFeedTransactionsClient.cs +++ b/src/Merge.Client/Accounting/BankFeedTransactions/BankFeedTransactionsClient.cs @@ -17,12 +17,10 @@ internal BankFeedTransactionsClient(RawClient client) /// /// Returns a list of `BankFeedTransaction` objects. /// - /// - /// + /// /// await client.Accounting.BankFeedTransactions.ListAsync(new BankFeedTransactionsListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( BankFeedTransactionsListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -84,8 +82,8 @@ public async System.Threading.Tasks.Task ListA _query["remote_id"] = request.RemoteId; } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -96,37 +94,38 @@ public async System.Threading.Tasks.Task ListA cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Creates a `BankFeedTransaction` object with the given values. /// - /// - /// + /// /// await client.Accounting.BankFeedTransactions.CreateAsync( /// new BankFeedTransactionEndpointRequest { Model = new BankFeedTransactionRequestRequest() } /// ); - /// - /// - public async System.Threading.Tasks.Task CreateAsync( + /// + public async Task CreateAsync( BankFeedTransactionEndpointRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -141,15 +140,14 @@ public async System.Threading.Tasks.Task CreateAsyn { _query["run_async"] = JsonUtils.Serialize(request.RunAsync.Value); } - var requestBody = new Dictionary() { { "model", request.Model } }; var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, Path = "accounting/v1/bank-feed-transactions", - Body = requestBody, + Body = request, Query = _query, ContentType = "application/json", Options = options, @@ -157,38 +155,39 @@ public async System.Threading.Tasks.Task CreateAsyn cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a `BankFeedTransaction` object with the given `id`. /// - /// - /// + /// /// await client.Accounting.BankFeedTransactions.RetrieveAsync( /// "id", /// new BankFeedTransactionsRetrieveRequest() /// ); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, BankFeedTransactionsRetrieveRequest request, RequestOptions? options = null, @@ -204,55 +203,63 @@ public async System.Threading.Tasks.Task RetrieveAsync( { _query["include_remote_data"] = JsonUtils.Serialize(request.IncludeRemoteData.Value); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"accounting/v1/bank-feed-transactions/{id}", + Path = string.Format( + "accounting/v1/bank-feed-transactions/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns metadata for `BankFeedTransaction` POSTs. /// - /// - /// + /// /// await client.Accounting.BankFeedTransactions.MetaPostRetrieveAsync(); - /// - /// - public async System.Threading.Tasks.Task MetaPostRetrieveAsync( + /// + public async Task MetaPostRetrieveAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -262,23 +269,26 @@ public async System.Threading.Tasks.Task MetaPostRetrieveAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Accounting/BankFeedTransactions/Requests/BankFeedTransactionEndpointRequest.cs b/src/Merge.Client/Accounting/BankFeedTransactions/Requests/BankFeedTransactionEndpointRequest.cs index 732d5f54..118dedf3 100644 --- a/src/Merge.Client/Accounting/BankFeedTransactions/Requests/BankFeedTransactionEndpointRequest.cs +++ b/src/Merge.Client/Accounting/BankFeedTransactions/Requests/BankFeedTransactionEndpointRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,15 +8,19 @@ public record BankFeedTransactionEndpointRequest /// /// Whether to include debug fields (such as log file links) in the response. /// + [JsonIgnore] public bool? IsDebugMode { get; set; } /// /// Whether or not third-party updates should be run asynchronously. /// + [JsonIgnore] public bool? RunAsync { get; set; } + [JsonPropertyName("model")] public required BankFeedTransactionRequestRequest Model { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/BankFeedTransactions/Requests/BankFeedTransactionsListRequest.cs b/src/Merge.Client/Accounting/BankFeedTransactions/Requests/BankFeedTransactionsListRequest.cs index 64015df1..eca997cc 100644 --- a/src/Merge.Client/Accounting/BankFeedTransactions/Requests/BankFeedTransactionsListRequest.cs +++ b/src/Merge.Client/Accounting/BankFeedTransactions/Requests/BankFeedTransactionsListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,63 +8,76 @@ public record BankFeedTransactionsListRequest /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public string? Expand { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, will only return bank feed transactions with this is_processed value /// + [JsonIgnore] public bool? IsProcessed { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/BankFeedTransactions/Requests/BankFeedTransactionsRetrieveRequest.cs b/src/Merge.Client/Accounting/BankFeedTransactions/Requests/BankFeedTransactionsRetrieveRequest.cs index ab912749..d03f2676 100644 --- a/src/Merge.Client/Accounting/BankFeedTransactions/Requests/BankFeedTransactionsRetrieveRequest.cs +++ b/src/Merge.Client/Accounting/BankFeedTransactions/Requests/BankFeedTransactionsRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,13 +8,22 @@ public record BankFeedTransactionsRetrieveRequest /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public string? Expand { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/CashFlowStatements/CashFlowStatementsClient.cs b/src/Merge.Client/Accounting/CashFlowStatements/CashFlowStatementsClient.cs index 90c74589..8cce0bec 100644 --- a/src/Merge.Client/Accounting/CashFlowStatements/CashFlowStatementsClient.cs +++ b/src/Merge.Client/Accounting/CashFlowStatements/CashFlowStatementsClient.cs @@ -17,12 +17,10 @@ internal CashFlowStatementsClient(RawClient client) /// /// Returns a list of `CashFlowStatement` objects. /// - /// - /// + /// /// await client.Accounting.CashFlowStatements.ListAsync(new CashFlowStatementsListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( CashFlowStatementsListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -84,8 +82,8 @@ public async System.Threading.Tasks.Task ListAsy _query["remote_id"] = request.RemoteId; } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -96,38 +94,39 @@ public async System.Threading.Tasks.Task ListAsy cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a `CashFlowStatement` object with the given `id`. /// - /// - /// + /// /// await client.Accounting.CashFlowStatements.RetrieveAsync( /// "id", /// new CashFlowStatementsRetrieveRequest() /// ); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, CashFlowStatementsRetrieveRequest request, RequestOptions? options = null, @@ -143,36 +142,46 @@ public async System.Threading.Tasks.Task RetrieveAsync( { _query["include_remote_data"] = JsonUtils.Serialize(request.IncludeRemoteData.Value); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"accounting/v1/cash-flow-statements/{id}", + Path = string.Format( + "accounting/v1/cash-flow-statements/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Accounting/CashFlowStatements/Requests/CashFlowStatementsListRequest.cs b/src/Merge.Client/Accounting/CashFlowStatements/Requests/CashFlowStatementsListRequest.cs index 1e352e45..c1aebda9 100644 --- a/src/Merge.Client/Accounting/CashFlowStatements/Requests/CashFlowStatementsListRequest.cs +++ b/src/Merge.Client/Accounting/CashFlowStatements/Requests/CashFlowStatementsListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,63 +8,76 @@ public record CashFlowStatementsListRequest /// /// If provided, will only return cash flow statements for this company. /// + [JsonIgnore] public string? CompanyId { get; set; } /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public string? Expand { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/CashFlowStatements/Requests/CashFlowStatementsRetrieveRequest.cs b/src/Merge.Client/Accounting/CashFlowStatements/Requests/CashFlowStatementsRetrieveRequest.cs index 520101d1..a00985f3 100644 --- a/src/Merge.Client/Accounting/CashFlowStatements/Requests/CashFlowStatementsRetrieveRequest.cs +++ b/src/Merge.Client/Accounting/CashFlowStatements/Requests/CashFlowStatementsRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,13 +8,22 @@ public record CashFlowStatementsRetrieveRequest /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public string? Expand { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/CompanyInfo/CompanyInfoClient.cs b/src/Merge.Client/Accounting/CompanyInfo/CompanyInfoClient.cs index fc271dbf..d5100dae 100644 --- a/src/Merge.Client/Accounting/CompanyInfo/CompanyInfoClient.cs +++ b/src/Merge.Client/Accounting/CompanyInfo/CompanyInfoClient.cs @@ -17,12 +17,10 @@ internal CompanyInfoClient(RawClient client) /// /// Returns a list of `CompanyInfo` objects. /// - /// - /// + /// /// await client.Accounting.CompanyInfo.ListAsync(new CompanyInfoListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( CompanyInfoListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -80,8 +78,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["remote_id"] = request.RemoteId; } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -92,35 +90,36 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a `CompanyInfo` object with the given `id`. /// - /// - /// + /// /// await client.Accounting.CompanyInfo.RetrieveAsync("id", new CompanyInfoRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, CompanyInfoRetrieveRequest request, RequestOptions? options = null, @@ -136,36 +135,46 @@ public async System.Threading.Tasks.Task RetrieveAsync( { _query["include_remote_data"] = JsonUtils.Serialize(request.IncludeRemoteData.Value); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"accounting/v1/company-info/{id}", + Path = string.Format( + "accounting/v1/company-info/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Accounting/CompanyInfo/Requests/CompanyInfoListRequest.cs b/src/Merge.Client/Accounting/CompanyInfo/Requests/CompanyInfoListRequest.cs index 0e2117f6..d2a11577 100644 --- a/src/Merge.Client/Accounting/CompanyInfo/Requests/CompanyInfoListRequest.cs +++ b/src/Merge.Client/Accounting/CompanyInfo/Requests/CompanyInfoListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,58 +8,70 @@ public record CompanyInfoListRequest /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public CompanyInfoListRequestExpand? Expand { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/CompanyInfo/Requests/CompanyInfoRetrieveRequest.cs b/src/Merge.Client/Accounting/CompanyInfo/Requests/CompanyInfoRetrieveRequest.cs index 5737aa39..6fab50fa 100644 --- a/src/Merge.Client/Accounting/CompanyInfo/Requests/CompanyInfoRetrieveRequest.cs +++ b/src/Merge.Client/Accounting/CompanyInfo/Requests/CompanyInfoRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,13 +8,22 @@ public record CompanyInfoRetrieveRequest /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public CompanyInfoRetrieveRequestExpand? Expand { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Contacts/ContactsClient.cs b/src/Merge.Client/Accounting/Contacts/ContactsClient.cs index d2668875..18f12833 100644 --- a/src/Merge.Client/Accounting/Contacts/ContactsClient.cs +++ b/src/Merge.Client/Accounting/Contacts/ContactsClient.cs @@ -17,12 +17,10 @@ internal ContactsClient(RawClient client) /// /// Returns a list of `Contact` objects. /// - /// - /// + /// /// await client.Accounting.Contacts.ListAsync(new ContactsListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( ContactsListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -114,8 +112,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["show_enum_origins"] = request.ShowEnumOrigins.ToString(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -126,37 +124,38 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Creates a `Contact` object with the given values. /// - /// - /// + /// /// await client.Accounting.Contacts.CreateAsync( /// new ContactEndpointRequest { Model = new Merge.Client.Accounting.ContactRequest() } /// ); - /// - /// - public async System.Threading.Tasks.Task CreateAsync( + /// + public async Task CreateAsync( ContactEndpointRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -171,15 +170,14 @@ public async System.Threading.Tasks.Task CreateAsync( { _query["run_async"] = JsonUtils.Serialize(request.RunAsync.Value); } - var requestBody = new Dictionary() { { "model", request.Model } }; var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, Path = "accounting/v1/contacts", - Body = requestBody, + Body = request, Query = _query, ContentType = "application/json", Options = options, @@ -187,35 +185,36 @@ public async System.Threading.Tasks.Task CreateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a `Contact` object with the given `id`. /// - /// - /// + /// /// await client.Accounting.Contacts.RetrieveAsync("id", new ContactsRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, ContactsRetrieveRequest request, RequestOptions? options = null, @@ -237,6 +236,10 @@ public async System.Threading.Tasks.Task RetrieveAsync( request.IncludeRemoteFields.Value ); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } if (request.RemoteFields != null) { _query["remote_fields"] = request.RemoteFields.ToString(); @@ -246,54 +249,58 @@ public async System.Threading.Tasks.Task RetrieveAsync( _query["show_enum_origins"] = request.ShowEnumOrigins.ToString(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"accounting/v1/contacts/{id}", + Path = string.Format( + "accounting/v1/contacts/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns metadata for `Contact` POSTs. /// - /// - /// + /// /// await client.Accounting.Contacts.MetaPostRetrieveAsync(); - /// - /// - public async System.Threading.Tasks.Task MetaPostRetrieveAsync( + /// + public async Task MetaPostRetrieveAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -303,37 +310,38 @@ public async System.Threading.Tasks.Task MetaPostRetrieveAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a list of `RemoteFieldClass` objects. /// - /// - /// + /// /// await client.Accounting.Contacts.RemoteFieldClassesListAsync( /// new ContactsRemoteFieldClassesListRequest() /// ); - /// - /// - public async System.Threading.Tasks.Task RemoteFieldClassesListAsync( + /// + public async Task RemoteFieldClassesListAsync( ContactsRemoteFieldClassesListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -365,8 +373,8 @@ public async System.Threading.Tasks.Task RemoteFi _query["page_size"] = request.PageSize.Value.ToString(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -377,23 +385,26 @@ public async System.Threading.Tasks.Task RemoteFi cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Accounting/Contacts/Requests/ContactEndpointRequest.cs b/src/Merge.Client/Accounting/Contacts/Requests/ContactEndpointRequest.cs index d0a4c987..14c99ec2 100644 --- a/src/Merge.Client/Accounting/Contacts/Requests/ContactEndpointRequest.cs +++ b/src/Merge.Client/Accounting/Contacts/Requests/ContactEndpointRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,15 +8,19 @@ public record ContactEndpointRequest /// /// Whether to include debug fields (such as log file links) in the response. /// + [JsonIgnore] public bool? IsDebugMode { get; set; } /// /// Whether or not third-party updates should be run asynchronously. /// + [JsonIgnore] public bool? RunAsync { get; set; } + [JsonPropertyName("model")] public required ContactRequest Model { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Contacts/Requests/ContactsListRequest.cs b/src/Merge.Client/Accounting/Contacts/Requests/ContactsListRequest.cs index 2dea66a1..50628a05 100644 --- a/src/Merge.Client/Accounting/Contacts/Requests/ContactsListRequest.cs +++ b/src/Merge.Client/Accounting/Contacts/Requests/ContactsListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,98 +8,118 @@ public record ContactsListRequest /// /// If provided, will only return contacts for this company. /// + [JsonIgnore] public string? CompanyId { get; set; } /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// If provided, will only return Contacts that match this email. /// + [JsonIgnore] public string? EmailAddress { get; set; } /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public ContactsListRequestExpand? Expand { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include all remote fields, including fields that Merge did not map to common models, in a normalized format. /// + [JsonIgnore] public bool? IncludeRemoteFields { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, will only return Contacts that are denoted as customers. /// + [JsonIgnore] public string? IsCustomer { get; set; } /// /// If provided, will only return Contacts that are denoted as suppliers. /// + [JsonIgnore] public string? IsSupplier { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// If provided, will only return Contacts that match this name. /// + [JsonIgnore] public string? Name { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// Deprecated. Use show_enum_origins. /// + [JsonIgnore] public string? RemoteFields { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } /// /// A comma separated list of enum field names for which you'd like the original values to be returned, instead of Merge's normalized enum values. [Learn more](https://help.merge.dev/en/articles/8950958-show_enum_origins-query-parameter) /// + [JsonIgnore] public string? ShowEnumOrigins { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Contacts/Requests/ContactsRemoteFieldClassesListRequest.cs b/src/Merge.Client/Accounting/Contacts/Requests/ContactsRemoteFieldClassesListRequest.cs index 09f023f4..5cc1e79a 100644 --- a/src/Merge.Client/Accounting/Contacts/Requests/ContactsRemoteFieldClassesListRequest.cs +++ b/src/Merge.Client/Accounting/Contacts/Requests/ContactsRemoteFieldClassesListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,33 +8,40 @@ public record ContactsRemoteFieldClassesListRequest /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, will only return remote field classes with this is_common_model_field value /// + [JsonIgnore] public bool? IsCommonModelField { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Contacts/Requests/ContactsRetrieveRequest.cs b/src/Merge.Client/Accounting/Contacts/Requests/ContactsRetrieveRequest.cs index b1bd8bcf..577359b4 100644 --- a/src/Merge.Client/Accounting/Contacts/Requests/ContactsRetrieveRequest.cs +++ b/src/Merge.Client/Accounting/Contacts/Requests/ContactsRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,28 +8,40 @@ public record ContactsRetrieveRequest /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public ContactsRetrieveRequestExpand? Expand { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include all remote fields, including fields that Merge did not map to common models, in a normalized format. /// + [JsonIgnore] public bool? IncludeRemoteFields { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + /// /// Deprecated. Use show_enum_origins. /// + [JsonIgnore] public string? RemoteFields { get; set; } /// /// A comma separated list of enum field names for which you'd like the original values to be returned, instead of Merge's normalized enum values. [Learn more](https://help.merge.dev/en/articles/8950958-show_enum_origins-query-parameter) /// + [JsonIgnore] public string? ShowEnumOrigins { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/CreditNotes/CreditNotesClient.cs b/src/Merge.Client/Accounting/CreditNotes/CreditNotesClient.cs index d6675301..d699e0d5 100644 --- a/src/Merge.Client/Accounting/CreditNotes/CreditNotesClient.cs +++ b/src/Merge.Client/Accounting/CreditNotes/CreditNotesClient.cs @@ -17,12 +17,10 @@ internal CreditNotesClient(RawClient client) /// /// Returns a list of `CreditNote` objects. /// - /// - /// + /// /// await client.Accounting.CreditNotes.ListAsync(new CreditNotesListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( CreditNotesListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -104,8 +102,8 @@ public async System.Threading.Tasks.Task ListAsync( ); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -116,37 +114,38 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Creates a `CreditNote` object with the given values. /// - /// - /// + /// /// await client.Accounting.CreditNotes.CreateAsync( /// new CreditNoteEndpointRequest { Model = new CreditNoteRequest() } /// ); - /// - /// - public async System.Threading.Tasks.Task CreateAsync( + /// + public async Task CreateAsync( CreditNoteEndpointRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -161,15 +160,14 @@ public async System.Threading.Tasks.Task CreateAsync( { _query["run_async"] = JsonUtils.Serialize(request.RunAsync.Value); } - var requestBody = new Dictionary() { { "model", request.Model } }; var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, Path = "accounting/v1/credit-notes", - Body = requestBody, + Body = request, Query = _query, ContentType = "application/json", Options = options, @@ -177,35 +175,36 @@ public async System.Threading.Tasks.Task CreateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a `CreditNote` object with the given `id`. /// - /// - /// + /// /// await client.Accounting.CreditNotes.RetrieveAsync("id", new CreditNotesRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, CreditNotesRetrieveRequest request, RequestOptions? options = null, @@ -221,6 +220,10 @@ public async System.Threading.Tasks.Task RetrieveAsync( { _query["include_remote_data"] = JsonUtils.Serialize(request.IncludeRemoteData.Value); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } if (request.RemoteFields != null) { _query["remote_fields"] = request.RemoteFields.Value.Stringify(); @@ -230,54 +233,58 @@ public async System.Threading.Tasks.Task RetrieveAsync( _query["show_enum_origins"] = request.ShowEnumOrigins.Value.Stringify(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"accounting/v1/credit-notes/{id}", + Path = string.Format( + "accounting/v1/credit-notes/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns metadata for `CreditNote` POSTs. /// - /// - /// + /// /// await client.Accounting.CreditNotes.MetaPostRetrieveAsync(); - /// - /// - public async System.Threading.Tasks.Task MetaPostRetrieveAsync( + /// + public async Task MetaPostRetrieveAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -287,23 +294,26 @@ public async System.Threading.Tasks.Task MetaPostRetrieveAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Accounting/CreditNotes/Requests/CreditNoteEndpointRequest.cs b/src/Merge.Client/Accounting/CreditNotes/Requests/CreditNoteEndpointRequest.cs index ad1fd8c2..6af392ed 100644 --- a/src/Merge.Client/Accounting/CreditNotes/Requests/CreditNoteEndpointRequest.cs +++ b/src/Merge.Client/Accounting/CreditNotes/Requests/CreditNoteEndpointRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,15 +8,19 @@ public record CreditNoteEndpointRequest /// /// Whether to include debug fields (such as log file links) in the response. /// + [JsonIgnore] public bool? IsDebugMode { get; set; } /// /// Whether or not third-party updates should be run asynchronously. /// + [JsonIgnore] public bool? RunAsync { get; set; } + [JsonPropertyName("model")] public required CreditNoteRequest Model { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/CreditNotes/Requests/CreditNotesListRequest.cs b/src/Merge.Client/Accounting/CreditNotes/Requests/CreditNotesListRequest.cs index 99492fde..286ed57b 100644 --- a/src/Merge.Client/Accounting/CreditNotes/Requests/CreditNotesListRequest.cs +++ b/src/Merge.Client/Accounting/CreditNotes/Requests/CreditNotesListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,83 +8,100 @@ public record CreditNotesListRequest /// /// If provided, will only return credit notes for this company. /// + [JsonIgnore] public string? CompanyId { get; set; } /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public CreditNotesListRequestExpand? Expand { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// Deprecated. Use show_enum_origins. /// + [JsonIgnore] public CreditNotesListRequestRemoteFields? RemoteFields { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } /// /// A comma separated list of enum field names for which you'd like the original values to be returned, instead of Merge's normalized enum values. [Learn more](https://help.merge.dev/en/articles/8950958-show_enum_origins-query-parameter) /// + [JsonIgnore] public CreditNotesListRequestShowEnumOrigins? ShowEnumOrigins { get; set; } /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? TransactionDateAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? TransactionDateBefore { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/CreditNotes/Requests/CreditNotesRetrieveRequest.cs b/src/Merge.Client/Accounting/CreditNotes/Requests/CreditNotesRetrieveRequest.cs index 6a3bb6c6..e94c3269 100644 --- a/src/Merge.Client/Accounting/CreditNotes/Requests/CreditNotesRetrieveRequest.cs +++ b/src/Merge.Client/Accounting/CreditNotes/Requests/CreditNotesRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,23 +8,34 @@ public record CreditNotesRetrieveRequest /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public CreditNotesRetrieveRequestExpand? Expand { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + /// /// Deprecated. Use show_enum_origins. /// + [JsonIgnore] public CreditNotesRetrieveRequestRemoteFields? RemoteFields { get; set; } /// /// A comma separated list of enum field names for which you'd like the original values to be returned, instead of Merge's normalized enum values. [Learn more](https://help.merge.dev/en/articles/8950958-show_enum_origins-query-parameter) /// + [JsonIgnore] public CreditNotesRetrieveRequestShowEnumOrigins? ShowEnumOrigins { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/DeleteAccount/DeleteAccountClient.cs b/src/Merge.Client/Accounting/DeleteAccount/DeleteAccountClient.cs index 76483b9f..7da6cb93 100644 --- a/src/Merge.Client/Accounting/DeleteAccount/DeleteAccountClient.cs +++ b/src/Merge.Client/Accounting/DeleteAccount/DeleteAccountClient.cs @@ -1,5 +1,6 @@ using System.Net.Http; using System.Threading; +using global::System.Threading.Tasks; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -16,19 +17,17 @@ internal DeleteAccountClient(RawClient client) /// /// Delete a linked account. /// - /// - /// + /// /// await client.Accounting.DeleteAccount.DeleteAsync(); - /// - /// - public async System.Threading.Tasks.Task DeleteAsync( + /// + public async global::System.Threading.Tasks.Task DeleteAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, @@ -42,11 +41,13 @@ public async System.Threading.Tasks.Task DeleteAsync( { return; } - var responseBody = await response.Raw.Content.ReadAsStringAsync(); - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Accounting/Employees/EmployeesClient.cs b/src/Merge.Client/Accounting/Employees/EmployeesClient.cs index e0602e70..afb37ea6 100644 --- a/src/Merge.Client/Accounting/Employees/EmployeesClient.cs +++ b/src/Merge.Client/Accounting/Employees/EmployeesClient.cs @@ -17,12 +17,10 @@ internal EmployeesClient(RawClient client) /// /// Returns a list of `Employee` objects. /// - /// - /// + /// /// await client.Accounting.Employees.ListAsync(new EmployeesListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( EmployeesListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -54,8 +52,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["page_size"] = request.PageSize.Value.ToString(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -66,35 +64,36 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns an `Employee` object with the given `id`. /// - /// - /// + /// /// await client.Accounting.Employees.RetrieveAsync("id", new EmployeesRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, EmployeesRetrieveRequest request, RequestOptions? options = null, @@ -110,36 +109,46 @@ public async System.Threading.Tasks.Task RetrieveAsync( { _query["include_remote_data"] = JsonUtils.Serialize(request.IncludeRemoteData.Value); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"accounting/v1/employees/{id}", + Path = string.Format( + "accounting/v1/employees/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Accounting/Employees/Requests/EmployeesListRequest.cs b/src/Merge.Client/Accounting/Employees/Requests/EmployeesListRequest.cs index 27824461..338cdfea 100644 --- a/src/Merge.Client/Accounting/Employees/Requests/EmployeesListRequest.cs +++ b/src/Merge.Client/Accounting/Employees/Requests/EmployeesListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,33 +8,40 @@ public record EmployeesListRequest /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public string? Expand { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Employees/Requests/EmployeesRetrieveRequest.cs b/src/Merge.Client/Accounting/Employees/Requests/EmployeesRetrieveRequest.cs index 4c865932..e9c8d7b5 100644 --- a/src/Merge.Client/Accounting/Employees/Requests/EmployeesRetrieveRequest.cs +++ b/src/Merge.Client/Accounting/Employees/Requests/EmployeesRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,13 +8,22 @@ public record EmployeesRetrieveRequest /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public string? Expand { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Expenses/ExpensesClient.cs b/src/Merge.Client/Accounting/Expenses/ExpensesClient.cs index 9990b86a..29d57f68 100644 --- a/src/Merge.Client/Accounting/Expenses/ExpensesClient.cs +++ b/src/Merge.Client/Accounting/Expenses/ExpensesClient.cs @@ -17,12 +17,10 @@ internal ExpensesClient(RawClient client) /// /// Returns a list of `Expense` objects. /// - /// - /// + /// /// await client.Accounting.Expenses.ListAsync(new ExpensesListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( ExpensesListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -102,8 +100,8 @@ public async System.Threading.Tasks.Task ListAsync( ); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -114,37 +112,38 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Creates an `Expense` object with the given values. /// - /// - /// + /// /// await client.Accounting.Expenses.CreateAsync( /// new ExpenseEndpointRequest { Model = new ExpenseRequest() } /// ); - /// - /// - public async System.Threading.Tasks.Task CreateAsync( + /// + public async Task CreateAsync( ExpenseEndpointRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -159,15 +158,14 @@ public async System.Threading.Tasks.Task CreateAsync( { _query["run_async"] = JsonUtils.Serialize(request.RunAsync.Value); } - var requestBody = new Dictionary() { { "model", request.Model } }; var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, Path = "accounting/v1/expenses", - Body = requestBody, + Body = request, Query = _query, ContentType = "application/json", Options = options, @@ -175,35 +173,36 @@ public async System.Threading.Tasks.Task CreateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns an `Expense` object with the given `id`. /// - /// - /// + /// /// await client.Accounting.Expenses.RetrieveAsync("id", new ExpensesRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, ExpensesRetrieveRequest request, RequestOptions? options = null, @@ -225,50 +224,58 @@ public async System.Threading.Tasks.Task RetrieveAsync( request.IncludeRemoteFields.Value ); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"accounting/v1/expenses/{id}", + Path = string.Format( + "accounting/v1/expenses/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a list of `RemoteFieldClass` objects. /// - /// - /// + /// /// await client.Accounting.Expenses.LinesRemoteFieldClassesListAsync( /// new ExpensesLinesRemoteFieldClassesListRequest() /// ); - /// - /// - public async System.Threading.Tasks.Task LinesRemoteFieldClassesListAsync( + /// + public async Task LinesRemoteFieldClassesListAsync( ExpensesLinesRemoteFieldClassesListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -300,8 +307,8 @@ public async System.Threading.Tasks.Task LinesRem _query["page_size"] = request.PageSize.Value.ToString(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -312,42 +319,43 @@ public async System.Threading.Tasks.Task LinesRem cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns metadata for `Expense` POSTs. /// - /// - /// + /// /// await client.Accounting.Expenses.MetaPostRetrieveAsync(); - /// - /// - public async System.Threading.Tasks.Task MetaPostRetrieveAsync( + /// + public async Task MetaPostRetrieveAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -357,37 +365,38 @@ public async System.Threading.Tasks.Task MetaPostRetrieveAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a list of `RemoteFieldClass` objects. /// - /// - /// + /// /// await client.Accounting.Expenses.RemoteFieldClassesListAsync( /// new ExpensesRemoteFieldClassesListRequest() /// ); - /// - /// - public async System.Threading.Tasks.Task RemoteFieldClassesListAsync( + /// + public async Task RemoteFieldClassesListAsync( ExpensesRemoteFieldClassesListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -419,8 +428,8 @@ public async System.Threading.Tasks.Task RemoteFi _query["page_size"] = request.PageSize.Value.ToString(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -431,23 +440,26 @@ public async System.Threading.Tasks.Task RemoteFi cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Accounting/Expenses/Requests/ExpenseEndpointRequest.cs b/src/Merge.Client/Accounting/Expenses/Requests/ExpenseEndpointRequest.cs index 55d5e0ac..94e91ae1 100644 --- a/src/Merge.Client/Accounting/Expenses/Requests/ExpenseEndpointRequest.cs +++ b/src/Merge.Client/Accounting/Expenses/Requests/ExpenseEndpointRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,15 +8,19 @@ public record ExpenseEndpointRequest /// /// Whether to include debug fields (such as log file links) in the response. /// + [JsonIgnore] public bool? IsDebugMode { get; set; } /// /// Whether or not third-party updates should be run asynchronously. /// + [JsonIgnore] public bool? RunAsync { get; set; } + [JsonPropertyName("model")] public required ExpenseRequest Model { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Expenses/Requests/ExpensesLinesRemoteFieldClassesListRequest.cs b/src/Merge.Client/Accounting/Expenses/Requests/ExpensesLinesRemoteFieldClassesListRequest.cs index 0cb48243..5db41ae4 100644 --- a/src/Merge.Client/Accounting/Expenses/Requests/ExpensesLinesRemoteFieldClassesListRequest.cs +++ b/src/Merge.Client/Accounting/Expenses/Requests/ExpensesLinesRemoteFieldClassesListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,33 +8,40 @@ public record ExpensesLinesRemoteFieldClassesListRequest /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, will only return remote field classes with this is_common_model_field value /// + [JsonIgnore] public bool? IsCommonModelField { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Expenses/Requests/ExpensesListRequest.cs b/src/Merge.Client/Accounting/Expenses/Requests/ExpensesListRequest.cs index 430354f0..fbd9c570 100644 --- a/src/Merge.Client/Accounting/Expenses/Requests/ExpensesListRequest.cs +++ b/src/Merge.Client/Accounting/Expenses/Requests/ExpensesListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,78 +8,94 @@ public record ExpensesListRequest /// /// If provided, will only return expenses for this company. /// + [JsonIgnore] public string? CompanyId { get; set; } /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public ExpensesListRequestExpand? Expand { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include all remote fields, including fields that Merge did not map to common models, in a normalized format. /// + [JsonIgnore] public bool? IncludeRemoteFields { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? TransactionDateAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? TransactionDateBefore { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Expenses/Requests/ExpensesRemoteFieldClassesListRequest.cs b/src/Merge.Client/Accounting/Expenses/Requests/ExpensesRemoteFieldClassesListRequest.cs index 51ce424e..e51af57b 100644 --- a/src/Merge.Client/Accounting/Expenses/Requests/ExpensesRemoteFieldClassesListRequest.cs +++ b/src/Merge.Client/Accounting/Expenses/Requests/ExpensesRemoteFieldClassesListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,33 +8,40 @@ public record ExpensesRemoteFieldClassesListRequest /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, will only return remote field classes with this is_common_model_field value /// + [JsonIgnore] public bool? IsCommonModelField { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Expenses/Requests/ExpensesRetrieveRequest.cs b/src/Merge.Client/Accounting/Expenses/Requests/ExpensesRetrieveRequest.cs index fd65a785..b11ecffa 100644 --- a/src/Merge.Client/Accounting/Expenses/Requests/ExpensesRetrieveRequest.cs +++ b/src/Merge.Client/Accounting/Expenses/Requests/ExpensesRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,18 +8,28 @@ public record ExpensesRetrieveRequest /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public ExpensesRetrieveRequestExpand? Expand { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include all remote fields, including fields that Merge did not map to common models, in a normalized format. /// + [JsonIgnore] public bool? IncludeRemoteFields { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/FieldMapping/FieldMappingClient.cs b/src/Merge.Client/Accounting/FieldMapping/FieldMappingClient.cs index 2b83cf55..ec91dc3e 100644 --- a/src/Merge.Client/Accounting/FieldMapping/FieldMappingClient.cs +++ b/src/Merge.Client/Accounting/FieldMapping/FieldMappingClient.cs @@ -17,12 +17,10 @@ internal FieldMappingClient(RawClient client) /// /// Get all Field Mappings for this Linked Account. Field Mappings are mappings between third-party Remote Fields and user defined Merge fields. [Learn more](https://docs.merge.dev/supplemental-data/field-mappings/overview/). /// - /// - /// + /// /// await client.Accounting.FieldMapping.FieldMappingsRetrieveAsync(new FieldMappingsRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task FieldMappingsRetrieveAsync( + /// + public async Task FieldMappingsRetrieveAsync( FieldMappingsRetrieveRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -36,8 +34,8 @@ public async System.Threading.Tasks.Task FieldM ); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -48,31 +46,33 @@ public async System.Threading.Tasks.Task FieldM cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Create new Field Mappings that will be available after the next scheduled sync. This will cause the next sync for this Linked Account to sync **ALL** data from start. /// - /// - /// + /// /// await client.Accounting.FieldMapping.FieldMappingsCreateAsync( /// new CreateFieldMappingRequest /// { @@ -84,9 +84,8 @@ public async System.Threading.Tasks.Task FieldM /// CommonModelName = "ExampleCommonModel", /// } /// ); - /// - /// - public async System.Threading.Tasks.Task FieldMappingsCreateAsync( + /// + public async Task FieldMappingsCreateAsync( CreateFieldMappingRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -99,23 +98,14 @@ public async System.Threading.Tasks.Task FieldMapp request.ExcludeRemoteFieldMetadata.Value ); } - var requestBody = new Dictionary() - { - { "target_field_name", request.TargetFieldName }, - { "target_field_description", request.TargetFieldDescription }, - { "remote_field_traversal_path", request.RemoteFieldTraversalPath }, - { "remote_method", request.RemoteMethod }, - { "remote_url_path", request.RemoteUrlPath }, - { "common_model_name", request.CommonModelName }, - }; var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, Path = "accounting/v1/field-mappings", - Body = requestBody, + Body = request, Query = _query, ContentType = "application/json", Options = options, @@ -123,84 +113,89 @@ public async System.Threading.Tasks.Task FieldMapp cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Deletes Field Mappings for a Linked Account. All data related to this Field Mapping will be deleted and these changes will be reflected after the next scheduled sync. This will cause the next sync for this Linked Account to sync **ALL** data from start. /// - /// - /// + /// /// await client.Accounting.FieldMapping.FieldMappingsDestroyAsync("field_mapping_id"); - /// - /// - public async System.Threading.Tasks.Task FieldMappingsDestroyAsync( + /// + public async Task FieldMappingsDestroyAsync( string fieldMappingId, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Delete, - Path = $"accounting/v1/field-mappings/{fieldMappingId}", + Path = string.Format( + "accounting/v1/field-mappings/{0}", + ValueConvert.ToPathParameterString(fieldMappingId) + ), Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Create or update existing Field Mappings for a Linked Account. Changes will be reflected after the next scheduled sync. This will cause the next sync for this Linked Account to sync **ALL** data from start. /// - /// - /// + /// /// await client.Accounting.FieldMapping.FieldMappingsPartialUpdateAsync( /// "field_mapping_id", /// new PatchedEditFieldMappingRequest() /// ); - /// - /// - public async System.Threading.Tasks.Task FieldMappingsPartialUpdateAsync( + /// + public async Task FieldMappingsPartialUpdateAsync( string fieldMappingId, PatchedEditFieldMappingRequest request, RequestOptions? options = null, @@ -208,12 +203,15 @@ public async System.Threading.Tasks.Task FieldMapp ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethodExtensions.Patch, - Path = $"accounting/v1/field-mappings/{fieldMappingId}", + Path = string.Format( + "accounting/v1/field-mappings/{0}", + ValueConvert.ToPathParameterString(fieldMappingId) + ), Body = request, ContentType = "application/json", Options = options, @@ -221,35 +219,36 @@ public async System.Threading.Tasks.Task FieldMapp cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Get all remote fields for a Linked Account. Remote fields are third-party fields that are accessible after initial sync if remote_data is enabled. You can use remote fields to override existing Merge fields or map a new Merge field. [Learn more](https://docs.merge.dev/supplemental-data/field-mappings/overview/). /// - /// - /// + /// /// await client.Accounting.FieldMapping.RemoteFieldsRetrieveAsync(new RemoteFieldsRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RemoteFieldsRetrieveAsync( + /// + public async Task RemoteFieldsRetrieveAsync( RemoteFieldsRetrieveRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -265,8 +264,8 @@ public async System.Threading.Tasks.Task RemoteFieldsRet _query["include_example_values"] = request.IncludeExampleValues; } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -277,42 +276,43 @@ public async System.Threading.Tasks.Task RemoteFieldsRet cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Get all organization-wide Target Fields, this will not include any Linked Account specific Target Fields. Organization-wide Target Fields are additional fields appended to the Merge Common Model for all Linked Accounts in a category. [Learn more](https://docs.merge.dev/supplemental-data/field-mappings/target-fields/). /// - /// - /// + /// /// await client.Accounting.FieldMapping.TargetFieldsRetrieveAsync(); - /// - /// - public async System.Threading.Tasks.Task TargetFieldsRetrieveAsync( + /// + public async Task TargetFieldsRetrieveAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -322,23 +322,26 @@ public async System.Threading.Tasks.Task TargetF cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Accounting/FieldMapping/Requests/CreateFieldMappingRequest.cs b/src/Merge.Client/Accounting/FieldMapping/Requests/CreateFieldMappingRequest.cs index 7f41be9e..a0a8f2c9 100644 --- a/src/Merge.Client/Accounting/FieldMapping/Requests/CreateFieldMappingRequest.cs +++ b/src/Merge.Client/Accounting/FieldMapping/Requests/CreateFieldMappingRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,38 +8,46 @@ public record CreateFieldMappingRequest /// /// If `true`, remote fields metadata is excluded from each field mapping instance (i.e. `remote_fields.remote_key_name` and `remote_fields.schema` will be null). This will increase the speed of the request since these fields require some calculations. /// + [JsonIgnore] public bool? ExcludeRemoteFieldMetadata { get; set; } /// /// The name of the target field you want this remote field to map to. /// + [JsonPropertyName("target_field_name")] public required string TargetFieldName { get; set; } /// /// The description of the target field you want this remote field to map to. /// + [JsonPropertyName("target_field_description")] public required string TargetFieldDescription { get; set; } /// /// The field traversal path of the remote field listed when you hit the GET /remote-fields endpoint. /// + [JsonPropertyName("remote_field_traversal_path")] public IEnumerable RemoteFieldTraversalPath { get; set; } = new List(); /// /// The method of the remote endpoint where the remote field is coming from. /// + [JsonPropertyName("remote_method")] public required string RemoteMethod { get; set; } /// /// The path of the remote endpoint where the remote field is coming from. /// + [JsonPropertyName("remote_url_path")] public required string RemoteUrlPath { get; set; } /// /// The name of the Common Model that the remote field corresponds to in a given category. /// + [JsonPropertyName("common_model_name")] public required string CommonModelName { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/FieldMapping/Requests/FieldMappingsRetrieveRequest.cs b/src/Merge.Client/Accounting/FieldMapping/Requests/FieldMappingsRetrieveRequest.cs index d46c88f0..351dc338 100644 --- a/src/Merge.Client/Accounting/FieldMapping/Requests/FieldMappingsRetrieveRequest.cs +++ b/src/Merge.Client/Accounting/FieldMapping/Requests/FieldMappingsRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,8 +8,10 @@ public record FieldMappingsRetrieveRequest /// /// If `true`, remote fields metadata is excluded from each field mapping instance (i.e. `remote_fields.remote_key_name` and `remote_fields.schema` will be null). This will increase the speed of the request since these fields require some calculations. /// + [JsonIgnore] public bool? ExcludeRemoteFieldMetadata { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/FieldMapping/Requests/PatchedEditFieldMappingRequest.cs b/src/Merge.Client/Accounting/FieldMapping/Requests/PatchedEditFieldMappingRequest.cs index e54a7ad6..ff1ef47d 100644 --- a/src/Merge.Client/Accounting/FieldMapping/Requests/PatchedEditFieldMappingRequest.cs +++ b/src/Merge.Client/Accounting/FieldMapping/Requests/PatchedEditFieldMappingRequest.cs @@ -23,6 +23,7 @@ public record PatchedEditFieldMappingRequest [JsonPropertyName("remote_url_path")] public string? RemoteUrlPath { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/FieldMapping/Requests/RemoteFieldsRetrieveRequest.cs b/src/Merge.Client/Accounting/FieldMapping/Requests/RemoteFieldsRetrieveRequest.cs index 13b7504f..aee232e7 100644 --- a/src/Merge.Client/Accounting/FieldMapping/Requests/RemoteFieldsRetrieveRequest.cs +++ b/src/Merge.Client/Accounting/FieldMapping/Requests/RemoteFieldsRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,13 +8,16 @@ public record RemoteFieldsRetrieveRequest /// /// A comma seperated list of Common Model names. If included, will only return Remote Fields for those Common Models. /// + [JsonIgnore] public string? CommonModels { get; set; } /// /// If true, will include example values, where available, for remote fields in the 3rd party platform. These examples come from active data from your customers. /// + [JsonIgnore] public string? IncludeExampleValues { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/ForceResync/ForceResyncClient.cs b/src/Merge.Client/Accounting/ForceResync/ForceResyncClient.cs index 9590d641..2856489d 100644 --- a/src/Merge.Client/Accounting/ForceResync/ForceResyncClient.cs +++ b/src/Merge.Client/Accounting/ForceResync/ForceResyncClient.cs @@ -15,21 +15,19 @@ internal ForceResyncClient(RawClient client) } /// - /// Force re-sync of all models. This is available for all organizations via the dashboard. Force re-sync is also available programmatically via API for monthly, quarterly, and highest sync frequency customers on the Professional or Enterprise plans. Doing so will consume a sync credit for the relevant linked account. + /// Force re-sync of all models. This endpoint is available for monthly, quarterly, and highest sync frequency customers on the Professional or Enterprise plans. Doing so will consume a sync credit for the relevant linked account. Force re-syncs can also be triggered manually in the Merge Dashboard and is available for all customers. /// - /// - /// + /// /// await client.Accounting.ForceResync.SyncStatusResyncCreateAsync(); - /// - /// - public async System.Threading.Tasks.Task> SyncStatusResyncCreateAsync( + /// + public async Task> SyncStatusResyncCreateAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, @@ -39,23 +37,26 @@ public async System.Threading.Tasks.Task> SyncStatusResy cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize>(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Accounting/GeneralLedgerTransactions/GeneralLedgerTransactionsClient.cs b/src/Merge.Client/Accounting/GeneralLedgerTransactions/GeneralLedgerTransactionsClient.cs index 9e0170de..6b1a5921 100644 --- a/src/Merge.Client/Accounting/GeneralLedgerTransactions/GeneralLedgerTransactionsClient.cs +++ b/src/Merge.Client/Accounting/GeneralLedgerTransactions/GeneralLedgerTransactionsClient.cs @@ -17,14 +17,12 @@ internal GeneralLedgerTransactionsClient(RawClient client) /// /// Returns a list of `GeneralLedgerTransaction` objects. /// - /// - /// + /// /// await client.Accounting.GeneralLedgerTransactions.ListAsync( /// new GeneralLedgerTransactionsListRequest() /// ); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( GeneralLedgerTransactionsListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -98,8 +96,8 @@ public async System.Threading.Tasks.Task _query["remote_id"] = request.RemoteId; } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -110,38 +108,39 @@ public async System.Threading.Tasks.Task cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a `GeneralLedgerTransaction` object with the given `id`. /// - /// - /// + /// /// await client.Accounting.GeneralLedgerTransactions.RetrieveAsync( /// "id", /// new GeneralLedgerTransactionsRetrieveRequest() /// ); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, GeneralLedgerTransactionsRetrieveRequest request, RequestOptions? options = null, @@ -157,36 +156,46 @@ public async System.Threading.Tasks.Task RetrieveAsync { _query["include_remote_data"] = JsonUtils.Serialize(request.IncludeRemoteData.Value); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"accounting/v1/general-ledger-transactions/{id}", + Path = string.Format( + "accounting/v1/general-ledger-transactions/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Accounting/GeneralLedgerTransactions/Requests/GeneralLedgerTransactionsListRequest.cs b/src/Merge.Client/Accounting/GeneralLedgerTransactions/Requests/GeneralLedgerTransactionsListRequest.cs index 27e3e8e7..6c5d4463 100644 --- a/src/Merge.Client/Accounting/GeneralLedgerTransactions/Requests/GeneralLedgerTransactionsListRequest.cs +++ b/src/Merge.Client/Accounting/GeneralLedgerTransactions/Requests/GeneralLedgerTransactionsListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,73 +8,88 @@ public record GeneralLedgerTransactionsListRequest /// /// If provided, will only return general ledger transactions for this company. /// + [JsonIgnore] public string? CompanyId { get; set; } /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public GeneralLedgerTransactionsListRequestExpand? Expand { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// If provided, will only return objects posted after this datetime. /// + [JsonIgnore] public DateTime? PostedDateAfter { get; set; } /// /// If provided, will only return objects posted before this datetime. /// + [JsonIgnore] public DateTime? PostedDateBefore { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/GeneralLedgerTransactions/Requests/GeneralLedgerTransactionsRetrieveRequest.cs b/src/Merge.Client/Accounting/GeneralLedgerTransactions/Requests/GeneralLedgerTransactionsRetrieveRequest.cs index 20c7665e..76fd192e 100644 --- a/src/Merge.Client/Accounting/GeneralLedgerTransactions/Requests/GeneralLedgerTransactionsRetrieveRequest.cs +++ b/src/Merge.Client/Accounting/GeneralLedgerTransactions/Requests/GeneralLedgerTransactionsRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,13 +8,22 @@ public record GeneralLedgerTransactionsRetrieveRequest /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public GeneralLedgerTransactionsRetrieveRequestExpand? Expand { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/GenerateKey/GenerateKeyClient.cs b/src/Merge.Client/Accounting/GenerateKey/GenerateKeyClient.cs index e725776a..dd7c714b 100644 --- a/src/Merge.Client/Accounting/GenerateKey/GenerateKeyClient.cs +++ b/src/Merge.Client/Accounting/GenerateKey/GenerateKeyClient.cs @@ -17,22 +17,20 @@ internal GenerateKeyClient(RawClient client) /// /// Create a remote key. /// - /// - /// + /// /// await client.Accounting.GenerateKey.CreateAsync( /// new GenerateRemoteKeyRequest { Name = "Remote Deployment Key 1" } /// ); - /// - /// - public async System.Threading.Tasks.Task CreateAsync( + /// + public async Task CreateAsync( GenerateRemoteKeyRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, @@ -44,23 +42,26 @@ public async System.Threading.Tasks.Task CreateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Accounting/GenerateKey/Requests/GenerateRemoteKeyRequest.cs b/src/Merge.Client/Accounting/GenerateKey/Requests/GenerateRemoteKeyRequest.cs index ebddafb9..87655ae8 100644 --- a/src/Merge.Client/Accounting/GenerateKey/Requests/GenerateRemoteKeyRequest.cs +++ b/src/Merge.Client/Accounting/GenerateKey/Requests/GenerateRemoteKeyRequest.cs @@ -11,6 +11,7 @@ public record GenerateRemoteKeyRequest [JsonPropertyName("name")] public required string Name { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/IncomeStatements/IncomeStatementsClient.cs b/src/Merge.Client/Accounting/IncomeStatements/IncomeStatementsClient.cs index fa53deaa..c8b48586 100644 --- a/src/Merge.Client/Accounting/IncomeStatements/IncomeStatementsClient.cs +++ b/src/Merge.Client/Accounting/IncomeStatements/IncomeStatementsClient.cs @@ -17,12 +17,10 @@ internal IncomeStatementsClient(RawClient client) /// /// Returns a list of `IncomeStatement` objects. /// - /// - /// + /// /// await client.Accounting.IncomeStatements.ListAsync(new IncomeStatementsListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( IncomeStatementsListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -84,8 +82,8 @@ public async System.Threading.Tasks.Task ListAsync _query["remote_id"] = request.RemoteId; } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -96,35 +94,36 @@ public async System.Threading.Tasks.Task ListAsync cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns an `IncomeStatement` object with the given `id`. /// - /// - /// + /// /// await client.Accounting.IncomeStatements.RetrieveAsync("id", new IncomeStatementsRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, IncomeStatementsRetrieveRequest request, RequestOptions? options = null, @@ -140,36 +139,46 @@ public async System.Threading.Tasks.Task RetrieveAsync( { _query["include_remote_data"] = JsonUtils.Serialize(request.IncludeRemoteData.Value); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"accounting/v1/income-statements/{id}", + Path = string.Format( + "accounting/v1/income-statements/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Accounting/IncomeStatements/Requests/IncomeStatementsListRequest.cs b/src/Merge.Client/Accounting/IncomeStatements/Requests/IncomeStatementsListRequest.cs index d1c9f327..8840d7ca 100644 --- a/src/Merge.Client/Accounting/IncomeStatements/Requests/IncomeStatementsListRequest.cs +++ b/src/Merge.Client/Accounting/IncomeStatements/Requests/IncomeStatementsListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,63 +8,76 @@ public record IncomeStatementsListRequest /// /// If provided, will only return income statements for this company. /// + [JsonIgnore] public string? CompanyId { get; set; } /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public string? Expand { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/IncomeStatements/Requests/IncomeStatementsRetrieveRequest.cs b/src/Merge.Client/Accounting/IncomeStatements/Requests/IncomeStatementsRetrieveRequest.cs index 2bae25f9..04f52ecd 100644 --- a/src/Merge.Client/Accounting/IncomeStatements/Requests/IncomeStatementsRetrieveRequest.cs +++ b/src/Merge.Client/Accounting/IncomeStatements/Requests/IncomeStatementsRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,13 +8,22 @@ public record IncomeStatementsRetrieveRequest /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public string? Expand { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Invoices/InvoicesClient.cs b/src/Merge.Client/Accounting/Invoices/InvoicesClient.cs index d098e29f..e422a47b 100644 --- a/src/Merge.Client/Accounting/Invoices/InvoicesClient.cs +++ b/src/Merge.Client/Accounting/Invoices/InvoicesClient.cs @@ -17,12 +17,10 @@ internal InvoicesClient(RawClient client) /// /// Returns a list of `Invoice` objects. /// - /// - /// + /// /// await client.Accounting.Invoices.ListAsync(new InvoicesListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( InvoicesListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -126,8 +124,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["type"] = request.Type.Value.Stringify(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -138,38 +136,39 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Creates an `Invoice` object with the given values. - /// Including a `PurchaseOrder` id in the `purchase_orders` property will generate an Accounts Payable Invoice from the specified Purchase Order(s). + /// Including a `PurchaseOrder` id in the `purchase_orders` property will generate an Accounts Payable Invoice from the specified Purchase Order(s). /// - /// - /// + /// /// await client.Accounting.Invoices.CreateAsync( /// new InvoiceEndpointRequest { Model = new InvoiceRequest() } /// ); - /// - /// - public async System.Threading.Tasks.Task CreateAsync( + /// + public async Task CreateAsync( InvoiceEndpointRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -184,15 +183,14 @@ public async System.Threading.Tasks.Task CreateAsync( { _query["run_async"] = JsonUtils.Serialize(request.RunAsync.Value); } - var requestBody = new Dictionary() { { "model", request.Model } }; var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, Path = "accounting/v1/invoices", - Body = requestBody, + Body = request, Query = _query, ContentType = "application/json", Options = options, @@ -200,35 +198,36 @@ public async System.Threading.Tasks.Task CreateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns an `Invoice` object with the given `id`. /// - /// - /// + /// /// await client.Accounting.Invoices.RetrieveAsync("id", new InvoicesRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, InvoicesRetrieveRequest request, RequestOptions? options = null, @@ -250,6 +249,10 @@ public async System.Threading.Tasks.Task RetrieveAsync( request.IncludeRemoteFields.Value ); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } if (request.RemoteFields != null) { _query["remote_fields"] = request.RemoteFields.ToString(); @@ -259,50 +262,54 @@ public async System.Threading.Tasks.Task RetrieveAsync( _query["show_enum_origins"] = request.ShowEnumOrigins.ToString(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"accounting/v1/invoices/{id}", + Path = string.Format( + "accounting/v1/invoices/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Updates an `Invoice` object with the given `id`. /// - /// - /// + /// /// await client.Accounting.Invoices.PartialUpdateAsync( /// "id", /// new PatchedInvoiceEndpointRequest { Model = new InvoiceRequest() } /// ); - /// - /// - public async System.Threading.Tasks.Task PartialUpdateAsync( + /// + public async Task PartialUpdateAsync( string id, PatchedInvoiceEndpointRequest request, RequestOptions? options = null, @@ -318,15 +325,17 @@ public async System.Threading.Tasks.Task PartialUpdateAsync( { _query["run_async"] = JsonUtils.Serialize(request.RunAsync.Value); } - var requestBody = new Dictionary() { { "model", request.Model } }; var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethodExtensions.Patch, - Path = $"accounting/v1/invoices/{id}", - Body = requestBody, + Path = string.Format( + "accounting/v1/invoices/{0}", + ValueConvert.ToPathParameterString(id) + ), + Body = request, Query = _query, ContentType = "application/json", Options = options, @@ -334,37 +343,38 @@ public async System.Threading.Tasks.Task PartialUpdateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a list of `RemoteFieldClass` objects. /// - /// - /// + /// /// await client.Accounting.Invoices.LineItemsRemoteFieldClassesListAsync( /// new InvoicesLineItemsRemoteFieldClassesListRequest() /// ); - /// - /// - public async System.Threading.Tasks.Task LineItemsRemoteFieldClassesListAsync( + /// + public async Task LineItemsRemoteFieldClassesListAsync( InvoicesLineItemsRemoteFieldClassesListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -396,8 +406,8 @@ public async System.Threading.Tasks.Task LineItem _query["page_size"] = request.PageSize.Value.ToString(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -408,88 +418,93 @@ public async System.Threading.Tasks.Task LineItem cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns metadata for `Invoice` PATCHs. /// - /// - /// + /// /// await client.Accounting.Invoices.MetaPatchRetrieveAsync("id"); - /// - /// - public async System.Threading.Tasks.Task MetaPatchRetrieveAsync( + /// + public async Task MetaPatchRetrieveAsync( string id, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"accounting/v1/invoices/meta/patch/{id}", + Path = string.Format( + "accounting/v1/invoices/meta/patch/{0}", + ValueConvert.ToPathParameterString(id) + ), Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns metadata for `Invoice` POSTs. /// - /// - /// + /// /// await client.Accounting.Invoices.MetaPostRetrieveAsync(); - /// - /// - public async System.Threading.Tasks.Task MetaPostRetrieveAsync( + /// + public async Task MetaPostRetrieveAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -499,37 +514,38 @@ public async System.Threading.Tasks.Task MetaPostRetrieveAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a list of `RemoteFieldClass` objects. /// - /// - /// + /// /// await client.Accounting.Invoices.RemoteFieldClassesListAsync( /// new InvoicesRemoteFieldClassesListRequest() /// ); - /// - /// - public async System.Threading.Tasks.Task RemoteFieldClassesListAsync( + /// + public async Task RemoteFieldClassesListAsync( InvoicesRemoteFieldClassesListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -561,8 +577,8 @@ public async System.Threading.Tasks.Task RemoteFi _query["page_size"] = request.PageSize.Value.ToString(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -573,23 +589,26 @@ public async System.Threading.Tasks.Task RemoteFi cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Accounting/Invoices/Requests/InvoiceEndpointRequest.cs b/src/Merge.Client/Accounting/Invoices/Requests/InvoiceEndpointRequest.cs index b99589c7..2089ea41 100644 --- a/src/Merge.Client/Accounting/Invoices/Requests/InvoiceEndpointRequest.cs +++ b/src/Merge.Client/Accounting/Invoices/Requests/InvoiceEndpointRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,15 +8,19 @@ public record InvoiceEndpointRequest /// /// Whether to include debug fields (such as log file links) in the response. /// + [JsonIgnore] public bool? IsDebugMode { get; set; } /// /// Whether or not third-party updates should be run asynchronously. /// + [JsonIgnore] public bool? RunAsync { get; set; } + [JsonPropertyName("model")] public required InvoiceRequest Model { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Invoices/Requests/InvoicesLineItemsRemoteFieldClassesListRequest.cs b/src/Merge.Client/Accounting/Invoices/Requests/InvoicesLineItemsRemoteFieldClassesListRequest.cs index a12b83c9..fb37d1a8 100644 --- a/src/Merge.Client/Accounting/Invoices/Requests/InvoicesLineItemsRemoteFieldClassesListRequest.cs +++ b/src/Merge.Client/Accounting/Invoices/Requests/InvoicesLineItemsRemoteFieldClassesListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,33 +8,40 @@ public record InvoicesLineItemsRemoteFieldClassesListRequest /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, will only return remote field classes with this is_common_model_field value /// + [JsonIgnore] public bool? IsCommonModelField { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Invoices/Requests/InvoicesListRequest.cs b/src/Merge.Client/Accounting/Invoices/Requests/InvoicesListRequest.cs index d6679e0a..bb6d37cb 100644 --- a/src/Merge.Client/Accounting/Invoices/Requests/InvoicesListRequest.cs +++ b/src/Merge.Client/Accounting/Invoices/Requests/InvoicesListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,118 +8,140 @@ public record InvoicesListRequest /// /// If provided, will only return invoices for this company. /// + [JsonIgnore] public string? CompanyId { get; set; } /// /// If provided, will only return invoices for this contact. /// + [JsonIgnore] public string? ContactId { get; set; } /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public InvoicesListRequestExpand? Expand { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include all remote fields, including fields that Merge did not map to common models, in a normalized format. /// + [JsonIgnore] public bool? IncludeRemoteFields { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? IssueDateAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? IssueDateBefore { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// If provided, will only return Invoices with this number. /// + [JsonIgnore] public string? Number { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// Deprecated. Use show_enum_origins. /// + [JsonIgnore] public string? RemoteFields { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } /// /// A comma separated list of enum field names for which you'd like the original values to be returned, instead of Merge's normalized enum values. [Learn more](https://help.merge.dev/en/articles/8950958-show_enum_origins-query-parameter) /// + [JsonIgnore] public string? ShowEnumOrigins { get; set; } /// /// If provided, will only return Invoices with this status. /// - /// - `PAID` - PAID - /// - `DRAFT` - DRAFT - /// - `SUBMITTED` - SUBMITTED - /// - `PARTIALLY_PAID` - PARTIALLY_PAID - /// - `OPEN` - OPEN - /// - `VOID` - VOID - /// + /// * `PAID` - PAID + /// * `DRAFT` - DRAFT + /// * `SUBMITTED` - SUBMITTED + /// * `PARTIALLY_PAID` - PARTIALLY_PAID + /// * `OPEN` - OPEN + /// * `VOID` - VOID + /// + [JsonIgnore] public InvoicesListRequestStatus? Status { get; set; } /// /// If provided, will only return Invoices with this type. /// - /// - `ACCOUNTS_RECEIVABLE` - ACCOUNTS_RECEIVABLE - /// - `ACCOUNTS_PAYABLE` - ACCOUNTS_PAYABLE + /// * `ACCOUNTS_RECEIVABLE` - ACCOUNTS_RECEIVABLE + /// * `ACCOUNTS_PAYABLE` - ACCOUNTS_PAYABLE /// + [JsonIgnore] public InvoicesListRequestType? Type { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Invoices/Requests/InvoicesRemoteFieldClassesListRequest.cs b/src/Merge.Client/Accounting/Invoices/Requests/InvoicesRemoteFieldClassesListRequest.cs index a7df6910..a4ca30d7 100644 --- a/src/Merge.Client/Accounting/Invoices/Requests/InvoicesRemoteFieldClassesListRequest.cs +++ b/src/Merge.Client/Accounting/Invoices/Requests/InvoicesRemoteFieldClassesListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,33 +8,40 @@ public record InvoicesRemoteFieldClassesListRequest /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, will only return remote field classes with this is_common_model_field value /// + [JsonIgnore] public bool? IsCommonModelField { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Invoices/Requests/InvoicesRetrieveRequest.cs b/src/Merge.Client/Accounting/Invoices/Requests/InvoicesRetrieveRequest.cs index 23739b6a..bd66ece8 100644 --- a/src/Merge.Client/Accounting/Invoices/Requests/InvoicesRetrieveRequest.cs +++ b/src/Merge.Client/Accounting/Invoices/Requests/InvoicesRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,28 +8,40 @@ public record InvoicesRetrieveRequest /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public InvoicesRetrieveRequestExpand? Expand { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include all remote fields, including fields that Merge did not map to common models, in a normalized format. /// + [JsonIgnore] public bool? IncludeRemoteFields { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + /// /// Deprecated. Use show_enum_origins. /// + [JsonIgnore] public string? RemoteFields { get; set; } /// /// A comma separated list of enum field names for which you'd like the original values to be returned, instead of Merge's normalized enum values. [Learn more](https://help.merge.dev/en/articles/8950958-show_enum_origins-query-parameter) /// + [JsonIgnore] public string? ShowEnumOrigins { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Invoices/Requests/PatchedInvoiceEndpointRequest.cs b/src/Merge.Client/Accounting/Invoices/Requests/PatchedInvoiceEndpointRequest.cs index 3f4ff040..f165ffe2 100644 --- a/src/Merge.Client/Accounting/Invoices/Requests/PatchedInvoiceEndpointRequest.cs +++ b/src/Merge.Client/Accounting/Invoices/Requests/PatchedInvoiceEndpointRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,15 +8,19 @@ public record PatchedInvoiceEndpointRequest /// /// Whether to include debug fields (such as log file links) in the response. /// + [JsonIgnore] public bool? IsDebugMode { get; set; } /// /// Whether or not third-party updates should be run asynchronously. /// + [JsonIgnore] public bool? RunAsync { get; set; } + [JsonPropertyName("model")] public required InvoiceRequest Model { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Invoices/Types/InvoicesListRequestExpand.cs b/src/Merge.Client/Accounting/Invoices/Types/InvoicesListRequestExpand.cs index 47a596b3..9f7d61f9 100644 --- a/src/Merge.Client/Accounting/Invoices/Types/InvoicesListRequestExpand.cs +++ b/src/Merge.Client/Accounting/Invoices/Types/InvoicesListRequestExpand.cs @@ -10,24 +10,40 @@ public enum InvoicesListRequestExpand [EnumMember(Value = "accounting_period")] AccountingPeriod, + [EnumMember(Value = "accounting_period,payment_term")] + AccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_credit_notes")] AppliedCreditNotes, [EnumMember(Value = "applied_credit_notes,accounting_period")] AppliedCreditNotesAccountingPeriod, + [EnumMember(Value = "applied_credit_notes,accounting_period,payment_term")] + AppliedCreditNotesAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_credit_notes,applied_vendor_credits")] AppliedCreditNotesAppliedVendorCredits, [EnumMember(Value = "applied_credit_notes,applied_vendor_credits,accounting_period")] AppliedCreditNotesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "applied_credit_notes,applied_vendor_credits,accounting_period,payment_term" + )] + AppliedCreditNotesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_credit_notes,applied_vendor_credits,company")] AppliedCreditNotesAppliedVendorCreditsCompany, [EnumMember(Value = "applied_credit_notes,applied_vendor_credits,company,accounting_period")] AppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "applied_credit_notes,applied_vendor_credits,company,accounting_period,payment_term" + )] + AppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_credit_notes,applied_vendor_credits,company,employee")] AppliedCreditNotesAppliedVendorCreditsCompanyEmployee, @@ -36,12 +52,30 @@ public enum InvoicesListRequestExpand )] AppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_credit_notes,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + AppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_credit_notes,applied_vendor_credits,company,employee,payment_term" + )] + AppliedCreditNotesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember(Value = "applied_credit_notes,applied_vendor_credits,company,payment_term")] + AppliedCreditNotesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember(Value = "applied_credit_notes,applied_vendor_credits,contact")] AppliedCreditNotesAppliedVendorCreditsContact, [EnumMember(Value = "applied_credit_notes,applied_vendor_credits,contact,accounting_period")] AppliedCreditNotesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "applied_credit_notes,applied_vendor_credits,contact,accounting_period,payment_term" + )] + AppliedCreditNotesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_credit_notes,applied_vendor_credits,contact,company")] AppliedCreditNotesAppliedVendorCreditsContactCompany, @@ -50,6 +84,11 @@ public enum InvoicesListRequestExpand )] AppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "applied_credit_notes,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + AppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_credit_notes,applied_vendor_credits,contact,company,employee")] AppliedCreditNotesAppliedVendorCreditsContactCompanyEmployee, @@ -58,6 +97,19 @@ public enum InvoicesListRequestExpand )] AppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + AppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_credit_notes,applied_vendor_credits,contact,company,employee,payment_term" + )] + AppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "applied_credit_notes,applied_vendor_credits,contact,company,payment_term")] + AppliedCreditNotesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember(Value = "applied_credit_notes,applied_vendor_credits,contact,employee")] AppliedCreditNotesAppliedVendorCreditsContactEmployee, @@ -66,66 +118,143 @@ public enum InvoicesListRequestExpand )] AppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + AppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_credit_notes,applied_vendor_credits,contact,employee,payment_term" + )] + AppliedCreditNotesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember(Value = "applied_credit_notes,applied_vendor_credits,contact,payment_term")] + AppliedCreditNotesAppliedVendorCreditsContactPaymentTerm, + [EnumMember(Value = "applied_credit_notes,applied_vendor_credits,employee")] AppliedCreditNotesAppliedVendorCreditsEmployee, [EnumMember(Value = "applied_credit_notes,applied_vendor_credits,employee,accounting_period")] AppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_credit_notes,applied_vendor_credits,employee,accounting_period,payment_term" + )] + AppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "applied_credit_notes,applied_vendor_credits,employee,payment_term")] + AppliedCreditNotesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember(Value = "applied_credit_notes,applied_vendor_credits,payment_term")] + AppliedCreditNotesAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "applied_credit_notes,company")] AppliedCreditNotesCompany, [EnumMember(Value = "applied_credit_notes,company,accounting_period")] AppliedCreditNotesCompanyAccountingPeriod, + [EnumMember(Value = "applied_credit_notes,company,accounting_period,payment_term")] + AppliedCreditNotesCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_credit_notes,company,employee")] AppliedCreditNotesCompanyEmployee, [EnumMember(Value = "applied_credit_notes,company,employee,accounting_period")] AppliedCreditNotesCompanyEmployeeAccountingPeriod, + [EnumMember(Value = "applied_credit_notes,company,employee,accounting_period,payment_term")] + AppliedCreditNotesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "applied_credit_notes,company,employee,payment_term")] + AppliedCreditNotesCompanyEmployeePaymentTerm, + + [EnumMember(Value = "applied_credit_notes,company,payment_term")] + AppliedCreditNotesCompanyPaymentTerm, + [EnumMember(Value = "applied_credit_notes,contact")] AppliedCreditNotesContact, [EnumMember(Value = "applied_credit_notes,contact,accounting_period")] AppliedCreditNotesContactAccountingPeriod, + [EnumMember(Value = "applied_credit_notes,contact,accounting_period,payment_term")] + AppliedCreditNotesContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_credit_notes,contact,company")] AppliedCreditNotesContactCompany, [EnumMember(Value = "applied_credit_notes,contact,company,accounting_period")] AppliedCreditNotesContactCompanyAccountingPeriod, + [EnumMember(Value = "applied_credit_notes,contact,company,accounting_period,payment_term")] + AppliedCreditNotesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_credit_notes,contact,company,employee")] AppliedCreditNotesContactCompanyEmployee, [EnumMember(Value = "applied_credit_notes,contact,company,employee,accounting_period")] AppliedCreditNotesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_credit_notes,contact,company,employee,accounting_period,payment_term" + )] + AppliedCreditNotesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "applied_credit_notes,contact,company,employee,payment_term")] + AppliedCreditNotesContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "applied_credit_notes,contact,company,payment_term")] + AppliedCreditNotesContactCompanyPaymentTerm, + [EnumMember(Value = "applied_credit_notes,contact,employee")] AppliedCreditNotesContactEmployee, [EnumMember(Value = "applied_credit_notes,contact,employee,accounting_period")] AppliedCreditNotesContactEmployeeAccountingPeriod, + [EnumMember(Value = "applied_credit_notes,contact,employee,accounting_period,payment_term")] + AppliedCreditNotesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "applied_credit_notes,contact,employee,payment_term")] + AppliedCreditNotesContactEmployeePaymentTerm, + + [EnumMember(Value = "applied_credit_notes,contact,payment_term")] + AppliedCreditNotesContactPaymentTerm, + [EnumMember(Value = "applied_credit_notes,employee")] AppliedCreditNotesEmployee, [EnumMember(Value = "applied_credit_notes,employee,accounting_period")] AppliedCreditNotesEmployeeAccountingPeriod, + [EnumMember(Value = "applied_credit_notes,employee,accounting_period,payment_term")] + AppliedCreditNotesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "applied_credit_notes,employee,payment_term")] + AppliedCreditNotesEmployeePaymentTerm, + + [EnumMember(Value = "applied_credit_notes,payment_term")] + AppliedCreditNotesPaymentTerm, + [EnumMember(Value = "applied_payments")] AppliedPayments, [EnumMember(Value = "applied_payments,accounting_period")] AppliedPaymentsAccountingPeriod, + [EnumMember(Value = "applied_payments,accounting_period,payment_term")] + AppliedPaymentsAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,applied_credit_notes")] AppliedPaymentsAppliedCreditNotes, [EnumMember(Value = "applied_payments,applied_credit_notes,accounting_period")] AppliedPaymentsAppliedCreditNotesAccountingPeriod, + [EnumMember(Value = "applied_payments,applied_credit_notes,accounting_period,payment_term")] + AppliedPaymentsAppliedCreditNotesAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,applied_credit_notes,applied_vendor_credits")] AppliedPaymentsAppliedCreditNotesAppliedVendorCredits, @@ -134,6 +263,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsAppliedCreditNotesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "applied_payments,applied_credit_notes,applied_vendor_credits,accounting_period,payment_term" + )] + AppliedPaymentsAppliedCreditNotesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,applied_credit_notes,applied_vendor_credits,company")] AppliedPaymentsAppliedCreditNotesAppliedVendorCreditsCompany, @@ -142,6 +276,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,applied_credit_notes,applied_vendor_credits,company,accounting_period,payment_term" + )] + AppliedPaymentsAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,applied_credit_notes,applied_vendor_credits,company,employee" )] @@ -152,6 +291,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,applied_credit_notes,applied_vendor_credits,company,employee,payment_term" + )] + AppliedPaymentsAppliedCreditNotesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,applied_credit_notes,applied_vendor_credits,company,payment_term" + )] + AppliedPaymentsAppliedCreditNotesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember(Value = "applied_payments,applied_credit_notes,applied_vendor_credits,contact")] AppliedPaymentsAppliedCreditNotesAppliedVendorCreditsContact, @@ -160,6 +314,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "applied_payments,applied_credit_notes,applied_vendor_credits,contact,accounting_period,payment_term" + )] + AppliedPaymentsAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,applied_credit_notes,applied_vendor_credits,contact,company" )] @@ -170,6 +329,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + AppliedPaymentsAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,applied_credit_notes,applied_vendor_credits,contact,company,employee" )] @@ -180,6 +344,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,applied_credit_notes,applied_vendor_credits,contact,company,employee,payment_term" + )] + AppliedPaymentsAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,applied_credit_notes,applied_vendor_credits,contact,company,payment_term" + )] + AppliedPaymentsAppliedCreditNotesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "applied_payments,applied_credit_notes,applied_vendor_credits,contact,employee" )] @@ -190,6 +369,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + AppliedPaymentsAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,applied_credit_notes,applied_vendor_credits,contact,employee,payment_term" + )] + AppliedPaymentsAppliedCreditNotesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,applied_credit_notes,applied_vendor_credits,contact,payment_term" + )] + AppliedPaymentsAppliedCreditNotesAppliedVendorCreditsContactPaymentTerm, + [EnumMember(Value = "applied_payments,applied_credit_notes,applied_vendor_credits,employee")] AppliedPaymentsAppliedCreditNotesAppliedVendorCreditsEmployee, @@ -198,30 +392,71 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,applied_credit_notes,applied_vendor_credits,employee,accounting_period,payment_term" + )] + AppliedPaymentsAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,applied_credit_notes,applied_vendor_credits,employee,payment_term" + )] + AppliedPaymentsAppliedCreditNotesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,applied_credit_notes,applied_vendor_credits,payment_term" + )] + AppliedPaymentsAppliedCreditNotesAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "applied_payments,applied_credit_notes,company")] AppliedPaymentsAppliedCreditNotesCompany, [EnumMember(Value = "applied_payments,applied_credit_notes,company,accounting_period")] AppliedPaymentsAppliedCreditNotesCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,applied_credit_notes,company,accounting_period,payment_term" + )] + AppliedPaymentsAppliedCreditNotesCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,applied_credit_notes,company,employee")] AppliedPaymentsAppliedCreditNotesCompanyEmployee, [EnumMember(Value = "applied_payments,applied_credit_notes,company,employee,accounting_period")] AppliedPaymentsAppliedCreditNotesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,applied_credit_notes,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsAppliedCreditNotesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "applied_payments,applied_credit_notes,company,employee,payment_term")] + AppliedPaymentsAppliedCreditNotesCompanyEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,applied_credit_notes,company,payment_term")] + AppliedPaymentsAppliedCreditNotesCompanyPaymentTerm, + [EnumMember(Value = "applied_payments,applied_credit_notes,contact")] AppliedPaymentsAppliedCreditNotesContact, [EnumMember(Value = "applied_payments,applied_credit_notes,contact,accounting_period")] AppliedPaymentsAppliedCreditNotesContactAccountingPeriod, + [EnumMember( + Value = "applied_payments,applied_credit_notes,contact,accounting_period,payment_term" + )] + AppliedPaymentsAppliedCreditNotesContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,applied_credit_notes,contact,company")] AppliedPaymentsAppliedCreditNotesContactCompany, [EnumMember(Value = "applied_payments,applied_credit_notes,contact,company,accounting_period")] AppliedPaymentsAppliedCreditNotesContactCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,applied_credit_notes,contact,company,accounting_period,payment_term" + )] + AppliedPaymentsAppliedCreditNotesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,applied_credit_notes,contact,company,employee")] AppliedPaymentsAppliedCreditNotesContactCompanyEmployee, @@ -230,30 +465,73 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsAppliedCreditNotesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,applied_credit_notes,contact,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsAppliedCreditNotesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,applied_credit_notes,contact,company,employee,payment_term" + )] + AppliedPaymentsAppliedCreditNotesContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,applied_credit_notes,contact,company,payment_term")] + AppliedPaymentsAppliedCreditNotesContactCompanyPaymentTerm, + [EnumMember(Value = "applied_payments,applied_credit_notes,contact,employee")] AppliedPaymentsAppliedCreditNotesContactEmployee, [EnumMember(Value = "applied_payments,applied_credit_notes,contact,employee,accounting_period")] AppliedPaymentsAppliedCreditNotesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,applied_credit_notes,contact,employee,accounting_period,payment_term" + )] + AppliedPaymentsAppliedCreditNotesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "applied_payments,applied_credit_notes,contact,employee,payment_term")] + AppliedPaymentsAppliedCreditNotesContactEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,applied_credit_notes,contact,payment_term")] + AppliedPaymentsAppliedCreditNotesContactPaymentTerm, + [EnumMember(Value = "applied_payments,applied_credit_notes,employee")] AppliedPaymentsAppliedCreditNotesEmployee, [EnumMember(Value = "applied_payments,applied_credit_notes,employee,accounting_period")] AppliedPaymentsAppliedCreditNotesEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,applied_credit_notes,employee,accounting_period,payment_term" + )] + AppliedPaymentsAppliedCreditNotesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "applied_payments,applied_credit_notes,employee,payment_term")] + AppliedPaymentsAppliedCreditNotesEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,applied_credit_notes,payment_term")] + AppliedPaymentsAppliedCreditNotesPaymentTerm, + [EnumMember(Value = "applied_payments,applied_vendor_credits")] AppliedPaymentsAppliedVendorCredits, [EnumMember(Value = "applied_payments,applied_vendor_credits,accounting_period")] AppliedPaymentsAppliedVendorCreditsAccountingPeriod, + [EnumMember(Value = "applied_payments,applied_vendor_credits,accounting_period,payment_term")] + AppliedPaymentsAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,applied_vendor_credits,company")] AppliedPaymentsAppliedVendorCreditsCompany, [EnumMember(Value = "applied_payments,applied_vendor_credits,company,accounting_period")] AppliedPaymentsAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,applied_vendor_credits,company,accounting_period,payment_term" + )] + AppliedPaymentsAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,applied_vendor_credits,company,employee")] AppliedPaymentsAppliedVendorCreditsCompanyEmployee, @@ -262,12 +540,28 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "applied_payments,applied_vendor_credits,company,employee,payment_term")] + AppliedPaymentsAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,applied_vendor_credits,company,payment_term")] + AppliedPaymentsAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember(Value = "applied_payments,applied_vendor_credits,contact")] AppliedPaymentsAppliedVendorCreditsContact, [EnumMember(Value = "applied_payments,applied_vendor_credits,contact,accounting_period")] AppliedPaymentsAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "applied_payments,applied_vendor_credits,contact,accounting_period,payment_term" + )] + AppliedPaymentsAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,applied_vendor_credits,contact,company")] AppliedPaymentsAppliedVendorCreditsContactCompany, @@ -276,6 +570,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + AppliedPaymentsAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,applied_vendor_credits,contact,company,employee")] AppliedPaymentsAppliedVendorCreditsContactCompanyEmployee, @@ -284,6 +583,19 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,applied_vendor_credits,contact,company,employee,payment_term" + )] + AppliedPaymentsAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,applied_vendor_credits,contact,company,payment_term")] + AppliedPaymentsAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember(Value = "applied_payments,applied_vendor_credits,contact,employee")] AppliedPaymentsAppliedVendorCreditsContactEmployee, @@ -292,66 +604,138 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + AppliedPaymentsAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "applied_payments,applied_vendor_credits,contact,employee,payment_term")] + AppliedPaymentsAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,applied_vendor_credits,contact,payment_term")] + AppliedPaymentsAppliedVendorCreditsContactPaymentTerm, + [EnumMember(Value = "applied_payments,applied_vendor_credits,employee")] AppliedPaymentsAppliedVendorCreditsEmployee, [EnumMember(Value = "applied_payments,applied_vendor_credits,employee,accounting_period")] AppliedPaymentsAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,applied_vendor_credits,employee,accounting_period,payment_term" + )] + AppliedPaymentsAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "applied_payments,applied_vendor_credits,employee,payment_term")] + AppliedPaymentsAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,applied_vendor_credits,payment_term")] + AppliedPaymentsAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "applied_payments,company")] AppliedPaymentsCompany, [EnumMember(Value = "applied_payments,company,accounting_period")] AppliedPaymentsCompanyAccountingPeriod, + [EnumMember(Value = "applied_payments,company,accounting_period,payment_term")] + AppliedPaymentsCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,company,employee")] AppliedPaymentsCompanyEmployee, [EnumMember(Value = "applied_payments,company,employee,accounting_period")] AppliedPaymentsCompanyEmployeeAccountingPeriod, + [EnumMember(Value = "applied_payments,company,employee,accounting_period,payment_term")] + AppliedPaymentsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "applied_payments,company,employee,payment_term")] + AppliedPaymentsCompanyEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,company,payment_term")] + AppliedPaymentsCompanyPaymentTerm, + [EnumMember(Value = "applied_payments,contact")] AppliedPaymentsContact, [EnumMember(Value = "applied_payments,contact,accounting_period")] AppliedPaymentsContactAccountingPeriod, + [EnumMember(Value = "applied_payments,contact,accounting_period,payment_term")] + AppliedPaymentsContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,contact,company")] AppliedPaymentsContactCompany, [EnumMember(Value = "applied_payments,contact,company,accounting_period")] AppliedPaymentsContactCompanyAccountingPeriod, + [EnumMember(Value = "applied_payments,contact,company,accounting_period,payment_term")] + AppliedPaymentsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,contact,company,employee")] AppliedPaymentsContactCompanyEmployee, [EnumMember(Value = "applied_payments,contact,company,employee,accounting_period")] AppliedPaymentsContactCompanyEmployeeAccountingPeriod, + [EnumMember(Value = "applied_payments,contact,company,employee,accounting_period,payment_term")] + AppliedPaymentsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "applied_payments,contact,company,employee,payment_term")] + AppliedPaymentsContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,contact,company,payment_term")] + AppliedPaymentsContactCompanyPaymentTerm, + [EnumMember(Value = "applied_payments,contact,employee")] AppliedPaymentsContactEmployee, [EnumMember(Value = "applied_payments,contact,employee,accounting_period")] AppliedPaymentsContactEmployeeAccountingPeriod, + [EnumMember(Value = "applied_payments,contact,employee,accounting_period,payment_term")] + AppliedPaymentsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "applied_payments,contact,employee,payment_term")] + AppliedPaymentsContactEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,contact,payment_term")] + AppliedPaymentsContactPaymentTerm, + [EnumMember(Value = "applied_payments,employee")] AppliedPaymentsEmployee, [EnumMember(Value = "applied_payments,employee,accounting_period")] AppliedPaymentsEmployeeAccountingPeriod, + [EnumMember(Value = "applied_payments,employee,accounting_period,payment_term")] + AppliedPaymentsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "applied_payments,employee,payment_term")] + AppliedPaymentsEmployeePaymentTerm, + [EnumMember(Value = "applied_payments,line_items")] AppliedPaymentsLineItems, [EnumMember(Value = "applied_payments,line_items,accounting_period")] AppliedPaymentsLineItemsAccountingPeriod, + [EnumMember(Value = "applied_payments,line_items,accounting_period,payment_term")] + AppliedPaymentsLineItemsAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,applied_credit_notes")] AppliedPaymentsLineItemsAppliedCreditNotes, [EnumMember(Value = "applied_payments,line_items,applied_credit_notes,accounting_period")] AppliedPaymentsLineItemsAppliedCreditNotesAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,applied_credit_notes,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsAppliedCreditNotesAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,applied_credit_notes,applied_vendor_credits")] AppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCredits, @@ -360,6 +744,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,company" )] @@ -370,6 +759,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,company,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,company,employee" )] @@ -380,6 +774,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,company,employee,payment_term" + )] + AppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,company,payment_term" + )] + AppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact" )] @@ -390,6 +799,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,company" )] @@ -400,6 +814,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,company,employee" )] @@ -410,6 +829,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,company,employee,payment_term" + )] + AppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,company,payment_term" + )] + AppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,employee" )] @@ -420,6 +854,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,employee,payment_term" + )] + AppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,payment_term" + )] + AppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,employee" )] @@ -430,6 +879,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,employee,payment_term" + )] + AppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,payment_term" + )] + AppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,applied_credit_notes,company")] AppliedPaymentsLineItemsAppliedCreditNotesCompany, @@ -438,6 +902,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsAppliedCreditNotesCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,applied_credit_notes,company,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsAppliedCreditNotesCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,applied_credit_notes,company,employee")] AppliedPaymentsLineItemsAppliedCreditNotesCompanyEmployee, @@ -446,6 +915,19 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsAppliedCreditNotesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,applied_credit_notes,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsAppliedCreditNotesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,applied_credit_notes,company,employee,payment_term" + )] + AppliedPaymentsLineItemsAppliedCreditNotesCompanyEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,line_items,applied_credit_notes,company,payment_term")] + AppliedPaymentsLineItemsAppliedCreditNotesCompanyPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,applied_credit_notes,contact")] AppliedPaymentsLineItemsAppliedCreditNotesContact, @@ -454,6 +936,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsAppliedCreditNotesContactAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,applied_credit_notes,contact,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsAppliedCreditNotesContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,applied_credit_notes,contact,company")] AppliedPaymentsLineItemsAppliedCreditNotesContactCompany, @@ -462,6 +949,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsAppliedCreditNotesContactCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,applied_credit_notes,contact,company,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsAppliedCreditNotesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,applied_credit_notes,contact,company,employee" )] @@ -472,14 +964,42 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsAppliedCreditNotesContactCompanyEmployeeAccountingPeriod, - [EnumMember(Value = "applied_payments,line_items,applied_credit_notes,contact,employee")] - AppliedPaymentsLineItemsAppliedCreditNotesContactEmployee, - [EnumMember( - Value = "applied_payments,line_items,applied_credit_notes,contact,employee,accounting_period" + Value = "applied_payments,line_items,applied_credit_notes,contact,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsAppliedCreditNotesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,applied_credit_notes,contact,company,employee,payment_term" + )] + AppliedPaymentsLineItemsAppliedCreditNotesContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,applied_credit_notes,contact,company,payment_term" + )] + AppliedPaymentsLineItemsAppliedCreditNotesContactCompanyPaymentTerm, + + [EnumMember(Value = "applied_payments,line_items,applied_credit_notes,contact,employee")] + AppliedPaymentsLineItemsAppliedCreditNotesContactEmployee, + + [EnumMember( + Value = "applied_payments,line_items,applied_credit_notes,contact,employee,accounting_period" )] AppliedPaymentsLineItemsAppliedCreditNotesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,applied_credit_notes,contact,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsAppliedCreditNotesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,applied_credit_notes,contact,employee,payment_term" + )] + AppliedPaymentsLineItemsAppliedCreditNotesContactEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,line_items,applied_credit_notes,contact,payment_term")] + AppliedPaymentsLineItemsAppliedCreditNotesContactPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,applied_credit_notes,employee")] AppliedPaymentsLineItemsAppliedCreditNotesEmployee, @@ -488,12 +1008,28 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsAppliedCreditNotesEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,applied_credit_notes,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsAppliedCreditNotesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "applied_payments,line_items,applied_credit_notes,employee,payment_term")] + AppliedPaymentsLineItemsAppliedCreditNotesEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,line_items,applied_credit_notes,payment_term")] + AppliedPaymentsLineItemsAppliedCreditNotesPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,applied_vendor_credits")] AppliedPaymentsLineItemsAppliedVendorCredits, [EnumMember(Value = "applied_payments,line_items,applied_vendor_credits,accounting_period")] AppliedPaymentsLineItemsAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,applied_vendor_credits,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,applied_vendor_credits,company")] AppliedPaymentsLineItemsAppliedVendorCreditsCompany, @@ -502,6 +1038,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,applied_vendor_credits,company,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,applied_vendor_credits,company,employee")] AppliedPaymentsLineItemsAppliedVendorCreditsCompanyEmployee, @@ -510,6 +1051,19 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,applied_vendor_credits,company,employee,payment_term" + )] + AppliedPaymentsLineItemsAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,line_items,applied_vendor_credits,company,payment_term")] + AppliedPaymentsLineItemsAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,applied_vendor_credits,contact")] AppliedPaymentsLineItemsAppliedVendorCreditsContact, @@ -518,6 +1072,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,applied_vendor_credits,contact,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,applied_vendor_credits,contact,company")] AppliedPaymentsLineItemsAppliedVendorCreditsContactCompany, @@ -526,6 +1085,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,applied_vendor_credits,contact,company,employee" )] @@ -536,6 +1100,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,applied_vendor_credits,contact,company,employee,payment_term" + )] + AppliedPaymentsLineItemsAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,applied_vendor_credits,contact,company,payment_term" + )] + AppliedPaymentsLineItemsAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,applied_vendor_credits,contact,employee")] AppliedPaymentsLineItemsAppliedVendorCreditsContactEmployee, @@ -544,6 +1123,19 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,applied_vendor_credits,contact,employee,payment_term" + )] + AppliedPaymentsLineItemsAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,line_items,applied_vendor_credits,contact,payment_term")] + AppliedPaymentsLineItemsAppliedVendorCreditsContactPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,applied_vendor_credits,employee")] AppliedPaymentsLineItemsAppliedVendorCreditsEmployee, @@ -552,54 +1144,123 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,applied_vendor_credits,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "applied_payments,line_items,applied_vendor_credits,employee,payment_term")] + AppliedPaymentsLineItemsAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,line_items,applied_vendor_credits,payment_term")] + AppliedPaymentsLineItemsAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,company")] AppliedPaymentsLineItemsCompany, [EnumMember(Value = "applied_payments,line_items,company,accounting_period")] AppliedPaymentsLineItemsCompanyAccountingPeriod, + [EnumMember(Value = "applied_payments,line_items,company,accounting_period,payment_term")] + AppliedPaymentsLineItemsCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,company,employee")] AppliedPaymentsLineItemsCompanyEmployee, [EnumMember(Value = "applied_payments,line_items,company,employee,accounting_period")] AppliedPaymentsLineItemsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "applied_payments,line_items,company,employee,payment_term")] + AppliedPaymentsLineItemsCompanyEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,line_items,company,payment_term")] + AppliedPaymentsLineItemsCompanyPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,contact")] AppliedPaymentsLineItemsContact, [EnumMember(Value = "applied_payments,line_items,contact,accounting_period")] AppliedPaymentsLineItemsContactAccountingPeriod, + [EnumMember(Value = "applied_payments,line_items,contact,accounting_period,payment_term")] + AppliedPaymentsLineItemsContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,contact,company")] AppliedPaymentsLineItemsContactCompany, [EnumMember(Value = "applied_payments,line_items,contact,company,accounting_period")] AppliedPaymentsLineItemsContactCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,contact,company,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,contact,company,employee")] AppliedPaymentsLineItemsContactCompanyEmployee, [EnumMember(Value = "applied_payments,line_items,contact,company,employee,accounting_period")] AppliedPaymentsLineItemsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,contact,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "applied_payments,line_items,contact,company,employee,payment_term")] + AppliedPaymentsLineItemsContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,line_items,contact,company,payment_term")] + AppliedPaymentsLineItemsContactCompanyPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,contact,employee")] AppliedPaymentsLineItemsContactEmployee, [EnumMember(Value = "applied_payments,line_items,contact,employee,accounting_period")] AppliedPaymentsLineItemsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,contact,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "applied_payments,line_items,contact,employee,payment_term")] + AppliedPaymentsLineItemsContactEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,line_items,contact,payment_term")] + AppliedPaymentsLineItemsContactPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,employee")] AppliedPaymentsLineItemsEmployee, [EnumMember(Value = "applied_payments,line_items,employee,accounting_period")] AppliedPaymentsLineItemsEmployeeAccountingPeriod, + [EnumMember(Value = "applied_payments,line_items,employee,accounting_period,payment_term")] + AppliedPaymentsLineItemsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "applied_payments,line_items,employee,payment_term")] + AppliedPaymentsLineItemsEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,line_items,payment_term")] + AppliedPaymentsLineItemsPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,purchase_orders")] AppliedPaymentsLineItemsPurchaseOrders, [EnumMember(Value = "applied_payments,line_items,purchase_orders,accounting_period")] AppliedPaymentsLineItemsPurchaseOrdersAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,purchase_orders,applied_credit_notes")] AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotes, @@ -608,6 +1269,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits" )] @@ -618,6 +1284,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company" )] @@ -628,6 +1299,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee" )] @@ -638,6 +1314,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact" )] @@ -648,6 +1339,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company" )] @@ -658,6 +1354,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee" )] @@ -668,6 +1369,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee" )] @@ -678,6 +1394,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,employee" )] @@ -688,6 +1419,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,company")] AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesCompany, @@ -696,6 +1442,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,company,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,company,employee" )] @@ -706,6 +1457,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,company,employee,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,company,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesCompanyPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,contact")] AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesContact, @@ -714,6 +1480,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,contact,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,contact,company" )] @@ -724,6 +1495,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,contact,company,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,contact,company,employee" )] @@ -734,6 +1510,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,contact,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,contact,company,employee,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,contact,company,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactCompanyPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,contact,employee" )] @@ -744,6 +1535,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,contact,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,contact,employee,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,contact,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,employee" )] @@ -754,6 +1560,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,employee,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,purchase_orders,applied_vendor_credits")] AppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCredits, @@ -762,6 +1583,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_vendor_credits,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,purchase_orders,applied_vendor_credits,company" )] @@ -772,6 +1598,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_vendor_credits,company,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,purchase_orders,applied_vendor_credits,company,employee" )] @@ -782,6 +1613,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_vendor_credits,company,employee,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_vendor_credits,company,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,purchase_orders,applied_vendor_credits,contact" )] @@ -792,6 +1638,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,company" )] @@ -802,6 +1653,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,company,employee" )] @@ -812,6 +1668,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,company,employee,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,company,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,employee" )] @@ -822,6 +1693,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,employee,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,purchase_orders,applied_vendor_credits,employee" )] @@ -832,12 +1718,32 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_vendor_credits,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_vendor_credits,employee,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_vendor_credits,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,purchase_orders,company")] AppliedPaymentsLineItemsPurchaseOrdersCompany, [EnumMember(Value = "applied_payments,line_items,purchase_orders,company,accounting_period")] AppliedPaymentsLineItemsPurchaseOrdersCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,company,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,purchase_orders,company,employee")] AppliedPaymentsLineItemsPurchaseOrdersCompanyEmployee, @@ -846,12 +1752,30 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsPurchaseOrdersCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,company,employee,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersCompanyEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,line_items,purchase_orders,company,payment_term")] + AppliedPaymentsLineItemsPurchaseOrdersCompanyPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,purchase_orders,contact")] AppliedPaymentsLineItemsPurchaseOrdersContact, [EnumMember(Value = "applied_payments,line_items,purchase_orders,contact,accounting_period")] AppliedPaymentsLineItemsPurchaseOrdersContactAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,contact,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,purchase_orders,contact,company")] AppliedPaymentsLineItemsPurchaseOrdersContactCompany, @@ -860,6 +1784,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsPurchaseOrdersContactCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,contact,company,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,purchase_orders,contact,company,employee")] AppliedPaymentsLineItemsPurchaseOrdersContactCompanyEmployee, @@ -868,13 +1797,39 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsPurchaseOrdersContactCompanyEmployeeAccountingPeriod, - [EnumMember(Value = "applied_payments,line_items,purchase_orders,contact,employee")] - AppliedPaymentsLineItemsPurchaseOrdersContactEmployee, - [EnumMember( - Value = "applied_payments,line_items,purchase_orders,contact,employee,accounting_period" + Value = "applied_payments,line_items,purchase_orders,contact,company,employee,accounting_period,payment_term" )] - AppliedPaymentsLineItemsPurchaseOrdersContactEmployeeAccountingPeriod, + AppliedPaymentsLineItemsPurchaseOrdersContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,contact,company,employee,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,line_items,purchase_orders,contact,company,payment_term")] + AppliedPaymentsLineItemsPurchaseOrdersContactCompanyPaymentTerm, + + [EnumMember(Value = "applied_payments,line_items,purchase_orders,contact,employee")] + AppliedPaymentsLineItemsPurchaseOrdersContactEmployee, + + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,contact,employee,accounting_period" + )] + AppliedPaymentsLineItemsPurchaseOrdersContactEmployeeAccountingPeriod, + + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,contact,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,contact,employee,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersContactEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,line_items,purchase_orders,contact,payment_term")] + AppliedPaymentsLineItemsPurchaseOrdersContactPaymentTerm, [EnumMember(Value = "applied_payments,line_items,purchase_orders,employee")] AppliedPaymentsLineItemsPurchaseOrdersEmployee, @@ -882,12 +1837,28 @@ public enum InvoicesListRequestExpand [EnumMember(Value = "applied_payments,line_items,purchase_orders,employee,accounting_period")] AppliedPaymentsLineItemsPurchaseOrdersEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "applied_payments,line_items,purchase_orders,employee,payment_term")] + AppliedPaymentsLineItemsPurchaseOrdersEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,line_items,purchase_orders,payment_term")] + AppliedPaymentsLineItemsPurchaseOrdersPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,tracking_categories")] AppliedPaymentsLineItemsTrackingCategories, [EnumMember(Value = "applied_payments,line_items,tracking_categories,accounting_period")] AppliedPaymentsLineItemsTrackingCategoriesAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,tracking_categories,applied_credit_notes")] AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotes, @@ -896,6 +1867,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits" )] @@ -906,6 +1882,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company" )] @@ -916,6 +1897,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee" )] @@ -926,6 +1912,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact" )] @@ -936,6 +1937,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company" )] @@ -946,6 +1952,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee" )] @@ -956,6 +1967,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee" )] @@ -966,6 +1992,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,employee" )] @@ -976,6 +2017,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,employee,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,company" )] @@ -986,6 +2042,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,company,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,company,employee" )] @@ -996,6 +2057,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,company,employee,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,company,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesCompanyPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,contact" )] @@ -1006,6 +2082,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,contact,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,contact,company" )] @@ -1016,6 +2097,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,contact,company,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,contact,company,employee" )] @@ -1026,6 +2112,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,contact,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,contact,company,employee,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,contact,company,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactCompanyPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,contact,employee" )] @@ -1036,6 +2137,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,contact,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,contact,employee,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,contact,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,employee" )] @@ -1046,6 +2162,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,employee,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,tracking_categories,applied_vendor_credits")] AppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCredits, @@ -1054,6 +2185,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_vendor_credits,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,applied_vendor_credits,company" )] @@ -1064,6 +2200,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_vendor_credits,company,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,applied_vendor_credits,company,employee" )] @@ -1074,6 +2215,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_vendor_credits,company,employee,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_vendor_credits,company,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,applied_vendor_credits,contact" )] @@ -1084,6 +2240,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,company" )] @@ -1094,6 +2255,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,company,employee" )] @@ -1104,6 +2270,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,company,employee,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,company,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,employee" )] @@ -1114,6 +2295,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,employee,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,applied_vendor_credits,employee" )] @@ -1124,6 +2320,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_vendor_credits,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_vendor_credits,employee,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_vendor_credits,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,tracking_categories,company")] AppliedPaymentsLineItemsTrackingCategoriesCompany, @@ -1132,6 +2343,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,company,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,tracking_categories,company,employee")] AppliedPaymentsLineItemsTrackingCategoriesCompanyEmployee, @@ -1140,6 +2356,19 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,company,employee,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesCompanyEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,line_items,tracking_categories,company,payment_term")] + AppliedPaymentsLineItemsTrackingCategoriesCompanyPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,tracking_categories,contact")] AppliedPaymentsLineItemsTrackingCategoriesContact, @@ -1148,6 +2377,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesContactAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,contact,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,tracking_categories,contact,company")] AppliedPaymentsLineItemsTrackingCategoriesContactCompany, @@ -1156,6 +2390,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesContactCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,contact,company,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,tracking_categories,contact,company,employee")] AppliedPaymentsLineItemsTrackingCategoriesContactCompanyEmployee, @@ -1164,6 +2403,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,contact,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,contact,company,employee,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,contact,company,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesContactCompanyPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,tracking_categories,contact,employee")] AppliedPaymentsLineItemsTrackingCategoriesContactEmployee, @@ -1172,6 +2426,19 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,contact,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,contact,employee,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesContactEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,line_items,tracking_categories,contact,payment_term")] + AppliedPaymentsLineItemsTrackingCategoriesContactPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,tracking_categories,employee")] AppliedPaymentsLineItemsTrackingCategoriesEmployee, @@ -1180,6 +2447,17 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "applied_payments,line_items,tracking_categories,employee,payment_term")] + AppliedPaymentsLineItemsTrackingCategoriesEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,line_items,tracking_categories,payment_term")] + AppliedPaymentsLineItemsTrackingCategoriesPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,tracking_categories,purchase_orders")] AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrders, @@ -1188,6 +2466,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes" )] @@ -1198,6 +2481,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits" )] @@ -1208,6 +2496,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company" )] @@ -1218,6 +2511,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee" )] @@ -1228,6 +2526,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact" )] @@ -1238,6 +2551,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company" )] @@ -1248,6 +2566,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee" )] @@ -1259,47 +2582,112 @@ public enum InvoicesListRequestExpand AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, [EnumMember( - Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee" + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" )] - AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployee, + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, [EnumMember( - Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period" + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,payment_term" )] - AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, [EnumMember( - Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee" + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,payment_term" )] - AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployee, + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyPaymentTerm, [EnumMember( - Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period" + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee" )] - AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriod, + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployee, [EnumMember( - Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company" + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period" )] - AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompany, + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, [EnumMember( - Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company,accounting_period" + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period,payment_term" )] - AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyAccountingPeriod, + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, [EnumMember( - Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company,employee" + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,payment_term" )] - AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyEmployee, + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeePaymentTerm, [EnumMember( - Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company,employee,accounting_period" + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,payment_term" )] - AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyEmployeeAccountingPeriod, + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactPaymentTerm, [EnumMember( - Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact" + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployee, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriod, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompany, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company,accounting_period" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyAccountingPeriod, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company,employee" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyEmployee, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company,employee,accounting_period" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyEmployeeAccountingPeriod, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company,employee,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact" )] AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContact, @@ -1308,6 +2696,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company" )] @@ -1318,6 +2711,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee" )] @@ -1328,6 +2726,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,employee" )] @@ -1338,6 +2751,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,employee,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,employee" )] @@ -1348,6 +2776,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,employee,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits" )] @@ -1358,6 +2801,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,company" )] @@ -1368,6 +2816,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,company,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,company,employee" )] @@ -1378,6 +2831,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,company,employee,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,company,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact" )] @@ -1388,6 +2856,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company" )] @@ -1398,6 +2871,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee" )] @@ -1408,6 +2886,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee" )] @@ -1418,6 +2911,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,employee" )] @@ -1428,6 +2936,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,employee,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,tracking_categories,purchase_orders,company")] AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersCompany, @@ -1436,6 +2959,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,company,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,purchase_orders,company,employee" )] @@ -1446,6 +2974,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,company,employee,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,company,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersCompanyPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,tracking_categories,purchase_orders,contact")] AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersContact, @@ -1454,6 +2997,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersContactAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,contact,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,purchase_orders,contact,company" )] @@ -1464,6 +3012,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersContactCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,contact,company,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,purchase_orders,contact,company,employee" )] @@ -1474,6 +3027,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,contact,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,contact,company,employee,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,contact,company,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersContactCompanyPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,purchase_orders,contact,employee" )] @@ -1484,6 +3052,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersContactEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,contact,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,contact,employee,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersContactEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,contact,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersContactPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,tracking_categories,purchase_orders,employee")] AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersEmployee, @@ -1492,18 +3075,44 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,employee,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersPaymentTerm, + + [EnumMember(Value = "applied_payments,payment_term")] + AppliedPaymentsPaymentTerm, + [EnumMember(Value = "applied_payments,purchase_orders")] AppliedPaymentsPurchaseOrders, [EnumMember(Value = "applied_payments,purchase_orders,accounting_period")] AppliedPaymentsPurchaseOrdersAccountingPeriod, + [EnumMember(Value = "applied_payments,purchase_orders,accounting_period,payment_term")] + AppliedPaymentsPurchaseOrdersAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,purchase_orders,applied_credit_notes")] AppliedPaymentsPurchaseOrdersAppliedCreditNotes, [EnumMember(Value = "applied_payments,purchase_orders,applied_credit_notes,accounting_period")] AppliedPaymentsPurchaseOrdersAppliedCreditNotesAccountingPeriod, + [EnumMember( + Value = "applied_payments,purchase_orders,applied_credit_notes,accounting_period,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedCreditNotesAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits" )] @@ -1514,6 +3123,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,accounting_period,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,company" )] @@ -1524,6 +3138,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,company,accounting_period,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee" )] @@ -1534,6 +3153,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,company,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember( Value = "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact" )] @@ -1544,6 +3178,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,accounting_period,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company" )] @@ -1554,6 +3193,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee" )] @@ -1564,6 +3208,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee" )] @@ -1574,6 +3233,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactPaymentTerm, + [EnumMember( Value = "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,employee" )] @@ -1584,6 +3258,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "applied_payments,purchase_orders,applied_credit_notes,company")] AppliedPaymentsPurchaseOrdersAppliedCreditNotesCompany, @@ -1592,6 +3281,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsPurchaseOrdersAppliedCreditNotesCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,purchase_orders,applied_credit_notes,company,accounting_period,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedCreditNotesCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,purchase_orders,applied_credit_notes,company,employee")] AppliedPaymentsPurchaseOrdersAppliedCreditNotesCompanyEmployee, @@ -1600,6 +3294,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsPurchaseOrdersAppliedCreditNotesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,purchase_orders,applied_credit_notes,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedCreditNotesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,purchase_orders,applied_credit_notes,company,employee,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedCreditNotesCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,purchase_orders,applied_credit_notes,company,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedCreditNotesCompanyPaymentTerm, + [EnumMember(Value = "applied_payments,purchase_orders,applied_credit_notes,contact")] AppliedPaymentsPurchaseOrdersAppliedCreditNotesContact, @@ -1608,6 +3317,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsPurchaseOrdersAppliedCreditNotesContactAccountingPeriod, + [EnumMember( + Value = "applied_payments,purchase_orders,applied_credit_notes,contact,accounting_period,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedCreditNotesContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,purchase_orders,applied_credit_notes,contact,company")] AppliedPaymentsPurchaseOrdersAppliedCreditNotesContactCompany, @@ -1616,6 +3330,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsPurchaseOrdersAppliedCreditNotesContactCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,purchase_orders,applied_credit_notes,contact,company,accounting_period,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedCreditNotesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,purchase_orders,applied_credit_notes,contact,company,employee" )] @@ -1626,6 +3345,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsPurchaseOrdersAppliedCreditNotesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,purchase_orders,applied_credit_notes,contact,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedCreditNotesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,purchase_orders,applied_credit_notes,contact,company,employee,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedCreditNotesContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,purchase_orders,applied_credit_notes,contact,company,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedCreditNotesContactCompanyPaymentTerm, + [EnumMember(Value = "applied_payments,purchase_orders,applied_credit_notes,contact,employee")] AppliedPaymentsPurchaseOrdersAppliedCreditNotesContactEmployee, @@ -1634,6 +3368,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsPurchaseOrdersAppliedCreditNotesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,purchase_orders,applied_credit_notes,contact,employee,accounting_period,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedCreditNotesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,purchase_orders,applied_credit_notes,contact,employee,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedCreditNotesContactEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,purchase_orders,applied_credit_notes,contact,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedCreditNotesContactPaymentTerm, + [EnumMember(Value = "applied_payments,purchase_orders,applied_credit_notes,employee")] AppliedPaymentsPurchaseOrdersAppliedCreditNotesEmployee, @@ -1642,6 +3391,19 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsPurchaseOrdersAppliedCreditNotesEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,purchase_orders,applied_credit_notes,employee,accounting_period,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedCreditNotesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,purchase_orders,applied_credit_notes,employee,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedCreditNotesEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,purchase_orders,applied_credit_notes,payment_term")] + AppliedPaymentsPurchaseOrdersAppliedCreditNotesPaymentTerm, + [EnumMember(Value = "applied_payments,purchase_orders,applied_vendor_credits")] AppliedPaymentsPurchaseOrdersAppliedVendorCredits, @@ -1650,6 +3412,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsPurchaseOrdersAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "applied_payments,purchase_orders,applied_vendor_credits,accounting_period,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,purchase_orders,applied_vendor_credits,company")] AppliedPaymentsPurchaseOrdersAppliedVendorCreditsCompany, @@ -1658,6 +3425,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsPurchaseOrdersAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,purchase_orders,applied_vendor_credits,company,accounting_period,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,purchase_orders,applied_vendor_credits,company,employee")] AppliedPaymentsPurchaseOrdersAppliedVendorCreditsCompanyEmployee, @@ -1666,6 +3438,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsPurchaseOrdersAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,purchase_orders,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,purchase_orders,applied_vendor_credits,company,employee,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,purchase_orders,applied_vendor_credits,company,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember(Value = "applied_payments,purchase_orders,applied_vendor_credits,contact")] AppliedPaymentsPurchaseOrdersAppliedVendorCreditsContact, @@ -1674,6 +3461,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsPurchaseOrdersAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "applied_payments,purchase_orders,applied_vendor_credits,contact,accounting_period,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,purchase_orders,applied_vendor_credits,contact,company")] AppliedPaymentsPurchaseOrdersAppliedVendorCreditsContactCompany, @@ -1682,6 +3474,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsPurchaseOrdersAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,purchase_orders,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,purchase_orders,applied_vendor_credits,contact,company,employee" )] @@ -1692,13 +3489,43 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,purchase_orders,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,purchase_orders,applied_vendor_credits,contact,company,employee,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,purchase_orders,applied_vendor_credits,contact,company,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember(Value = "applied_payments,purchase_orders,applied_vendor_credits,contact,employee")] AppliedPaymentsPurchaseOrdersAppliedVendorCreditsContactEmployee, [EnumMember( - Value = "applied_payments,purchase_orders,applied_vendor_credits,contact,employee,accounting_period" + Value = "applied_payments,purchase_orders,applied_vendor_credits,contact,employee,accounting_period" + )] + AppliedPaymentsPurchaseOrdersAppliedVendorCreditsContactEmployeeAccountingPeriod, + + [EnumMember( + Value = "applied_payments,purchase_orders,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,purchase_orders,applied_vendor_credits,contact,employee,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,purchase_orders,applied_vendor_credits,contact,payment_term" )] - AppliedPaymentsPurchaseOrdersAppliedVendorCreditsContactEmployeeAccountingPeriod, + AppliedPaymentsPurchaseOrdersAppliedVendorCreditsContactPaymentTerm, [EnumMember(Value = "applied_payments,purchase_orders,applied_vendor_credits,employee")] AppliedPaymentsPurchaseOrdersAppliedVendorCreditsEmployee, @@ -1708,30 +3535,65 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsPurchaseOrdersAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,purchase_orders,applied_vendor_credits,employee,accounting_period,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,purchase_orders,applied_vendor_credits,employee,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,purchase_orders,applied_vendor_credits,payment_term")] + AppliedPaymentsPurchaseOrdersAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "applied_payments,purchase_orders,company")] AppliedPaymentsPurchaseOrdersCompany, [EnumMember(Value = "applied_payments,purchase_orders,company,accounting_period")] AppliedPaymentsPurchaseOrdersCompanyAccountingPeriod, + [EnumMember(Value = "applied_payments,purchase_orders,company,accounting_period,payment_term")] + AppliedPaymentsPurchaseOrdersCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,purchase_orders,company,employee")] AppliedPaymentsPurchaseOrdersCompanyEmployee, [EnumMember(Value = "applied_payments,purchase_orders,company,employee,accounting_period")] AppliedPaymentsPurchaseOrdersCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,purchase_orders,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsPurchaseOrdersCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "applied_payments,purchase_orders,company,employee,payment_term")] + AppliedPaymentsPurchaseOrdersCompanyEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,purchase_orders,company,payment_term")] + AppliedPaymentsPurchaseOrdersCompanyPaymentTerm, + [EnumMember(Value = "applied_payments,purchase_orders,contact")] AppliedPaymentsPurchaseOrdersContact, [EnumMember(Value = "applied_payments,purchase_orders,contact,accounting_period")] AppliedPaymentsPurchaseOrdersContactAccountingPeriod, + [EnumMember(Value = "applied_payments,purchase_orders,contact,accounting_period,payment_term")] + AppliedPaymentsPurchaseOrdersContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,purchase_orders,contact,company")] AppliedPaymentsPurchaseOrdersContactCompany, [EnumMember(Value = "applied_payments,purchase_orders,contact,company,accounting_period")] AppliedPaymentsPurchaseOrdersContactCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,purchase_orders,contact,company,accounting_period,payment_term" + )] + AppliedPaymentsPurchaseOrdersContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,purchase_orders,contact,company,employee")] AppliedPaymentsPurchaseOrdersContactCompanyEmployee, @@ -1740,24 +3602,58 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsPurchaseOrdersContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,purchase_orders,contact,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsPurchaseOrdersContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "applied_payments,purchase_orders,contact,company,employee,payment_term")] + AppliedPaymentsPurchaseOrdersContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,purchase_orders,contact,company,payment_term")] + AppliedPaymentsPurchaseOrdersContactCompanyPaymentTerm, + [EnumMember(Value = "applied_payments,purchase_orders,contact,employee")] AppliedPaymentsPurchaseOrdersContactEmployee, [EnumMember(Value = "applied_payments,purchase_orders,contact,employee,accounting_period")] AppliedPaymentsPurchaseOrdersContactEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,purchase_orders,contact,employee,accounting_period,payment_term" + )] + AppliedPaymentsPurchaseOrdersContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "applied_payments,purchase_orders,contact,employee,payment_term")] + AppliedPaymentsPurchaseOrdersContactEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,purchase_orders,contact,payment_term")] + AppliedPaymentsPurchaseOrdersContactPaymentTerm, + [EnumMember(Value = "applied_payments,purchase_orders,employee")] AppliedPaymentsPurchaseOrdersEmployee, [EnumMember(Value = "applied_payments,purchase_orders,employee,accounting_period")] AppliedPaymentsPurchaseOrdersEmployeeAccountingPeriod, + [EnumMember(Value = "applied_payments,purchase_orders,employee,accounting_period,payment_term")] + AppliedPaymentsPurchaseOrdersEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "applied_payments,purchase_orders,employee,payment_term")] + AppliedPaymentsPurchaseOrdersEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,purchase_orders,payment_term")] + AppliedPaymentsPurchaseOrdersPaymentTerm, + [EnumMember(Value = "applied_payments,tracking_categories")] AppliedPaymentsTrackingCategories, [EnumMember(Value = "applied_payments,tracking_categories,accounting_period")] AppliedPaymentsTrackingCategoriesAccountingPeriod, + [EnumMember(Value = "applied_payments,tracking_categories,accounting_period,payment_term")] + AppliedPaymentsTrackingCategoriesAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,tracking_categories,applied_credit_notes")] AppliedPaymentsTrackingCategoriesAppliedCreditNotes, @@ -1766,6 +3662,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsTrackingCategoriesAppliedCreditNotesAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,applied_credit_notes,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedCreditNotesAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits" )] @@ -1776,6 +3677,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,company" )] @@ -1786,6 +3692,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,company,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee" )] @@ -1796,6 +3707,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,company,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact" )] @@ -1806,6 +3732,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company" )] @@ -1816,6 +3747,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee" )] @@ -1826,6 +3762,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee" )] @@ -1836,6 +3787,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,employee" )] @@ -1846,6 +3812,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,employee,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,employee,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "applied_payments,tracking_categories,applied_credit_notes,company")] AppliedPaymentsTrackingCategoriesAppliedCreditNotesCompany, @@ -1854,6 +3835,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsTrackingCategoriesAppliedCreditNotesCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,applied_credit_notes,company,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedCreditNotesCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,applied_credit_notes,company,employee" )] @@ -1864,6 +3850,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsTrackingCategoriesAppliedCreditNotesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,applied_credit_notes,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedCreditNotesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,applied_credit_notes,company,employee,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedCreditNotesCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,applied_credit_notes,company,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedCreditNotesCompanyPaymentTerm, + [EnumMember(Value = "applied_payments,tracking_categories,applied_credit_notes,contact")] AppliedPaymentsTrackingCategoriesAppliedCreditNotesContact, @@ -1872,6 +3873,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsTrackingCategoriesAppliedCreditNotesContactAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,applied_credit_notes,contact,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedCreditNotesContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,applied_credit_notes,contact,company" )] @@ -1882,6 +3888,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsTrackingCategoriesAppliedCreditNotesContactCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,applied_credit_notes,contact,company,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedCreditNotesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,applied_credit_notes,contact,company,employee" )] @@ -1892,6 +3903,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsTrackingCategoriesAppliedCreditNotesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,applied_credit_notes,contact,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedCreditNotesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,applied_credit_notes,contact,company,employee,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedCreditNotesContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,applied_credit_notes,contact,company,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedCreditNotesContactCompanyPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,applied_credit_notes,contact,employee" )] @@ -1902,6 +3928,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsTrackingCategoriesAppliedCreditNotesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,applied_credit_notes,contact,employee,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedCreditNotesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,applied_credit_notes,contact,employee,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedCreditNotesContactEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,applied_credit_notes,contact,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedCreditNotesContactPaymentTerm, + [EnumMember(Value = "applied_payments,tracking_categories,applied_credit_notes,employee")] AppliedPaymentsTrackingCategoriesAppliedCreditNotesEmployee, @@ -1910,6 +3951,19 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsTrackingCategoriesAppliedCreditNotesEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,applied_credit_notes,employee,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedCreditNotesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,applied_credit_notes,employee,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedCreditNotesEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,tracking_categories,applied_credit_notes,payment_term")] + AppliedPaymentsTrackingCategoriesAppliedCreditNotesPaymentTerm, + [EnumMember(Value = "applied_payments,tracking_categories,applied_vendor_credits")] AppliedPaymentsTrackingCategoriesAppliedVendorCredits, @@ -1918,6 +3972,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsTrackingCategoriesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,applied_vendor_credits,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,tracking_categories,applied_vendor_credits,company")] AppliedPaymentsTrackingCategoriesAppliedVendorCreditsCompany, @@ -1926,6 +3985,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsTrackingCategoriesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,applied_vendor_credits,company,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,applied_vendor_credits,company,employee" )] @@ -1936,6 +4000,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsTrackingCategoriesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,applied_vendor_credits,company,employee,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,applied_vendor_credits,company,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember(Value = "applied_payments,tracking_categories,applied_vendor_credits,contact")] AppliedPaymentsTrackingCategoriesAppliedVendorCreditsContact, @@ -1944,6 +4023,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsTrackingCategoriesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,applied_vendor_credits,contact,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,applied_vendor_credits,contact,company" )] @@ -1954,6 +4038,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsTrackingCategoriesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,applied_vendor_credits,contact,company,employee" )] @@ -1964,6 +4053,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsTrackingCategoriesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,applied_vendor_credits,contact,company,employee,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,applied_vendor_credits,contact,company,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,applied_vendor_credits,contact,employee" )] @@ -1974,6 +4078,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsTrackingCategoriesAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,applied_vendor_credits,contact,employee,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,applied_vendor_credits,contact,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedVendorCreditsContactPaymentTerm, + [EnumMember(Value = "applied_payments,tracking_categories,applied_vendor_credits,employee")] AppliedPaymentsTrackingCategoriesAppliedVendorCreditsEmployee, @@ -1982,30 +4101,69 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsTrackingCategoriesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,applied_vendor_credits,employee,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,applied_vendor_credits,employee,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,tracking_categories,applied_vendor_credits,payment_term")] + AppliedPaymentsTrackingCategoriesAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "applied_payments,tracking_categories,company")] AppliedPaymentsTrackingCategoriesCompany, [EnumMember(Value = "applied_payments,tracking_categories,company,accounting_period")] AppliedPaymentsTrackingCategoriesCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,company,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,tracking_categories,company,employee")] AppliedPaymentsTrackingCategoriesCompanyEmployee, [EnumMember(Value = "applied_payments,tracking_categories,company,employee,accounting_period")] AppliedPaymentsTrackingCategoriesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "applied_payments,tracking_categories,company,employee,payment_term")] + AppliedPaymentsTrackingCategoriesCompanyEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,tracking_categories,company,payment_term")] + AppliedPaymentsTrackingCategoriesCompanyPaymentTerm, + [EnumMember(Value = "applied_payments,tracking_categories,contact")] AppliedPaymentsTrackingCategoriesContact, [EnumMember(Value = "applied_payments,tracking_categories,contact,accounting_period")] AppliedPaymentsTrackingCategoriesContactAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,contact,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,tracking_categories,contact,company")] AppliedPaymentsTrackingCategoriesContactCompany, [EnumMember(Value = "applied_payments,tracking_categories,contact,company,accounting_period")] AppliedPaymentsTrackingCategoriesContactCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,contact,company,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,tracking_categories,contact,company,employee")] AppliedPaymentsTrackingCategoriesContactCompanyEmployee, @@ -2014,24 +4172,64 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsTrackingCategoriesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,contact,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,contact,company,employee,payment_term" + )] + AppliedPaymentsTrackingCategoriesContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,tracking_categories,contact,company,payment_term")] + AppliedPaymentsTrackingCategoriesContactCompanyPaymentTerm, + [EnumMember(Value = "applied_payments,tracking_categories,contact,employee")] AppliedPaymentsTrackingCategoriesContactEmployee, [EnumMember(Value = "applied_payments,tracking_categories,contact,employee,accounting_period")] AppliedPaymentsTrackingCategoriesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,contact,employee,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "applied_payments,tracking_categories,contact,employee,payment_term")] + AppliedPaymentsTrackingCategoriesContactEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,tracking_categories,contact,payment_term")] + AppliedPaymentsTrackingCategoriesContactPaymentTerm, + [EnumMember(Value = "applied_payments,tracking_categories,employee")] AppliedPaymentsTrackingCategoriesEmployee, [EnumMember(Value = "applied_payments,tracking_categories,employee,accounting_period")] AppliedPaymentsTrackingCategoriesEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,employee,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "applied_payments,tracking_categories,employee,payment_term")] + AppliedPaymentsTrackingCategoriesEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,tracking_categories,payment_term")] + AppliedPaymentsTrackingCategoriesPaymentTerm, + [EnumMember(Value = "applied_payments,tracking_categories,purchase_orders")] AppliedPaymentsTrackingCategoriesPurchaseOrders, [EnumMember(Value = "applied_payments,tracking_categories,purchase_orders,accounting_period")] AppliedPaymentsTrackingCategoriesPurchaseOrdersAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes" )] @@ -2042,6 +4240,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits" )] @@ -2052,6 +4255,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company" )] @@ -2062,6 +4270,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee" )] @@ -2072,6 +4285,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact" )] @@ -2082,6 +4310,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company" )] @@ -2092,25 +4325,60 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee" )] AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployee, [EnumMember( - Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period" + Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyPaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployee, + + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, + + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period,payment_term" )] - AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, [EnumMember( - Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee" + Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,payment_term" )] - AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployee, + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeePaymentTerm, [EnumMember( - Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period" + Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,payment_term" )] - AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactPaymentTerm, [EnumMember( Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee" @@ -2122,6 +4390,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,company" )] @@ -2132,6 +4415,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,company,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,company,employee" )] @@ -2142,6 +4430,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,company,employee,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,company,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact" )] @@ -2152,6 +4455,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company" )] @@ -2162,6 +4470,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee" )] @@ -2172,6 +4485,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,employee" )] @@ -2182,6 +4510,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,employee,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,employee,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,employee" )] @@ -2192,6 +4535,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,employee,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,employee,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits" )] @@ -2202,6 +4560,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,company" )] @@ -2212,6 +4575,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,company,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,company,employee" )] @@ -2222,6 +4590,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,company,employee,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,company,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact" )] @@ -2232,6 +4615,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,company" )] @@ -2242,6 +4630,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee" )] @@ -2252,6 +4645,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee" )] @@ -2262,6 +4670,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,employee" )] @@ -2272,6 +4695,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,employee,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,employee,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "applied_payments,tracking_categories,purchase_orders,company")] AppliedPaymentsTrackingCategoriesPurchaseOrdersCompany, @@ -2280,6 +4718,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsTrackingCategoriesPurchaseOrdersCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,company,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,tracking_categories,purchase_orders,company,employee")] AppliedPaymentsTrackingCategoriesPurchaseOrdersCompanyEmployee, @@ -2288,6 +4731,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsTrackingCategoriesPurchaseOrdersCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,company,employee,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,company,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersCompanyPaymentTerm, + [EnumMember(Value = "applied_payments,tracking_categories,purchase_orders,contact")] AppliedPaymentsTrackingCategoriesPurchaseOrdersContact, @@ -2296,6 +4754,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsTrackingCategoriesPurchaseOrdersContactAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,contact,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,tracking_categories,purchase_orders,contact,company")] AppliedPaymentsTrackingCategoriesPurchaseOrdersContactCompany, @@ -2304,6 +4767,11 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsTrackingCategoriesPurchaseOrdersContactCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,contact,company,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,purchase_orders,contact,company,employee" )] @@ -2314,6 +4782,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsTrackingCategoriesPurchaseOrdersContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,contact,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,contact,company,employee,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,contact,company,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersContactCompanyPaymentTerm, + [EnumMember(Value = "applied_payments,tracking_categories,purchase_orders,contact,employee")] AppliedPaymentsTrackingCategoriesPurchaseOrdersContactEmployee, @@ -2322,6 +4805,21 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsTrackingCategoriesPurchaseOrdersContactEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,contact,employee,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,contact,employee,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersContactEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,contact,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersContactPaymentTerm, + [EnumMember(Value = "applied_payments,tracking_categories,purchase_orders,employee")] AppliedPaymentsTrackingCategoriesPurchaseOrdersEmployee, @@ -2330,114 +4828,230 @@ public enum InvoicesListRequestExpand )] AppliedPaymentsTrackingCategoriesPurchaseOrdersEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,employee,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,employee,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,tracking_categories,purchase_orders,payment_term")] + AppliedPaymentsTrackingCategoriesPurchaseOrdersPaymentTerm, + [EnumMember(Value = "applied_vendor_credits")] AppliedVendorCredits, [EnumMember(Value = "applied_vendor_credits,accounting_period")] AppliedVendorCreditsAccountingPeriod, + [EnumMember(Value = "applied_vendor_credits,accounting_period,payment_term")] + AppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_vendor_credits,company")] AppliedVendorCreditsCompany, [EnumMember(Value = "applied_vendor_credits,company,accounting_period")] AppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember(Value = "applied_vendor_credits,company,accounting_period,payment_term")] + AppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_vendor_credits,company,employee")] AppliedVendorCreditsCompanyEmployee, [EnumMember(Value = "applied_vendor_credits,company,employee,accounting_period")] AppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember(Value = "applied_vendor_credits,company,employee,accounting_period,payment_term")] + AppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "applied_vendor_credits,company,employee,payment_term")] + AppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember(Value = "applied_vendor_credits,company,payment_term")] + AppliedVendorCreditsCompanyPaymentTerm, + [EnumMember(Value = "applied_vendor_credits,contact")] AppliedVendorCreditsContact, [EnumMember(Value = "applied_vendor_credits,contact,accounting_period")] AppliedVendorCreditsContactAccountingPeriod, + [EnumMember(Value = "applied_vendor_credits,contact,accounting_period,payment_term")] + AppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_vendor_credits,contact,company")] AppliedVendorCreditsContactCompany, [EnumMember(Value = "applied_vendor_credits,contact,company,accounting_period")] AppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember(Value = "applied_vendor_credits,contact,company,accounting_period,payment_term")] + AppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_vendor_credits,contact,company,employee")] AppliedVendorCreditsContactCompanyEmployee, [EnumMember(Value = "applied_vendor_credits,contact,company,employee,accounting_period")] AppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + AppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "applied_vendor_credits,contact,company,employee,payment_term")] + AppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "applied_vendor_credits,contact,company,payment_term")] + AppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember(Value = "applied_vendor_credits,contact,employee")] AppliedVendorCreditsContactEmployee, [EnumMember(Value = "applied_vendor_credits,contact,employee,accounting_period")] AppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember(Value = "applied_vendor_credits,contact,employee,accounting_period,payment_term")] + AppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "applied_vendor_credits,contact,employee,payment_term")] + AppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember(Value = "applied_vendor_credits,contact,payment_term")] + AppliedVendorCreditsContactPaymentTerm, + [EnumMember(Value = "applied_vendor_credits,employee")] AppliedVendorCreditsEmployee, [EnumMember(Value = "applied_vendor_credits,employee,accounting_period")] AppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember(Value = "applied_vendor_credits,employee,accounting_period,payment_term")] + AppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "applied_vendor_credits,employee,payment_term")] + AppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember(Value = "applied_vendor_credits,payment_term")] + AppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "company")] Company, [EnumMember(Value = "company,accounting_period")] CompanyAccountingPeriod, + [EnumMember(Value = "company,accounting_period,payment_term")] + CompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "company,employee")] CompanyEmployee, [EnumMember(Value = "company,employee,accounting_period")] CompanyEmployeeAccountingPeriod, + [EnumMember(Value = "company,employee,accounting_period,payment_term")] + CompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "company,employee,payment_term")] + CompanyEmployeePaymentTerm, + + [EnumMember(Value = "company,payment_term")] + CompanyPaymentTerm, + [EnumMember(Value = "contact")] Contact, [EnumMember(Value = "contact,accounting_period")] ContactAccountingPeriod, + [EnumMember(Value = "contact,accounting_period,payment_term")] + ContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "contact,company")] ContactCompany, [EnumMember(Value = "contact,company,accounting_period")] ContactCompanyAccountingPeriod, + [EnumMember(Value = "contact,company,accounting_period,payment_term")] + ContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "contact,company,employee")] ContactCompanyEmployee, [EnumMember(Value = "contact,company,employee,accounting_period")] ContactCompanyEmployeeAccountingPeriod, + [EnumMember(Value = "contact,company,employee,accounting_period,payment_term")] + ContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "contact,company,employee,payment_term")] + ContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "contact,company,payment_term")] + ContactCompanyPaymentTerm, + [EnumMember(Value = "contact,employee")] ContactEmployee, [EnumMember(Value = "contact,employee,accounting_period")] ContactEmployeeAccountingPeriod, + [EnumMember(Value = "contact,employee,accounting_period,payment_term")] + ContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "contact,employee,payment_term")] + ContactEmployeePaymentTerm, + + [EnumMember(Value = "contact,payment_term")] + ContactPaymentTerm, + [EnumMember(Value = "employee")] Employee, [EnumMember(Value = "employee,accounting_period")] EmployeeAccountingPeriod, + [EnumMember(Value = "employee,accounting_period,payment_term")] + EmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "employee,payment_term")] + EmployeePaymentTerm, + [EnumMember(Value = "line_items")] LineItems, [EnumMember(Value = "line_items,accounting_period")] LineItemsAccountingPeriod, + [EnumMember(Value = "line_items,accounting_period,payment_term")] + LineItemsAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,applied_credit_notes")] LineItemsAppliedCreditNotes, [EnumMember(Value = "line_items,applied_credit_notes,accounting_period")] LineItemsAppliedCreditNotesAccountingPeriod, + [EnumMember(Value = "line_items,applied_credit_notes,accounting_period,payment_term")] + LineItemsAppliedCreditNotesAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,applied_credit_notes,applied_vendor_credits")] LineItemsAppliedCreditNotesAppliedVendorCredits, [EnumMember(Value = "line_items,applied_credit_notes,applied_vendor_credits,accounting_period")] LineItemsAppliedCreditNotesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "line_items,applied_credit_notes,applied_vendor_credits,accounting_period,payment_term" + )] + LineItemsAppliedCreditNotesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,applied_credit_notes,applied_vendor_credits,company")] LineItemsAppliedCreditNotesAppliedVendorCreditsCompany, @@ -2446,6 +5060,11 @@ public enum InvoicesListRequestExpand )] LineItemsAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "line_items,applied_credit_notes,applied_vendor_credits,company,accounting_period,payment_term" + )] + LineItemsAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,applied_credit_notes,applied_vendor_credits,company,employee")] LineItemsAppliedCreditNotesAppliedVendorCreditsCompanyEmployee, @@ -2454,6 +5073,21 @@ public enum InvoicesListRequestExpand )] LineItemsAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + LineItemsAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,applied_credit_notes,applied_vendor_credits,company,employee,payment_term" + )] + LineItemsAppliedCreditNotesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "line_items,applied_credit_notes,applied_vendor_credits,company,payment_term" + )] + LineItemsAppliedCreditNotesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember(Value = "line_items,applied_credit_notes,applied_vendor_credits,contact")] LineItemsAppliedCreditNotesAppliedVendorCreditsContact, @@ -2462,6 +5096,11 @@ public enum InvoicesListRequestExpand )] LineItemsAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "line_items,applied_credit_notes,applied_vendor_credits,contact,accounting_period,payment_term" + )] + LineItemsAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,applied_credit_notes,applied_vendor_credits,contact,company")] LineItemsAppliedCreditNotesAppliedVendorCreditsContactCompany, @@ -2470,6 +5109,11 @@ public enum InvoicesListRequestExpand )] LineItemsAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "line_items,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + LineItemsAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "line_items,applied_credit_notes,applied_vendor_credits,contact,company,employee" )] @@ -2480,6 +5124,21 @@ public enum InvoicesListRequestExpand )] LineItemsAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + LineItemsAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,applied_credit_notes,applied_vendor_credits,contact,company,employee,payment_term" + )] + LineItemsAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "line_items,applied_credit_notes,applied_vendor_credits,contact,company,payment_term" + )] + LineItemsAppliedCreditNotesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember(Value = "line_items,applied_credit_notes,applied_vendor_credits,contact,employee")] LineItemsAppliedCreditNotesAppliedVendorCreditsContactEmployee, @@ -2488,6 +5147,21 @@ public enum InvoicesListRequestExpand )] LineItemsAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + LineItemsAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,applied_credit_notes,applied_vendor_credits,contact,employee,payment_term" + )] + LineItemsAppliedCreditNotesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "line_items,applied_credit_notes,applied_vendor_credits,contact,payment_term" + )] + LineItemsAppliedCreditNotesAppliedVendorCreditsContactPaymentTerm, + [EnumMember(Value = "line_items,applied_credit_notes,applied_vendor_credits,employee")] LineItemsAppliedCreditNotesAppliedVendorCreditsEmployee, @@ -2496,30 +5170,65 @@ public enum InvoicesListRequestExpand )] LineItemsAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,applied_credit_notes,applied_vendor_credits,employee,accounting_period,payment_term" + )] + LineItemsAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,applied_credit_notes,applied_vendor_credits,employee,payment_term" + )] + LineItemsAppliedCreditNotesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember(Value = "line_items,applied_credit_notes,applied_vendor_credits,payment_term")] + LineItemsAppliedCreditNotesAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "line_items,applied_credit_notes,company")] LineItemsAppliedCreditNotesCompany, [EnumMember(Value = "line_items,applied_credit_notes,company,accounting_period")] LineItemsAppliedCreditNotesCompanyAccountingPeriod, + [EnumMember(Value = "line_items,applied_credit_notes,company,accounting_period,payment_term")] + LineItemsAppliedCreditNotesCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,applied_credit_notes,company,employee")] LineItemsAppliedCreditNotesCompanyEmployee, [EnumMember(Value = "line_items,applied_credit_notes,company,employee,accounting_period")] LineItemsAppliedCreditNotesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,applied_credit_notes,company,employee,accounting_period,payment_term" + )] + LineItemsAppliedCreditNotesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "line_items,applied_credit_notes,company,employee,payment_term")] + LineItemsAppliedCreditNotesCompanyEmployeePaymentTerm, + + [EnumMember(Value = "line_items,applied_credit_notes,company,payment_term")] + LineItemsAppliedCreditNotesCompanyPaymentTerm, + [EnumMember(Value = "line_items,applied_credit_notes,contact")] LineItemsAppliedCreditNotesContact, [EnumMember(Value = "line_items,applied_credit_notes,contact,accounting_period")] LineItemsAppliedCreditNotesContactAccountingPeriod, + [EnumMember(Value = "line_items,applied_credit_notes,contact,accounting_period,payment_term")] + LineItemsAppliedCreditNotesContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,applied_credit_notes,contact,company")] LineItemsAppliedCreditNotesContactCompany, [EnumMember(Value = "line_items,applied_credit_notes,contact,company,accounting_period")] LineItemsAppliedCreditNotesContactCompanyAccountingPeriod, + [EnumMember( + Value = "line_items,applied_credit_notes,contact,company,accounting_period,payment_term" + )] + LineItemsAppliedCreditNotesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,applied_credit_notes,contact,company,employee")] LineItemsAppliedCreditNotesContactCompanyEmployee, @@ -2528,17 +5237,48 @@ public enum InvoicesListRequestExpand )] LineItemsAppliedCreditNotesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,applied_credit_notes,contact,company,employee,accounting_period,payment_term" + )] + LineItemsAppliedCreditNotesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "line_items,applied_credit_notes,contact,company,employee,payment_term")] + LineItemsAppliedCreditNotesContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "line_items,applied_credit_notes,contact,company,payment_term")] + LineItemsAppliedCreditNotesContactCompanyPaymentTerm, + [EnumMember(Value = "line_items,applied_credit_notes,contact,employee")] LineItemsAppliedCreditNotesContactEmployee, [EnumMember(Value = "line_items,applied_credit_notes,contact,employee,accounting_period")] LineItemsAppliedCreditNotesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,applied_credit_notes,contact,employee,accounting_period,payment_term" + )] + LineItemsAppliedCreditNotesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "line_items,applied_credit_notes,contact,employee,payment_term")] + LineItemsAppliedCreditNotesContactEmployeePaymentTerm, + + [EnumMember(Value = "line_items,applied_credit_notes,contact,payment_term")] + LineItemsAppliedCreditNotesContactPaymentTerm, + [EnumMember(Value = "line_items,applied_credit_notes,employee")] LineItemsAppliedCreditNotesEmployee, - [EnumMember(Value = "line_items,applied_credit_notes,employee,accounting_period")] - LineItemsAppliedCreditNotesEmployeeAccountingPeriod, + [EnumMember(Value = "line_items,applied_credit_notes,employee,accounting_period")] + LineItemsAppliedCreditNotesEmployeeAccountingPeriod, + + [EnumMember(Value = "line_items,applied_credit_notes,employee,accounting_period,payment_term")] + LineItemsAppliedCreditNotesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "line_items,applied_credit_notes,employee,payment_term")] + LineItemsAppliedCreditNotesEmployeePaymentTerm, + + [EnumMember(Value = "line_items,applied_credit_notes,payment_term")] + LineItemsAppliedCreditNotesPaymentTerm, [EnumMember(Value = "line_items,applied_vendor_credits")] LineItemsAppliedVendorCredits, @@ -2546,30 +5286,55 @@ public enum InvoicesListRequestExpand [EnumMember(Value = "line_items,applied_vendor_credits,accounting_period")] LineItemsAppliedVendorCreditsAccountingPeriod, + [EnumMember(Value = "line_items,applied_vendor_credits,accounting_period,payment_term")] + LineItemsAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,applied_vendor_credits,company")] LineItemsAppliedVendorCreditsCompany, [EnumMember(Value = "line_items,applied_vendor_credits,company,accounting_period")] LineItemsAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember(Value = "line_items,applied_vendor_credits,company,accounting_period,payment_term")] + LineItemsAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,applied_vendor_credits,company,employee")] LineItemsAppliedVendorCreditsCompanyEmployee, [EnumMember(Value = "line_items,applied_vendor_credits,company,employee,accounting_period")] LineItemsAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + LineItemsAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "line_items,applied_vendor_credits,company,employee,payment_term")] + LineItemsAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember(Value = "line_items,applied_vendor_credits,company,payment_term")] + LineItemsAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember(Value = "line_items,applied_vendor_credits,contact")] LineItemsAppliedVendorCreditsContact, [EnumMember(Value = "line_items,applied_vendor_credits,contact,accounting_period")] LineItemsAppliedVendorCreditsContactAccountingPeriod, + [EnumMember(Value = "line_items,applied_vendor_credits,contact,accounting_period,payment_term")] + LineItemsAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,applied_vendor_credits,contact,company")] LineItemsAppliedVendorCreditsContactCompany, [EnumMember(Value = "line_items,applied_vendor_credits,contact,company,accounting_period")] LineItemsAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "line_items,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + LineItemsAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,applied_vendor_credits,contact,company,employee")] LineItemsAppliedVendorCreditsContactCompanyEmployee, @@ -2578,72 +5343,158 @@ public enum InvoicesListRequestExpand )] LineItemsAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + LineItemsAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "line_items,applied_vendor_credits,contact,company,employee,payment_term")] + LineItemsAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "line_items,applied_vendor_credits,contact,company,payment_term")] + LineItemsAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember(Value = "line_items,applied_vendor_credits,contact,employee")] LineItemsAppliedVendorCreditsContactEmployee, [EnumMember(Value = "line_items,applied_vendor_credits,contact,employee,accounting_period")] LineItemsAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + LineItemsAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "line_items,applied_vendor_credits,contact,employee,payment_term")] + LineItemsAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember(Value = "line_items,applied_vendor_credits,contact,payment_term")] + LineItemsAppliedVendorCreditsContactPaymentTerm, + [EnumMember(Value = "line_items,applied_vendor_credits,employee")] LineItemsAppliedVendorCreditsEmployee, [EnumMember(Value = "line_items,applied_vendor_credits,employee,accounting_period")] LineItemsAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,applied_vendor_credits,employee,accounting_period,payment_term" + )] + LineItemsAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "line_items,applied_vendor_credits,employee,payment_term")] + LineItemsAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember(Value = "line_items,applied_vendor_credits,payment_term")] + LineItemsAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "line_items,company")] LineItemsCompany, [EnumMember(Value = "line_items,company,accounting_period")] LineItemsCompanyAccountingPeriod, + [EnumMember(Value = "line_items,company,accounting_period,payment_term")] + LineItemsCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,company,employee")] LineItemsCompanyEmployee, [EnumMember(Value = "line_items,company,employee,accounting_period")] LineItemsCompanyEmployeeAccountingPeriod, + [EnumMember(Value = "line_items,company,employee,accounting_period,payment_term")] + LineItemsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "line_items,company,employee,payment_term")] + LineItemsCompanyEmployeePaymentTerm, + + [EnumMember(Value = "line_items,company,payment_term")] + LineItemsCompanyPaymentTerm, + [EnumMember(Value = "line_items,contact")] LineItemsContact, [EnumMember(Value = "line_items,contact,accounting_period")] LineItemsContactAccountingPeriod, + [EnumMember(Value = "line_items,contact,accounting_period,payment_term")] + LineItemsContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,contact,company")] LineItemsContactCompany, [EnumMember(Value = "line_items,contact,company,accounting_period")] LineItemsContactCompanyAccountingPeriod, + [EnumMember(Value = "line_items,contact,company,accounting_period,payment_term")] + LineItemsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,contact,company,employee")] LineItemsContactCompanyEmployee, [EnumMember(Value = "line_items,contact,company,employee,accounting_period")] LineItemsContactCompanyEmployeeAccountingPeriod, + [EnumMember(Value = "line_items,contact,company,employee,accounting_period,payment_term")] + LineItemsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "line_items,contact,company,employee,payment_term")] + LineItemsContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "line_items,contact,company,payment_term")] + LineItemsContactCompanyPaymentTerm, + [EnumMember(Value = "line_items,contact,employee")] LineItemsContactEmployee, [EnumMember(Value = "line_items,contact,employee,accounting_period")] LineItemsContactEmployeeAccountingPeriod, + [EnumMember(Value = "line_items,contact,employee,accounting_period,payment_term")] + LineItemsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "line_items,contact,employee,payment_term")] + LineItemsContactEmployeePaymentTerm, + + [EnumMember(Value = "line_items,contact,payment_term")] + LineItemsContactPaymentTerm, + [EnumMember(Value = "line_items,employee")] LineItemsEmployee, [EnumMember(Value = "line_items,employee,accounting_period")] LineItemsEmployeeAccountingPeriod, + [EnumMember(Value = "line_items,employee,accounting_period,payment_term")] + LineItemsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "line_items,employee,payment_term")] + LineItemsEmployeePaymentTerm, + + [EnumMember(Value = "line_items,payment_term")] + LineItemsPaymentTerm, + [EnumMember(Value = "line_items,purchase_orders")] LineItemsPurchaseOrders, [EnumMember(Value = "line_items,purchase_orders,accounting_period")] LineItemsPurchaseOrdersAccountingPeriod, + [EnumMember(Value = "line_items,purchase_orders,accounting_period,payment_term")] + LineItemsPurchaseOrdersAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,purchase_orders,applied_credit_notes")] LineItemsPurchaseOrdersAppliedCreditNotes, [EnumMember(Value = "line_items,purchase_orders,applied_credit_notes,accounting_period")] LineItemsPurchaseOrdersAppliedCreditNotesAccountingPeriod, + [EnumMember( + Value = "line_items,purchase_orders,applied_credit_notes,accounting_period,payment_term" + )] + LineItemsPurchaseOrdersAppliedCreditNotesAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits")] LineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCredits, @@ -2652,6 +5503,11 @@ public enum InvoicesListRequestExpand )] LineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,accounting_period,payment_term" + )] + LineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company" )] @@ -2662,6 +5518,11 @@ public enum InvoicesListRequestExpand )] LineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company,accounting_period,payment_term" + )] + LineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee" )] @@ -2672,6 +5533,21 @@ public enum InvoicesListRequestExpand )] LineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + LineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,payment_term" + )] + LineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company,payment_term" + )] + LineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember( Value = "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact" )] @@ -2682,6 +5558,11 @@ public enum InvoicesListRequestExpand )] LineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,accounting_period,payment_term" + )] + LineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company" )] @@ -2692,6 +5573,11 @@ public enum InvoicesListRequestExpand )] LineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + LineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee" )] @@ -2702,6 +5588,21 @@ public enum InvoicesListRequestExpand )] LineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + LineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,payment_term" + )] + LineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,payment_term" + )] + LineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee" )] @@ -2712,6 +5613,21 @@ public enum InvoicesListRequestExpand )] LineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + LineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,payment_term" + )] + LineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,payment_term" + )] + LineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactPaymentTerm, + [EnumMember( Value = "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,employee" )] @@ -2722,6 +5638,21 @@ public enum InvoicesListRequestExpand )] LineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period,payment_term" + )] + LineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,payment_term" + )] + LineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,payment_term" + )] + LineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "line_items,purchase_orders,applied_credit_notes,company")] LineItemsPurchaseOrdersAppliedCreditNotesCompany, @@ -2730,6 +5661,11 @@ public enum InvoicesListRequestExpand )] LineItemsPurchaseOrdersAppliedCreditNotesCompanyAccountingPeriod, + [EnumMember( + Value = "line_items,purchase_orders,applied_credit_notes,company,accounting_period,payment_term" + )] + LineItemsPurchaseOrdersAppliedCreditNotesCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,purchase_orders,applied_credit_notes,company,employee")] LineItemsPurchaseOrdersAppliedCreditNotesCompanyEmployee, @@ -2738,6 +5674,19 @@ public enum InvoicesListRequestExpand )] LineItemsPurchaseOrdersAppliedCreditNotesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,purchase_orders,applied_credit_notes,company,employee,accounting_period,payment_term" + )] + LineItemsPurchaseOrdersAppliedCreditNotesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,purchase_orders,applied_credit_notes,company,employee,payment_term" + )] + LineItemsPurchaseOrdersAppliedCreditNotesCompanyEmployeePaymentTerm, + + [EnumMember(Value = "line_items,purchase_orders,applied_credit_notes,company,payment_term")] + LineItemsPurchaseOrdersAppliedCreditNotesCompanyPaymentTerm, + [EnumMember(Value = "line_items,purchase_orders,applied_credit_notes,contact")] LineItemsPurchaseOrdersAppliedCreditNotesContact, @@ -2746,6 +5695,11 @@ public enum InvoicesListRequestExpand )] LineItemsPurchaseOrdersAppliedCreditNotesContactAccountingPeriod, + [EnumMember( + Value = "line_items,purchase_orders,applied_credit_notes,contact,accounting_period,payment_term" + )] + LineItemsPurchaseOrdersAppliedCreditNotesContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,purchase_orders,applied_credit_notes,contact,company")] LineItemsPurchaseOrdersAppliedCreditNotesContactCompany, @@ -2754,6 +5708,11 @@ public enum InvoicesListRequestExpand )] LineItemsPurchaseOrdersAppliedCreditNotesContactCompanyAccountingPeriod, + [EnumMember( + Value = "line_items,purchase_orders,applied_credit_notes,contact,company,accounting_period,payment_term" + )] + LineItemsPurchaseOrdersAppliedCreditNotesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,purchase_orders,applied_credit_notes,contact,company,employee")] LineItemsPurchaseOrdersAppliedCreditNotesContactCompanyEmployee, @@ -2762,6 +5721,21 @@ public enum InvoicesListRequestExpand )] LineItemsPurchaseOrdersAppliedCreditNotesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,purchase_orders,applied_credit_notes,contact,company,employee,accounting_period,payment_term" + )] + LineItemsPurchaseOrdersAppliedCreditNotesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,purchase_orders,applied_credit_notes,contact,company,employee,payment_term" + )] + LineItemsPurchaseOrdersAppliedCreditNotesContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "line_items,purchase_orders,applied_credit_notes,contact,company,payment_term" + )] + LineItemsPurchaseOrdersAppliedCreditNotesContactCompanyPaymentTerm, + [EnumMember(Value = "line_items,purchase_orders,applied_credit_notes,contact,employee")] LineItemsPurchaseOrdersAppliedCreditNotesContactEmployee, @@ -2770,6 +5744,19 @@ public enum InvoicesListRequestExpand )] LineItemsPurchaseOrdersAppliedCreditNotesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,purchase_orders,applied_credit_notes,contact,employee,accounting_period,payment_term" + )] + LineItemsPurchaseOrdersAppliedCreditNotesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,purchase_orders,applied_credit_notes,contact,employee,payment_term" + )] + LineItemsPurchaseOrdersAppliedCreditNotesContactEmployeePaymentTerm, + + [EnumMember(Value = "line_items,purchase_orders,applied_credit_notes,contact,payment_term")] + LineItemsPurchaseOrdersAppliedCreditNotesContactPaymentTerm, + [EnumMember(Value = "line_items,purchase_orders,applied_credit_notes,employee")] LineItemsPurchaseOrdersAppliedCreditNotesEmployee, @@ -2778,12 +5765,28 @@ public enum InvoicesListRequestExpand )] LineItemsPurchaseOrdersAppliedCreditNotesEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,purchase_orders,applied_credit_notes,employee,accounting_period,payment_term" + )] + LineItemsPurchaseOrdersAppliedCreditNotesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "line_items,purchase_orders,applied_credit_notes,employee,payment_term")] + LineItemsPurchaseOrdersAppliedCreditNotesEmployeePaymentTerm, + + [EnumMember(Value = "line_items,purchase_orders,applied_credit_notes,payment_term")] + LineItemsPurchaseOrdersAppliedCreditNotesPaymentTerm, + [EnumMember(Value = "line_items,purchase_orders,applied_vendor_credits")] LineItemsPurchaseOrdersAppliedVendorCredits, [EnumMember(Value = "line_items,purchase_orders,applied_vendor_credits,accounting_period")] LineItemsPurchaseOrdersAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "line_items,purchase_orders,applied_vendor_credits,accounting_period,payment_term" + )] + LineItemsPurchaseOrdersAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,purchase_orders,applied_vendor_credits,company")] LineItemsPurchaseOrdersAppliedVendorCreditsCompany, @@ -2792,6 +5795,11 @@ public enum InvoicesListRequestExpand )] LineItemsPurchaseOrdersAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "line_items,purchase_orders,applied_vendor_credits,company,accounting_period,payment_term" + )] + LineItemsPurchaseOrdersAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,purchase_orders,applied_vendor_credits,company,employee")] LineItemsPurchaseOrdersAppliedVendorCreditsCompanyEmployee, @@ -2800,6 +5808,19 @@ public enum InvoicesListRequestExpand )] LineItemsPurchaseOrdersAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,purchase_orders,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + LineItemsPurchaseOrdersAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,purchase_orders,applied_vendor_credits,company,employee,payment_term" + )] + LineItemsPurchaseOrdersAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember(Value = "line_items,purchase_orders,applied_vendor_credits,company,payment_term")] + LineItemsPurchaseOrdersAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember(Value = "line_items,purchase_orders,applied_vendor_credits,contact")] LineItemsPurchaseOrdersAppliedVendorCreditsContact, @@ -2808,6 +5829,11 @@ public enum InvoicesListRequestExpand )] LineItemsPurchaseOrdersAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "line_items,purchase_orders,applied_vendor_credits,contact,accounting_period,payment_term" + )] + LineItemsPurchaseOrdersAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,purchase_orders,applied_vendor_credits,contact,company")] LineItemsPurchaseOrdersAppliedVendorCreditsContactCompany, @@ -2816,6 +5842,11 @@ public enum InvoicesListRequestExpand )] LineItemsPurchaseOrdersAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "line_items,purchase_orders,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + LineItemsPurchaseOrdersAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "line_items,purchase_orders,applied_vendor_credits,contact,company,employee" )] @@ -2826,6 +5857,21 @@ public enum InvoicesListRequestExpand )] LineItemsPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,purchase_orders,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + LineItemsPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,purchase_orders,applied_vendor_credits,contact,company,employee,payment_term" + )] + LineItemsPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "line_items,purchase_orders,applied_vendor_credits,contact,company,payment_term" + )] + LineItemsPurchaseOrdersAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember(Value = "line_items,purchase_orders,applied_vendor_credits,contact,employee")] LineItemsPurchaseOrdersAppliedVendorCreditsContactEmployee, @@ -2834,6 +5880,19 @@ public enum InvoicesListRequestExpand )] LineItemsPurchaseOrdersAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,purchase_orders,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + LineItemsPurchaseOrdersAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,purchase_orders,applied_vendor_credits,contact,employee,payment_term" + )] + LineItemsPurchaseOrdersAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember(Value = "line_items,purchase_orders,applied_vendor_credits,contact,payment_term")] + LineItemsPurchaseOrdersAppliedVendorCreditsContactPaymentTerm, + [EnumMember(Value = "line_items,purchase_orders,applied_vendor_credits,employee")] LineItemsPurchaseOrdersAppliedVendorCreditsEmployee, @@ -2842,60 +5901,132 @@ public enum InvoicesListRequestExpand )] LineItemsPurchaseOrdersAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,purchase_orders,applied_vendor_credits,employee,accounting_period,payment_term" + )] + LineItemsPurchaseOrdersAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "line_items,purchase_orders,applied_vendor_credits,employee,payment_term")] + LineItemsPurchaseOrdersAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember(Value = "line_items,purchase_orders,applied_vendor_credits,payment_term")] + LineItemsPurchaseOrdersAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "line_items,purchase_orders,company")] LineItemsPurchaseOrdersCompany, [EnumMember(Value = "line_items,purchase_orders,company,accounting_period")] LineItemsPurchaseOrdersCompanyAccountingPeriod, + [EnumMember(Value = "line_items,purchase_orders,company,accounting_period,payment_term")] + LineItemsPurchaseOrdersCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,purchase_orders,company,employee")] LineItemsPurchaseOrdersCompanyEmployee, [EnumMember(Value = "line_items,purchase_orders,company,employee,accounting_period")] LineItemsPurchaseOrdersCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,purchase_orders,company,employee,accounting_period,payment_term" + )] + LineItemsPurchaseOrdersCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "line_items,purchase_orders,company,employee,payment_term")] + LineItemsPurchaseOrdersCompanyEmployeePaymentTerm, + + [EnumMember(Value = "line_items,purchase_orders,company,payment_term")] + LineItemsPurchaseOrdersCompanyPaymentTerm, + [EnumMember(Value = "line_items,purchase_orders,contact")] LineItemsPurchaseOrdersContact, [EnumMember(Value = "line_items,purchase_orders,contact,accounting_period")] LineItemsPurchaseOrdersContactAccountingPeriod, + [EnumMember(Value = "line_items,purchase_orders,contact,accounting_period,payment_term")] + LineItemsPurchaseOrdersContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,purchase_orders,contact,company")] LineItemsPurchaseOrdersContactCompany, [EnumMember(Value = "line_items,purchase_orders,contact,company,accounting_period")] LineItemsPurchaseOrdersContactCompanyAccountingPeriod, + [EnumMember( + Value = "line_items,purchase_orders,contact,company,accounting_period,payment_term" + )] + LineItemsPurchaseOrdersContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,purchase_orders,contact,company,employee")] LineItemsPurchaseOrdersContactCompanyEmployee, [EnumMember(Value = "line_items,purchase_orders,contact,company,employee,accounting_period")] LineItemsPurchaseOrdersContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,purchase_orders,contact,company,employee,accounting_period,payment_term" + )] + LineItemsPurchaseOrdersContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "line_items,purchase_orders,contact,company,employee,payment_term")] + LineItemsPurchaseOrdersContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "line_items,purchase_orders,contact,company,payment_term")] + LineItemsPurchaseOrdersContactCompanyPaymentTerm, + [EnumMember(Value = "line_items,purchase_orders,contact,employee")] LineItemsPurchaseOrdersContactEmployee, [EnumMember(Value = "line_items,purchase_orders,contact,employee,accounting_period")] LineItemsPurchaseOrdersContactEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,purchase_orders,contact,employee,accounting_period,payment_term" + )] + LineItemsPurchaseOrdersContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "line_items,purchase_orders,contact,employee,payment_term")] + LineItemsPurchaseOrdersContactEmployeePaymentTerm, + + [EnumMember(Value = "line_items,purchase_orders,contact,payment_term")] + LineItemsPurchaseOrdersContactPaymentTerm, + [EnumMember(Value = "line_items,purchase_orders,employee")] LineItemsPurchaseOrdersEmployee, [EnumMember(Value = "line_items,purchase_orders,employee,accounting_period")] LineItemsPurchaseOrdersEmployeeAccountingPeriod, + [EnumMember(Value = "line_items,purchase_orders,employee,accounting_period,payment_term")] + LineItemsPurchaseOrdersEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "line_items,purchase_orders,employee,payment_term")] + LineItemsPurchaseOrdersEmployeePaymentTerm, + + [EnumMember(Value = "line_items,purchase_orders,payment_term")] + LineItemsPurchaseOrdersPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories")] LineItemsTrackingCategories, [EnumMember(Value = "line_items,tracking_categories,accounting_period")] LineItemsTrackingCategoriesAccountingPeriod, + [EnumMember(Value = "line_items,tracking_categories,accounting_period,payment_term")] + LineItemsTrackingCategoriesAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,applied_credit_notes")] LineItemsTrackingCategoriesAppliedCreditNotes, [EnumMember(Value = "line_items,tracking_categories,applied_credit_notes,accounting_period")] LineItemsTrackingCategoriesAppliedCreditNotesAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,applied_credit_notes,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesAppliedCreditNotesAccountingPeriodPaymentTerm, + [EnumMember( Value = "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits" )] @@ -2906,6 +6037,11 @@ public enum InvoicesListRequestExpand )] LineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company" )] @@ -2916,6 +6052,11 @@ public enum InvoicesListRequestExpand )] LineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee" )] @@ -2926,6 +6067,21 @@ public enum InvoicesListRequestExpand )] LineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee,payment_term" + )] + LineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company,payment_term" + )] + LineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember( Value = "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact" )] @@ -2936,6 +6092,11 @@ public enum InvoicesListRequestExpand )] LineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company" )] @@ -2946,6 +6107,11 @@ public enum InvoicesListRequestExpand )] LineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee" )] @@ -2956,6 +6122,21 @@ public enum InvoicesListRequestExpand )] LineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee,payment_term" + )] + LineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,payment_term" + )] + LineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee" )] @@ -2966,6 +6147,21 @@ public enum InvoicesListRequestExpand )] LineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee,payment_term" + )] + LineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,payment_term" + )] + LineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactPaymentTerm, + [EnumMember( Value = "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,employee" )] @@ -2976,6 +6172,21 @@ public enum InvoicesListRequestExpand )] LineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,employee,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,employee,payment_term" + )] + LineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,payment_term" + )] + LineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,applied_credit_notes,company")] LineItemsTrackingCategoriesAppliedCreditNotesCompany, @@ -2984,6 +6195,11 @@ public enum InvoicesListRequestExpand )] LineItemsTrackingCategoriesAppliedCreditNotesCompanyAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,applied_credit_notes,company,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesAppliedCreditNotesCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,applied_credit_notes,company,employee")] LineItemsTrackingCategoriesAppliedCreditNotesCompanyEmployee, @@ -2992,6 +6208,19 @@ public enum InvoicesListRequestExpand )] LineItemsTrackingCategoriesAppliedCreditNotesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,applied_credit_notes,company,employee,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesAppliedCreditNotesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,applied_credit_notes,company,employee,payment_term" + )] + LineItemsTrackingCategoriesAppliedCreditNotesCompanyEmployeePaymentTerm, + + [EnumMember(Value = "line_items,tracking_categories,applied_credit_notes,company,payment_term")] + LineItemsTrackingCategoriesAppliedCreditNotesCompanyPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,applied_credit_notes,contact")] LineItemsTrackingCategoriesAppliedCreditNotesContact, @@ -3000,6 +6229,11 @@ public enum InvoicesListRequestExpand )] LineItemsTrackingCategoriesAppliedCreditNotesContactAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,applied_credit_notes,contact,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesAppliedCreditNotesContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,applied_credit_notes,contact,company")] LineItemsTrackingCategoriesAppliedCreditNotesContactCompany, @@ -3008,6 +6242,11 @@ public enum InvoicesListRequestExpand )] LineItemsTrackingCategoriesAppliedCreditNotesContactCompanyAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,applied_credit_notes,contact,company,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesAppliedCreditNotesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "line_items,tracking_categories,applied_credit_notes,contact,company,employee" )] @@ -3018,6 +6257,21 @@ public enum InvoicesListRequestExpand )] LineItemsTrackingCategoriesAppliedCreditNotesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,applied_credit_notes,contact,company,employee,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesAppliedCreditNotesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,applied_credit_notes,contact,company,employee,payment_term" + )] + LineItemsTrackingCategoriesAppliedCreditNotesContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,applied_credit_notes,contact,company,payment_term" + )] + LineItemsTrackingCategoriesAppliedCreditNotesContactCompanyPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,applied_credit_notes,contact,employee")] LineItemsTrackingCategoriesAppliedCreditNotesContactEmployee, @@ -3026,6 +6280,19 @@ public enum InvoicesListRequestExpand )] LineItemsTrackingCategoriesAppliedCreditNotesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,applied_credit_notes,contact,employee,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesAppliedCreditNotesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,applied_credit_notes,contact,employee,payment_term" + )] + LineItemsTrackingCategoriesAppliedCreditNotesContactEmployeePaymentTerm, + + [EnumMember(Value = "line_items,tracking_categories,applied_credit_notes,contact,payment_term")] + LineItemsTrackingCategoriesAppliedCreditNotesContactPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,applied_credit_notes,employee")] LineItemsTrackingCategoriesAppliedCreditNotesEmployee, @@ -3034,12 +6301,30 @@ public enum InvoicesListRequestExpand )] LineItemsTrackingCategoriesAppliedCreditNotesEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,applied_credit_notes,employee,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesAppliedCreditNotesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,applied_credit_notes,employee,payment_term" + )] + LineItemsTrackingCategoriesAppliedCreditNotesEmployeePaymentTerm, + + [EnumMember(Value = "line_items,tracking_categories,applied_credit_notes,payment_term")] + LineItemsTrackingCategoriesAppliedCreditNotesPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,applied_vendor_credits")] LineItemsTrackingCategoriesAppliedVendorCredits, [EnumMember(Value = "line_items,tracking_categories,applied_vendor_credits,accounting_period")] LineItemsTrackingCategoriesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,applied_vendor_credits,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,applied_vendor_credits,company")] LineItemsTrackingCategoriesAppliedVendorCreditsCompany, @@ -3048,6 +6333,11 @@ public enum InvoicesListRequestExpand )] LineItemsTrackingCategoriesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,applied_vendor_credits,company,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,applied_vendor_credits,company,employee")] LineItemsTrackingCategoriesAppliedVendorCreditsCompanyEmployee, @@ -3056,6 +6346,21 @@ public enum InvoicesListRequestExpand )] LineItemsTrackingCategoriesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,applied_vendor_credits,company,employee,payment_term" + )] + LineItemsTrackingCategoriesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,applied_vendor_credits,company,payment_term" + )] + LineItemsTrackingCategoriesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,applied_vendor_credits,contact")] LineItemsTrackingCategoriesAppliedVendorCreditsContact, @@ -3064,6 +6369,11 @@ public enum InvoicesListRequestExpand )] LineItemsTrackingCategoriesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,applied_vendor_credits,contact,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,applied_vendor_credits,contact,company")] LineItemsTrackingCategoriesAppliedVendorCreditsContactCompany, @@ -3072,6 +6382,11 @@ public enum InvoicesListRequestExpand )] LineItemsTrackingCategoriesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "line_items,tracking_categories,applied_vendor_credits,contact,company,employee" )] @@ -3082,6 +6397,21 @@ public enum InvoicesListRequestExpand )] LineItemsTrackingCategoriesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,applied_vendor_credits,contact,company,employee,payment_term" + )] + LineItemsTrackingCategoriesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,applied_vendor_credits,contact,company,payment_term" + )] + LineItemsTrackingCategoriesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,applied_vendor_credits,contact,employee")] LineItemsTrackingCategoriesAppliedVendorCreditsContactEmployee, @@ -3090,6 +6420,21 @@ public enum InvoicesListRequestExpand )] LineItemsTrackingCategoriesAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,applied_vendor_credits,contact,employee,payment_term" + )] + LineItemsTrackingCategoriesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,applied_vendor_credits,contact,payment_term" + )] + LineItemsTrackingCategoriesAppliedVendorCreditsContactPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,applied_vendor_credits,employee")] LineItemsTrackingCategoriesAppliedVendorCreditsEmployee, @@ -3098,30 +6443,65 @@ public enum InvoicesListRequestExpand )] LineItemsTrackingCategoriesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,applied_vendor_credits,employee,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,applied_vendor_credits,employee,payment_term" + )] + LineItemsTrackingCategoriesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember(Value = "line_items,tracking_categories,applied_vendor_credits,payment_term")] + LineItemsTrackingCategoriesAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,company")] LineItemsTrackingCategoriesCompany, [EnumMember(Value = "line_items,tracking_categories,company,accounting_period")] LineItemsTrackingCategoriesCompanyAccountingPeriod, + [EnumMember(Value = "line_items,tracking_categories,company,accounting_period,payment_term")] + LineItemsTrackingCategoriesCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,company,employee")] LineItemsTrackingCategoriesCompanyEmployee, [EnumMember(Value = "line_items,tracking_categories,company,employee,accounting_period")] LineItemsTrackingCategoriesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,company,employee,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "line_items,tracking_categories,company,employee,payment_term")] + LineItemsTrackingCategoriesCompanyEmployeePaymentTerm, + + [EnumMember(Value = "line_items,tracking_categories,company,payment_term")] + LineItemsTrackingCategoriesCompanyPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,contact")] LineItemsTrackingCategoriesContact, [EnumMember(Value = "line_items,tracking_categories,contact,accounting_period")] LineItemsTrackingCategoriesContactAccountingPeriod, + [EnumMember(Value = "line_items,tracking_categories,contact,accounting_period,payment_term")] + LineItemsTrackingCategoriesContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,contact,company")] LineItemsTrackingCategoriesContactCompany, [EnumMember(Value = "line_items,tracking_categories,contact,company,accounting_period")] LineItemsTrackingCategoriesContactCompanyAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,contact,company,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,contact,company,employee")] LineItemsTrackingCategoriesContactCompanyEmployee, @@ -3130,24 +6510,60 @@ public enum InvoicesListRequestExpand )] LineItemsTrackingCategoriesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,contact,company,employee,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "line_items,tracking_categories,contact,company,employee,payment_term")] + LineItemsTrackingCategoriesContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "line_items,tracking_categories,contact,company,payment_term")] + LineItemsTrackingCategoriesContactCompanyPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,contact,employee")] LineItemsTrackingCategoriesContactEmployee, [EnumMember(Value = "line_items,tracking_categories,contact,employee,accounting_period")] LineItemsTrackingCategoriesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,contact,employee,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "line_items,tracking_categories,contact,employee,payment_term")] + LineItemsTrackingCategoriesContactEmployeePaymentTerm, + + [EnumMember(Value = "line_items,tracking_categories,contact,payment_term")] + LineItemsTrackingCategoriesContactPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,employee")] LineItemsTrackingCategoriesEmployee, [EnumMember(Value = "line_items,tracking_categories,employee,accounting_period")] LineItemsTrackingCategoriesEmployeeAccountingPeriod, + [EnumMember(Value = "line_items,tracking_categories,employee,accounting_period,payment_term")] + LineItemsTrackingCategoriesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "line_items,tracking_categories,employee,payment_term")] + LineItemsTrackingCategoriesEmployeePaymentTerm, + + [EnumMember(Value = "line_items,tracking_categories,payment_term")] + LineItemsTrackingCategoriesPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,purchase_orders")] LineItemsTrackingCategoriesPurchaseOrders, [EnumMember(Value = "line_items,tracking_categories,purchase_orders,accounting_period")] LineItemsTrackingCategoriesPurchaseOrdersAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes")] LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotes, @@ -3156,6 +6572,11 @@ public enum InvoicesListRequestExpand )] LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAccountingPeriodPaymentTerm, + [EnumMember( Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits" )] @@ -3166,6 +6587,11 @@ public enum InvoicesListRequestExpand )] LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company" )] @@ -3176,6 +6602,11 @@ public enum InvoicesListRequestExpand )] LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee" )] @@ -3186,6 +6617,21 @@ public enum InvoicesListRequestExpand )] LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember( Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact" )] @@ -3196,6 +6642,11 @@ public enum InvoicesListRequestExpand )] LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company" )] @@ -3206,6 +6657,11 @@ public enum InvoicesListRequestExpand )] LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee" )] @@ -3216,6 +6672,21 @@ public enum InvoicesListRequestExpand )] LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee" )] @@ -3226,6 +6697,21 @@ public enum InvoicesListRequestExpand )] LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactPaymentTerm, + [EnumMember( Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee" )] @@ -3236,6 +6722,21 @@ public enum InvoicesListRequestExpand )] LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsPaymentTerm, + [EnumMember( Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,company" )] @@ -3246,6 +6747,11 @@ public enum InvoicesListRequestExpand )] LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,company,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,company,employee" )] @@ -3256,6 +6762,21 @@ public enum InvoicesListRequestExpand )] LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,company,employee,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,company,employee,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,company,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyPaymentTerm, + [EnumMember( Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,contact" )] @@ -3266,6 +6787,11 @@ public enum InvoicesListRequestExpand )] LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company" )] @@ -3276,6 +6802,11 @@ public enum InvoicesListRequestExpand )] LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee" )] @@ -3286,6 +6817,21 @@ public enum InvoicesListRequestExpand )] LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyPaymentTerm, + [EnumMember( Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,employee" )] @@ -3296,6 +6842,21 @@ public enum InvoicesListRequestExpand )] LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,employee,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,employee,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactEmployeePaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactPaymentTerm, + [EnumMember( Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,employee" )] @@ -3306,6 +6867,21 @@ public enum InvoicesListRequestExpand )] LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,employee,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,employee,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesEmployeePaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,purchase_orders,applied_vendor_credits")] LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCredits, @@ -3314,6 +6890,11 @@ public enum InvoicesListRequestExpand )] LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_vendor_credits,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "line_items,tracking_categories,purchase_orders,applied_vendor_credits,company" )] @@ -3324,6 +6905,11 @@ public enum InvoicesListRequestExpand )] LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_vendor_credits,company,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "line_items,tracking_categories,purchase_orders,applied_vendor_credits,company,employee" )] @@ -3334,6 +6920,21 @@ public enum InvoicesListRequestExpand )] LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_vendor_credits,company,employee,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_vendor_credits,company,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember( Value = "line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact" )] @@ -3344,45 +6945,100 @@ public enum InvoicesListRequestExpand )] LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company" )] LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompany, [EnumMember( - Value = "line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,accounting_period" + Value = "line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,accounting_period" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyAccountingPeriod, + + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyEmployee, + + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee,accounting_period" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyPaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactEmployee, + + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee,accounting_period" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactEmployeeAccountingPeriod, + + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee,payment_term" )] - LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyAccountingPeriod, + LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactEmployeePaymentTerm, [EnumMember( - Value = "line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee" + Value = "line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,payment_term" )] - LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyEmployee, + LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactPaymentTerm, [EnumMember( - Value = "line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee,accounting_period" + Value = "line_items,tracking_categories,purchase_orders,applied_vendor_credits,employee" )] - LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsEmployee, [EnumMember( - Value = "line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee" + Value = "line_items,tracking_categories,purchase_orders,applied_vendor_credits,employee,accounting_period" )] - LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactEmployee, + LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsEmployeeAccountingPeriod, [EnumMember( - Value = "line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee,accounting_period" + Value = "line_items,tracking_categories,purchase_orders,applied_vendor_credits,employee,accounting_period,payment_term" )] - LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactEmployeeAccountingPeriod, + LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, [EnumMember( - Value = "line_items,tracking_categories,purchase_orders,applied_vendor_credits,employee" + Value = "line_items,tracking_categories,purchase_orders,applied_vendor_credits,employee,payment_term" )] - LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsEmployee, + LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsEmployeePaymentTerm, [EnumMember( - Value = "line_items,tracking_categories,purchase_orders,applied_vendor_credits,employee,accounting_period" + Value = "line_items,tracking_categories,purchase_orders,applied_vendor_credits,payment_term" )] - LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsEmployeeAccountingPeriod, + LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsPaymentTerm, [EnumMember(Value = "line_items,tracking_categories,purchase_orders,company")] LineItemsTrackingCategoriesPurchaseOrdersCompany, @@ -3390,6 +7046,11 @@ public enum InvoicesListRequestExpand [EnumMember(Value = "line_items,tracking_categories,purchase_orders,company,accounting_period")] LineItemsTrackingCategoriesPurchaseOrdersCompanyAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,company,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,purchase_orders,company,employee")] LineItemsTrackingCategoriesPurchaseOrdersCompanyEmployee, @@ -3398,12 +7059,30 @@ public enum InvoicesListRequestExpand )] LineItemsTrackingCategoriesPurchaseOrdersCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,company,employee,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,company,employee,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersCompanyEmployeePaymentTerm, + + [EnumMember(Value = "line_items,tracking_categories,purchase_orders,company,payment_term")] + LineItemsTrackingCategoriesPurchaseOrdersCompanyPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,purchase_orders,contact")] LineItemsTrackingCategoriesPurchaseOrdersContact, [EnumMember(Value = "line_items,tracking_categories,purchase_orders,contact,accounting_period")] LineItemsTrackingCategoriesPurchaseOrdersContactAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,contact,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,purchase_orders,contact,company")] LineItemsTrackingCategoriesPurchaseOrdersContactCompany, @@ -3412,6 +7091,11 @@ public enum InvoicesListRequestExpand )] LineItemsTrackingCategoriesPurchaseOrdersContactCompanyAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,contact,company,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,purchase_orders,contact,company,employee")] LineItemsTrackingCategoriesPurchaseOrdersContactCompanyEmployee, @@ -3420,6 +7104,21 @@ public enum InvoicesListRequestExpand )] LineItemsTrackingCategoriesPurchaseOrdersContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,contact,company,employee,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,contact,company,employee,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,contact,company,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersContactCompanyPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,purchase_orders,contact,employee")] LineItemsTrackingCategoriesPurchaseOrdersContactEmployee, @@ -3428,6 +7127,19 @@ public enum InvoicesListRequestExpand )] LineItemsTrackingCategoriesPurchaseOrdersContactEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,contact,employee,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,contact,employee,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersContactEmployeePaymentTerm, + + [EnumMember(Value = "line_items,tracking_categories,purchase_orders,contact,payment_term")] + LineItemsTrackingCategoriesPurchaseOrdersContactPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,purchase_orders,employee")] LineItemsTrackingCategoriesPurchaseOrdersEmployee, @@ -3436,24 +7148,49 @@ public enum InvoicesListRequestExpand )] LineItemsTrackingCategoriesPurchaseOrdersEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,employee,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "line_items,tracking_categories,purchase_orders,employee,payment_term")] + LineItemsTrackingCategoriesPurchaseOrdersEmployeePaymentTerm, + + [EnumMember(Value = "line_items,tracking_categories,purchase_orders,payment_term")] + LineItemsTrackingCategoriesPurchaseOrdersPaymentTerm, + + [EnumMember(Value = "payment_term")] + PaymentTerm, + [EnumMember(Value = "payments")] Payments, [EnumMember(Value = "payments,accounting_period")] PaymentsAccountingPeriod, + [EnumMember(Value = "payments,accounting_period,payment_term")] + PaymentsAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_credit_notes")] PaymentsAppliedCreditNotes, [EnumMember(Value = "payments,applied_credit_notes,accounting_period")] PaymentsAppliedCreditNotesAccountingPeriod, + [EnumMember(Value = "payments,applied_credit_notes,accounting_period,payment_term")] + PaymentsAppliedCreditNotesAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_credit_notes,applied_vendor_credits")] PaymentsAppliedCreditNotesAppliedVendorCredits, [EnumMember(Value = "payments,applied_credit_notes,applied_vendor_credits,accounting_period")] PaymentsAppliedCreditNotesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "payments,applied_credit_notes,applied_vendor_credits,accounting_period,payment_term" + )] + PaymentsAppliedCreditNotesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_credit_notes,applied_vendor_credits,company")] PaymentsAppliedCreditNotesAppliedVendorCreditsCompany, @@ -3462,6 +7199,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_credit_notes,applied_vendor_credits,company,accounting_period,payment_term" + )] + PaymentsAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_credit_notes,applied_vendor_credits,company,employee")] PaymentsAppliedCreditNotesAppliedVendorCreditsCompanyEmployee, @@ -3470,6 +7212,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_credit_notes,applied_vendor_credits,company,employee,payment_term" + )] + PaymentsAppliedCreditNotesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_credit_notes,applied_vendor_credits,company,payment_term" + )] + PaymentsAppliedCreditNotesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember(Value = "payments,applied_credit_notes,applied_vendor_credits,contact")] PaymentsAppliedCreditNotesAppliedVendorCreditsContact, @@ -3478,6 +7235,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "payments,applied_credit_notes,applied_vendor_credits,contact,accounting_period,payment_term" + )] + PaymentsAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_credit_notes,applied_vendor_credits,contact,company")] PaymentsAppliedCreditNotesAppliedVendorCreditsContactCompany, @@ -3486,6 +7248,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + PaymentsAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_credit_notes,applied_vendor_credits,contact,company,employee" )] @@ -3496,6 +7263,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_credit_notes,applied_vendor_credits,contact,company,employee,payment_term" + )] + PaymentsAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_credit_notes,applied_vendor_credits,contact,company,payment_term" + )] + PaymentsAppliedCreditNotesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember(Value = "payments,applied_credit_notes,applied_vendor_credits,contact,employee")] PaymentsAppliedCreditNotesAppliedVendorCreditsContactEmployee, @@ -3504,6 +7286,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + PaymentsAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_credit_notes,applied_vendor_credits,contact,employee,payment_term" + )] + PaymentsAppliedCreditNotesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_credit_notes,applied_vendor_credits,contact,payment_term" + )] + PaymentsAppliedCreditNotesAppliedVendorCreditsContactPaymentTerm, + [EnumMember(Value = "payments,applied_credit_notes,applied_vendor_credits,employee")] PaymentsAppliedCreditNotesAppliedVendorCreditsEmployee, @@ -3512,60 +7309,134 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_credit_notes,applied_vendor_credits,employee,accounting_period,payment_term" + )] + PaymentsAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_credit_notes,applied_vendor_credits,employee,payment_term" + )] + PaymentsAppliedCreditNotesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember(Value = "payments,applied_credit_notes,applied_vendor_credits,payment_term")] + PaymentsAppliedCreditNotesAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "payments,applied_credit_notes,company")] PaymentsAppliedCreditNotesCompany, [EnumMember(Value = "payments,applied_credit_notes,company,accounting_period")] PaymentsAppliedCreditNotesCompanyAccountingPeriod, + [EnumMember(Value = "payments,applied_credit_notes,company,accounting_period,payment_term")] + PaymentsAppliedCreditNotesCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_credit_notes,company,employee")] PaymentsAppliedCreditNotesCompanyEmployee, [EnumMember(Value = "payments,applied_credit_notes,company,employee,accounting_period")] PaymentsAppliedCreditNotesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_credit_notes,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedCreditNotesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,applied_credit_notes,company,employee,payment_term")] + PaymentsAppliedCreditNotesCompanyEmployeePaymentTerm, + + [EnumMember(Value = "payments,applied_credit_notes,company,payment_term")] + PaymentsAppliedCreditNotesCompanyPaymentTerm, + [EnumMember(Value = "payments,applied_credit_notes,contact")] PaymentsAppliedCreditNotesContact, [EnumMember(Value = "payments,applied_credit_notes,contact,accounting_period")] PaymentsAppliedCreditNotesContactAccountingPeriod, + [EnumMember(Value = "payments,applied_credit_notes,contact,accounting_period,payment_term")] + PaymentsAppliedCreditNotesContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_credit_notes,contact,company")] PaymentsAppliedCreditNotesContactCompany, [EnumMember(Value = "payments,applied_credit_notes,contact,company,accounting_period")] PaymentsAppliedCreditNotesContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_credit_notes,contact,company,accounting_period,payment_term" + )] + PaymentsAppliedCreditNotesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_credit_notes,contact,company,employee")] PaymentsAppliedCreditNotesContactCompanyEmployee, [EnumMember(Value = "payments,applied_credit_notes,contact,company,employee,accounting_period")] PaymentsAppliedCreditNotesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_credit_notes,contact,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedCreditNotesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,applied_credit_notes,contact,company,employee,payment_term")] + PaymentsAppliedCreditNotesContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "payments,applied_credit_notes,contact,company,payment_term")] + PaymentsAppliedCreditNotesContactCompanyPaymentTerm, + [EnumMember(Value = "payments,applied_credit_notes,contact,employee")] PaymentsAppliedCreditNotesContactEmployee, [EnumMember(Value = "payments,applied_credit_notes,contact,employee,accounting_period")] PaymentsAppliedCreditNotesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_credit_notes,contact,employee,accounting_period,payment_term" + )] + PaymentsAppliedCreditNotesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,applied_credit_notes,contact,employee,payment_term")] + PaymentsAppliedCreditNotesContactEmployeePaymentTerm, + + [EnumMember(Value = "payments,applied_credit_notes,contact,payment_term")] + PaymentsAppliedCreditNotesContactPaymentTerm, + [EnumMember(Value = "payments,applied_credit_notes,employee")] PaymentsAppliedCreditNotesEmployee, [EnumMember(Value = "payments,applied_credit_notes,employee,accounting_period")] PaymentsAppliedCreditNotesEmployeeAccountingPeriod, + [EnumMember(Value = "payments,applied_credit_notes,employee,accounting_period,payment_term")] + PaymentsAppliedCreditNotesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,applied_credit_notes,employee,payment_term")] + PaymentsAppliedCreditNotesEmployeePaymentTerm, + + [EnumMember(Value = "payments,applied_credit_notes,payment_term")] + PaymentsAppliedCreditNotesPaymentTerm, + [EnumMember(Value = "payments,applied_payments")] PaymentsAppliedPayments, [EnumMember(Value = "payments,applied_payments,accounting_period")] PaymentsAppliedPaymentsAccountingPeriod, + [EnumMember(Value = "payments,applied_payments,accounting_period,payment_term")] + PaymentsAppliedPaymentsAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_payments,applied_credit_notes")] PaymentsAppliedPaymentsAppliedCreditNotes, [EnumMember(Value = "payments,applied_payments,applied_credit_notes,accounting_period")] PaymentsAppliedPaymentsAppliedCreditNotesAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,applied_credit_notes,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsAppliedCreditNotesAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_payments,applied_credit_notes,applied_vendor_credits")] PaymentsAppliedPaymentsAppliedCreditNotesAppliedVendorCredits, @@ -3574,6 +7445,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsAppliedCreditNotesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,applied_credit_notes,applied_vendor_credits,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsAppliedCreditNotesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,applied_credit_notes,applied_vendor_credits,company" )] @@ -3584,6 +7460,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,applied_credit_notes,applied_vendor_credits,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,applied_credit_notes,applied_vendor_credits,company,employee" )] @@ -3594,6 +7475,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,applied_credit_notes,applied_vendor_credits,company,employee,payment_term" + )] + PaymentsAppliedPaymentsAppliedCreditNotesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,applied_credit_notes,applied_vendor_credits,company,payment_term" + )] + PaymentsAppliedPaymentsAppliedCreditNotesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,applied_credit_notes,applied_vendor_credits,contact" )] @@ -3604,6 +7500,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,applied_credit_notes,applied_vendor_credits,contact,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,applied_credit_notes,applied_vendor_credits,contact,company" )] @@ -3614,6 +7515,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,applied_credit_notes,applied_vendor_credits,contact,company,employee" )] @@ -3624,6 +7530,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,applied_credit_notes,applied_vendor_credits,contact,company,employee,payment_term" + )] + PaymentsAppliedPaymentsAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,applied_credit_notes,applied_vendor_credits,contact,company,payment_term" + )] + PaymentsAppliedPaymentsAppliedCreditNotesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,applied_credit_notes,applied_vendor_credits,contact,employee" )] @@ -3634,6 +7555,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,applied_credit_notes,applied_vendor_credits,contact,employee,payment_term" + )] + PaymentsAppliedPaymentsAppliedCreditNotesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,applied_credit_notes,applied_vendor_credits,contact,payment_term" + )] + PaymentsAppliedPaymentsAppliedCreditNotesAppliedVendorCreditsContactPaymentTerm, + [EnumMember( Value = "payments,applied_payments,applied_credit_notes,applied_vendor_credits,employee" )] @@ -3644,12 +7580,32 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,applied_credit_notes,applied_vendor_credits,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,applied_credit_notes,applied_vendor_credits,employee,payment_term" + )] + PaymentsAppliedPaymentsAppliedCreditNotesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,applied_credit_notes,applied_vendor_credits,payment_term" + )] + PaymentsAppliedPaymentsAppliedCreditNotesAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "payments,applied_payments,applied_credit_notes,company")] PaymentsAppliedPaymentsAppliedCreditNotesCompany, [EnumMember(Value = "payments,applied_payments,applied_credit_notes,company,accounting_period")] PaymentsAppliedPaymentsAppliedCreditNotesCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,applied_credit_notes,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsAppliedCreditNotesCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_payments,applied_credit_notes,company,employee")] PaymentsAppliedPaymentsAppliedCreditNotesCompanyEmployee, @@ -3658,12 +7614,30 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsAppliedCreditNotesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,applied_credit_notes,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsAppliedCreditNotesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,applied_credit_notes,company,employee,payment_term" + )] + PaymentsAppliedPaymentsAppliedCreditNotesCompanyEmployeePaymentTerm, + + [EnumMember(Value = "payments,applied_payments,applied_credit_notes,company,payment_term")] + PaymentsAppliedPaymentsAppliedCreditNotesCompanyPaymentTerm, + [EnumMember(Value = "payments,applied_payments,applied_credit_notes,contact")] PaymentsAppliedPaymentsAppliedCreditNotesContact, [EnumMember(Value = "payments,applied_payments,applied_credit_notes,contact,accounting_period")] PaymentsAppliedPaymentsAppliedCreditNotesContactAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,applied_credit_notes,contact,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsAppliedCreditNotesContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_payments,applied_credit_notes,contact,company")] PaymentsAppliedPaymentsAppliedCreditNotesContactCompany, @@ -3672,6 +7646,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsAppliedCreditNotesContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,applied_credit_notes,contact,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsAppliedCreditNotesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_payments,applied_credit_notes,contact,company,employee")] PaymentsAppliedPaymentsAppliedCreditNotesContactCompanyEmployee, @@ -3680,6 +7659,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsAppliedCreditNotesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,applied_credit_notes,contact,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsAppliedCreditNotesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,applied_credit_notes,contact,company,employee,payment_term" + )] + PaymentsAppliedPaymentsAppliedCreditNotesContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,applied_credit_notes,contact,company,payment_term" + )] + PaymentsAppliedPaymentsAppliedCreditNotesContactCompanyPaymentTerm, + [EnumMember(Value = "payments,applied_payments,applied_credit_notes,contact,employee")] PaymentsAppliedPaymentsAppliedCreditNotesContactEmployee, @@ -3688,6 +7682,19 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsAppliedCreditNotesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,applied_credit_notes,contact,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsAppliedCreditNotesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,applied_credit_notes,contact,employee,payment_term" + )] + PaymentsAppliedPaymentsAppliedCreditNotesContactEmployeePaymentTerm, + + [EnumMember(Value = "payments,applied_payments,applied_credit_notes,contact,payment_term")] + PaymentsAppliedPaymentsAppliedCreditNotesContactPaymentTerm, + [EnumMember(Value = "payments,applied_payments,applied_credit_notes,employee")] PaymentsAppliedPaymentsAppliedCreditNotesEmployee, @@ -3696,12 +7703,28 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsAppliedCreditNotesEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,applied_credit_notes,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsAppliedCreditNotesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,applied_payments,applied_credit_notes,employee,payment_term")] + PaymentsAppliedPaymentsAppliedCreditNotesEmployeePaymentTerm, + + [EnumMember(Value = "payments,applied_payments,applied_credit_notes,payment_term")] + PaymentsAppliedPaymentsAppliedCreditNotesPaymentTerm, + [EnumMember(Value = "payments,applied_payments,applied_vendor_credits")] PaymentsAppliedPaymentsAppliedVendorCredits, [EnumMember(Value = "payments,applied_payments,applied_vendor_credits,accounting_period")] PaymentsAppliedPaymentsAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,applied_vendor_credits,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_payments,applied_vendor_credits,company")] PaymentsAppliedPaymentsAppliedVendorCreditsCompany, @@ -3710,6 +7733,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,applied_vendor_credits,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_payments,applied_vendor_credits,company,employee")] PaymentsAppliedPaymentsAppliedVendorCreditsCompanyEmployee, @@ -3718,6 +7746,19 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,applied_vendor_credits,company,employee,payment_term" + )] + PaymentsAppliedPaymentsAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember(Value = "payments,applied_payments,applied_vendor_credits,company,payment_term")] + PaymentsAppliedPaymentsAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember(Value = "payments,applied_payments,applied_vendor_credits,contact")] PaymentsAppliedPaymentsAppliedVendorCreditsContact, @@ -3726,6 +7767,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,applied_vendor_credits,contact,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_payments,applied_vendor_credits,contact,company")] PaymentsAppliedPaymentsAppliedVendorCreditsContactCompany, @@ -3734,6 +7780,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,applied_vendor_credits,contact,company,employee" )] @@ -3744,6 +7795,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,applied_vendor_credits,contact,company,employee,payment_term" + )] + PaymentsAppliedPaymentsAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,applied_vendor_credits,contact,company,payment_term" + )] + PaymentsAppliedPaymentsAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember(Value = "payments,applied_payments,applied_vendor_credits,contact,employee")] PaymentsAppliedPaymentsAppliedVendorCreditsContactEmployee, @@ -3752,13 +7818,37 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,applied_vendor_credits,contact,employee,payment_term" + )] + PaymentsAppliedPaymentsAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember(Value = "payments,applied_payments,applied_vendor_credits,contact,payment_term")] + PaymentsAppliedPaymentsAppliedVendorCreditsContactPaymentTerm, + [EnumMember(Value = "payments,applied_payments,applied_vendor_credits,employee")] PaymentsAppliedPaymentsAppliedVendorCreditsEmployee, [EnumMember( - Value = "payments,applied_payments,applied_vendor_credits,employee,accounting_period" + Value = "payments,applied_payments,applied_vendor_credits,employee,accounting_period" + )] + PaymentsAppliedPaymentsAppliedVendorCreditsEmployeeAccountingPeriod, + + [EnumMember( + Value = "payments,applied_payments,applied_vendor_credits,employee,accounting_period,payment_term" )] - PaymentsAppliedPaymentsAppliedVendorCreditsEmployeeAccountingPeriod, + PaymentsAppliedPaymentsAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,applied_payments,applied_vendor_credits,employee,payment_term")] + PaymentsAppliedPaymentsAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember(Value = "payments,applied_payments,applied_vendor_credits,payment_term")] + PaymentsAppliedPaymentsAppliedVendorCreditsPaymentTerm, [EnumMember(Value = "payments,applied_payments,company")] PaymentsAppliedPaymentsCompany, @@ -3766,48 +7856,99 @@ public enum InvoicesListRequestExpand [EnumMember(Value = "payments,applied_payments,company,accounting_period")] PaymentsAppliedPaymentsCompanyAccountingPeriod, + [EnumMember(Value = "payments,applied_payments,company,accounting_period,payment_term")] + PaymentsAppliedPaymentsCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_payments,company,employee")] PaymentsAppliedPaymentsCompanyEmployee, [EnumMember(Value = "payments,applied_payments,company,employee,accounting_period")] PaymentsAppliedPaymentsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,applied_payments,company,employee,payment_term")] + PaymentsAppliedPaymentsCompanyEmployeePaymentTerm, + + [EnumMember(Value = "payments,applied_payments,company,payment_term")] + PaymentsAppliedPaymentsCompanyPaymentTerm, + [EnumMember(Value = "payments,applied_payments,contact")] PaymentsAppliedPaymentsContact, [EnumMember(Value = "payments,applied_payments,contact,accounting_period")] PaymentsAppliedPaymentsContactAccountingPeriod, + [EnumMember(Value = "payments,applied_payments,contact,accounting_period,payment_term")] + PaymentsAppliedPaymentsContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_payments,contact,company")] PaymentsAppliedPaymentsContactCompany, [EnumMember(Value = "payments,applied_payments,contact,company,accounting_period")] PaymentsAppliedPaymentsContactCompanyAccountingPeriod, + [EnumMember(Value = "payments,applied_payments,contact,company,accounting_period,payment_term")] + PaymentsAppliedPaymentsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_payments,contact,company,employee")] PaymentsAppliedPaymentsContactCompanyEmployee, [EnumMember(Value = "payments,applied_payments,contact,company,employee,accounting_period")] PaymentsAppliedPaymentsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,contact,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,applied_payments,contact,company,employee,payment_term")] + PaymentsAppliedPaymentsContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "payments,applied_payments,contact,company,payment_term")] + PaymentsAppliedPaymentsContactCompanyPaymentTerm, + [EnumMember(Value = "payments,applied_payments,contact,employee")] PaymentsAppliedPaymentsContactEmployee, [EnumMember(Value = "payments,applied_payments,contact,employee,accounting_period")] PaymentsAppliedPaymentsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,contact,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,applied_payments,contact,employee,payment_term")] + PaymentsAppliedPaymentsContactEmployeePaymentTerm, + + [EnumMember(Value = "payments,applied_payments,contact,payment_term")] + PaymentsAppliedPaymentsContactPaymentTerm, + [EnumMember(Value = "payments,applied_payments,employee")] PaymentsAppliedPaymentsEmployee, [EnumMember(Value = "payments,applied_payments,employee,accounting_period")] PaymentsAppliedPaymentsEmployeeAccountingPeriod, + [EnumMember(Value = "payments,applied_payments,employee,accounting_period,payment_term")] + PaymentsAppliedPaymentsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,applied_payments,employee,payment_term")] + PaymentsAppliedPaymentsEmployeePaymentTerm, + [EnumMember(Value = "payments,applied_payments,line_items")] PaymentsAppliedPaymentsLineItems, [EnumMember(Value = "payments,applied_payments,line_items,accounting_period")] PaymentsAppliedPaymentsLineItemsAccountingPeriod, + [EnumMember(Value = "payments,applied_payments,line_items,accounting_period,payment_term")] + PaymentsAppliedPaymentsLineItemsAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_payments,line_items,applied_credit_notes")] PaymentsAppliedPaymentsLineItemsAppliedCreditNotes, @@ -3816,6 +7957,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsAppliedCreditNotesAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,applied_credit_notes,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedCreditNotesAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits" )] @@ -3826,6 +7972,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,company" )] @@ -3836,6 +7987,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,company,employee" )] @@ -3846,6 +8002,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,company,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,company,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact" )] @@ -3856,6 +8027,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,company" )] @@ -3866,6 +8042,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,company,employee" )] @@ -3876,6 +8057,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,company,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,company,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,employee" )] @@ -3886,6 +8082,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,employee" )] @@ -3896,6 +8107,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "payments,applied_payments,line_items,applied_credit_notes,company")] PaymentsAppliedPaymentsLineItemsAppliedCreditNotesCompany, @@ -3904,6 +8130,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsAppliedCreditNotesCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,applied_credit_notes,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedCreditNotesCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,applied_credit_notes,company,employee" )] @@ -3914,6 +8145,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsAppliedCreditNotesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,applied_credit_notes,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedCreditNotesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,applied_credit_notes,company,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedCreditNotesCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,applied_credit_notes,company,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedCreditNotesCompanyPaymentTerm, + [EnumMember(Value = "payments,applied_payments,line_items,applied_credit_notes,contact")] PaymentsAppliedPaymentsLineItemsAppliedCreditNotesContact, @@ -3922,6 +8168,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsAppliedCreditNotesContactAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,applied_credit_notes,contact,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedCreditNotesContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,applied_credit_notes,contact,company" )] @@ -3932,6 +8183,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsAppliedCreditNotesContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,applied_credit_notes,contact,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedCreditNotesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,applied_credit_notes,contact,company,employee" )] @@ -3942,6 +8198,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsAppliedCreditNotesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,applied_credit_notes,contact,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedCreditNotesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,applied_credit_notes,contact,company,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedCreditNotesContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,applied_credit_notes,contact,company,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedCreditNotesContactCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,applied_credit_notes,contact,employee" )] @@ -3952,6 +8223,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsAppliedCreditNotesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,applied_credit_notes,contact,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedCreditNotesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,applied_credit_notes,contact,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedCreditNotesContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,applied_credit_notes,contact,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedCreditNotesContactPaymentTerm, + [EnumMember(Value = "payments,applied_payments,line_items,applied_credit_notes,employee")] PaymentsAppliedPaymentsLineItemsAppliedCreditNotesEmployee, @@ -3960,6 +8246,19 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsAppliedCreditNotesEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,applied_credit_notes,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedCreditNotesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,applied_credit_notes,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedCreditNotesEmployeePaymentTerm, + + [EnumMember(Value = "payments,applied_payments,line_items,applied_credit_notes,payment_term")] + PaymentsAppliedPaymentsLineItemsAppliedCreditNotesPaymentTerm, + [EnumMember(Value = "payments,applied_payments,line_items,applied_vendor_credits")] PaymentsAppliedPaymentsLineItemsAppliedVendorCredits, @@ -3968,6 +8267,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,applied_vendor_credits,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_payments,line_items,applied_vendor_credits,company")] PaymentsAppliedPaymentsLineItemsAppliedVendorCreditsCompany, @@ -3976,6 +8280,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,applied_vendor_credits,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,applied_vendor_credits,company,employee" )] @@ -3986,6 +8295,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,applied_vendor_credits,company,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,applied_vendor_credits,company,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember(Value = "payments,applied_payments,line_items,applied_vendor_credits,contact")] PaymentsAppliedPaymentsLineItemsAppliedVendorCreditsContact, @@ -3994,6 +8318,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,applied_vendor_credits,contact,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,applied_vendor_credits,contact,company" )] @@ -4004,6 +8333,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,applied_vendor_credits,contact,company,employee" )] @@ -4014,6 +8348,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,applied_vendor_credits,contact,company,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,applied_vendor_credits,contact,company,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,applied_vendor_credits,contact,employee" )] @@ -4024,6 +8373,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,applied_vendor_credits,contact,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,applied_vendor_credits,contact,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedVendorCreditsContactPaymentTerm, + [EnumMember(Value = "payments,applied_payments,line_items,applied_vendor_credits,employee")] PaymentsAppliedPaymentsLineItemsAppliedVendorCreditsEmployee, @@ -4032,30 +8396,69 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,applied_vendor_credits,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,applied_vendor_credits,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember(Value = "payments,applied_payments,line_items,applied_vendor_credits,payment_term")] + PaymentsAppliedPaymentsLineItemsAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "payments,applied_payments,line_items,company")] PaymentsAppliedPaymentsLineItemsCompany, [EnumMember(Value = "payments,applied_payments,line_items,company,accounting_period")] PaymentsAppliedPaymentsLineItemsCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_payments,line_items,company,employee")] PaymentsAppliedPaymentsLineItemsCompanyEmployee, [EnumMember(Value = "payments,applied_payments,line_items,company,employee,accounting_period")] PaymentsAppliedPaymentsLineItemsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,applied_payments,line_items,company,employee,payment_term")] + PaymentsAppliedPaymentsLineItemsCompanyEmployeePaymentTerm, + + [EnumMember(Value = "payments,applied_payments,line_items,company,payment_term")] + PaymentsAppliedPaymentsLineItemsCompanyPaymentTerm, + [EnumMember(Value = "payments,applied_payments,line_items,contact")] PaymentsAppliedPaymentsLineItemsContact, [EnumMember(Value = "payments,applied_payments,line_items,contact,accounting_period")] PaymentsAppliedPaymentsLineItemsContactAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,contact,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_payments,line_items,contact,company")] PaymentsAppliedPaymentsLineItemsContactCompany, [EnumMember(Value = "payments,applied_payments,line_items,contact,company,accounting_period")] PaymentsAppliedPaymentsLineItemsContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,contact,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_payments,line_items,contact,company,employee")] PaymentsAppliedPaymentsLineItemsContactCompanyEmployee, @@ -4064,24 +8467,64 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,contact,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,contact,company,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "payments,applied_payments,line_items,contact,company,payment_term")] + PaymentsAppliedPaymentsLineItemsContactCompanyPaymentTerm, + [EnumMember(Value = "payments,applied_payments,line_items,contact,employee")] PaymentsAppliedPaymentsLineItemsContactEmployee, [EnumMember(Value = "payments,applied_payments,line_items,contact,employee,accounting_period")] PaymentsAppliedPaymentsLineItemsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,contact,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,applied_payments,line_items,contact,employee,payment_term")] + PaymentsAppliedPaymentsLineItemsContactEmployeePaymentTerm, + + [EnumMember(Value = "payments,applied_payments,line_items,contact,payment_term")] + PaymentsAppliedPaymentsLineItemsContactPaymentTerm, + [EnumMember(Value = "payments,applied_payments,line_items,employee")] PaymentsAppliedPaymentsLineItemsEmployee, [EnumMember(Value = "payments,applied_payments,line_items,employee,accounting_period")] PaymentsAppliedPaymentsLineItemsEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,applied_payments,line_items,employee,payment_term")] + PaymentsAppliedPaymentsLineItemsEmployeePaymentTerm, + + [EnumMember(Value = "payments,applied_payments,line_items,payment_term")] + PaymentsAppliedPaymentsLineItemsPaymentTerm, + [EnumMember(Value = "payments,applied_payments,line_items,purchase_orders")] PaymentsAppliedPaymentsLineItemsPurchaseOrders, [EnumMember(Value = "payments,applied_payments,line_items,purchase_orders,accounting_period")] PaymentsAppliedPaymentsLineItemsPurchaseOrdersAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes" )] @@ -4092,6 +8535,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits" )] @@ -4102,6 +8550,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company" )] @@ -4112,6 +8565,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee" )] @@ -4122,6 +8580,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact" )] @@ -4132,6 +8605,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company" )] @@ -4142,6 +8620,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee" )] @@ -4152,25 +8635,70 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee" )] PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployee, [EnumMember( - Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period" + Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, + + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,employee" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployee, + + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriod, + + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period,payment_term" )] - PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, [EnumMember( - Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,employee" + Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,payment_term" )] - PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployee, + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeePaymentTerm, [EnumMember( - Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period" + Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,payment_term" )] - PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriod, + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsPaymentTerm, [EnumMember( Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,company" @@ -4182,6 +8710,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,company,employee" )] @@ -4192,6 +8725,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,company,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,company,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,contact" )] @@ -4202,6 +8750,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,contact,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,contact,company" )] @@ -4212,6 +8765,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,contact,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,contact,company,employee" )] @@ -4222,6 +8780,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,contact,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,contact,company,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,contact,company,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,contact,employee" )] @@ -4232,6 +8805,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,contact,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,contact,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,contact,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,employee" )] @@ -4242,6 +8830,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits" )] @@ -4252,6 +8855,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,company" )] @@ -4262,6 +8870,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,company,employee" )] @@ -4272,6 +8885,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,company,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,company,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,contact" )] @@ -4282,6 +8910,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,company" )] @@ -4292,6 +8925,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,company,employee" )] @@ -4302,6 +8940,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,company,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,company,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,employee" )] @@ -4312,6 +8965,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,employee" )] @@ -4322,6 +8990,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "payments,applied_payments,line_items,purchase_orders,company")] PaymentsAppliedPaymentsLineItemsPurchaseOrdersCompany, @@ -4330,6 +9013,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsPurchaseOrdersCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_payments,line_items,purchase_orders,company,employee")] PaymentsAppliedPaymentsLineItemsPurchaseOrdersCompanyEmployee, @@ -4338,6 +9026,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsPurchaseOrdersCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,company,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,company,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersCompanyPaymentTerm, + [EnumMember(Value = "payments,applied_payments,line_items,purchase_orders,contact")] PaymentsAppliedPaymentsLineItemsPurchaseOrdersContact, @@ -4346,6 +9049,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsPurchaseOrdersContactAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,contact,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_payments,line_items,purchase_orders,contact,company")] PaymentsAppliedPaymentsLineItemsPurchaseOrdersContactCompany, @@ -4354,6 +9062,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsPurchaseOrdersContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,contact,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,purchase_orders,contact,company,employee" )] @@ -4364,6 +9077,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsPurchaseOrdersContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,contact,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,contact,company,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,contact,company,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersContactCompanyPaymentTerm, + [EnumMember(Value = "payments,applied_payments,line_items,purchase_orders,contact,employee")] PaymentsAppliedPaymentsLineItemsPurchaseOrdersContactEmployee, @@ -4372,6 +9100,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsPurchaseOrdersContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,contact,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,contact,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,contact,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersContactPaymentTerm, + [EnumMember(Value = "payments,applied_payments,line_items,purchase_orders,employee")] PaymentsAppliedPaymentsLineItemsPurchaseOrdersEmployee, @@ -4380,6 +9123,19 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsPurchaseOrdersEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersEmployeePaymentTerm, + + [EnumMember(Value = "payments,applied_payments,line_items,purchase_orders,payment_term")] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersPaymentTerm, + [EnumMember(Value = "payments,applied_payments,line_items,tracking_categories")] PaymentsAppliedPaymentsLineItemsTrackingCategories, @@ -4388,6 +9144,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes" )] @@ -4398,6 +9159,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits" )] @@ -4408,6 +9174,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company" )] @@ -4418,6 +9189,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee" )] @@ -4428,6 +9204,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact" )] @@ -4438,6 +9229,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company" )] @@ -4448,6 +9244,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee" )] @@ -4458,6 +9259,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee" )] @@ -4468,6 +9284,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,employee" )] @@ -4478,6 +9309,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,company" )] @@ -4488,6 +9334,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,company,employee" )] @@ -4498,6 +9349,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,company,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,company,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,contact" )] @@ -4508,6 +9374,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,contact,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,contact,company" )] @@ -4518,6 +9389,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,contact,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,contact,company,employee" )] @@ -4528,6 +9404,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,contact,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,contact,company,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,contact,company,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,contact,employee" )] @@ -4538,6 +9429,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,contact,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,contact,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,contact,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,employee" )] @@ -4548,6 +9454,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits" )] @@ -4558,6 +9479,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,company" )] @@ -4568,6 +9494,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,company,employee" )] @@ -4578,6 +9509,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,company,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,company,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,contact" )] @@ -4588,6 +9534,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,company" )] @@ -4598,6 +9549,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,company,employee" )] @@ -4608,6 +9564,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,company,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,company,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,employee" )] @@ -4618,6 +9589,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,employee" )] @@ -4628,6 +9614,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "payments,applied_payments,line_items,tracking_categories,company")] PaymentsAppliedPaymentsLineItemsTrackingCategoriesCompany, @@ -4636,6 +9637,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,company,employee" )] @@ -4646,6 +9652,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,company,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,company,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesCompanyPaymentTerm, + [EnumMember(Value = "payments,applied_payments,line_items,tracking_categories,contact")] PaymentsAppliedPaymentsLineItemsTrackingCategoriesContact, @@ -4654,6 +9675,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesContactAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,contact,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_payments,line_items,tracking_categories,contact,company")] PaymentsAppliedPaymentsLineItemsTrackingCategoriesContactCompany, @@ -4662,6 +9688,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,contact,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,contact,company,employee" )] @@ -4672,6 +9703,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,contact,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,contact,company,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,contact,company,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesContactCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,contact,employee" )] @@ -4682,6 +9728,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,contact,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,contact,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,contact,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesContactPaymentTerm, + [EnumMember(Value = "payments,applied_payments,line_items,tracking_categories,employee")] PaymentsAppliedPaymentsLineItemsTrackingCategoriesEmployee, @@ -4690,6 +9751,19 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesEmployeePaymentTerm, + + [EnumMember(Value = "payments,applied_payments,line_items,tracking_categories,payment_term")] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPaymentTerm, + [EnumMember(Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders")] PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrders, @@ -4698,6 +9772,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes" )] @@ -4708,6 +9787,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits" )] @@ -4718,6 +9802,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company" )] @@ -4728,6 +9817,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee" )] @@ -4738,6 +9832,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact" )] @@ -4748,6 +9857,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company" )] @@ -4758,6 +9872,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee" )] @@ -4768,6 +9887,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee" )] @@ -4778,6 +9912,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee" )] @@ -4788,6 +9937,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company" )] @@ -4798,6 +9962,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company,employee" )] @@ -4808,6 +9977,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact" )] @@ -4818,6 +10002,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company" )] @@ -4828,6 +10017,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee" )] @@ -4838,6 +10032,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,employee" )] @@ -4848,6 +10057,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,employee" )] @@ -4858,6 +10082,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits" )] @@ -4868,6 +10107,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,company" )] @@ -4878,6 +10122,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,company,employee" )] @@ -4888,6 +10137,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,company,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,company,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact" )] @@ -4898,6 +10162,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company" )] @@ -4908,6 +10177,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee" )] @@ -4918,6 +10192,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee" )] @@ -4928,6 +10217,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,employee" )] @@ -4938,6 +10242,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,company" )] @@ -4948,6 +10267,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,company,employee" )] @@ -4958,6 +10282,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,company,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,company,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,contact" )] @@ -4969,24 +10308,49 @@ public enum InvoicesListRequestExpand PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersContactAccountingPeriod, [EnumMember( - Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,contact,company" + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,contact,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersContactAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,contact,company" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersContactCompany, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,contact,company,accounting_period" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersContactCompanyAccountingPeriod, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,contact,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersContactCompanyAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,contact,company,employee" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersContactCompanyEmployee, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,contact,company,employee,accounting_period" )] - PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersContactCompany, + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersContactCompanyEmployeeAccountingPeriod, [EnumMember( - Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,contact,company,accounting_period" + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,contact,company,employee,accounting_period,payment_term" )] - PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersContactCompanyAccountingPeriod, + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersContactCompanyEmployeeAccountingPeriodPaymentTerm, [EnumMember( - Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,contact,company,employee" + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,contact,company,employee,payment_term" )] - PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersContactCompanyEmployee, + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersContactCompanyEmployeePaymentTerm, [EnumMember( - Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,contact,company,employee,accounting_period" + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,contact,company,payment_term" )] - PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersContactCompanyEmployeeAccountingPeriod, + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersContactCompanyPaymentTerm, [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,contact,employee" @@ -4998,6 +10362,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,contact,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,contact,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,contact,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersContactPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,employee" )] @@ -5008,12 +10387,33 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersPaymentTerm, + + [EnumMember(Value = "payments,applied_payments,payment_term")] + PaymentsAppliedPaymentsPaymentTerm, + [EnumMember(Value = "payments,applied_payments,purchase_orders")] PaymentsAppliedPaymentsPurchaseOrders, [EnumMember(Value = "payments,applied_payments,purchase_orders,accounting_period")] PaymentsAppliedPaymentsPurchaseOrdersAccountingPeriod, + [EnumMember(Value = "payments,applied_payments,purchase_orders,accounting_period,payment_term")] + PaymentsAppliedPaymentsPurchaseOrdersAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_payments,purchase_orders,applied_credit_notes")] PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotes, @@ -5022,6 +10422,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_credit_notes,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits" )] @@ -5032,6 +10437,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,company" )] @@ -5042,6 +10452,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee" )] @@ -5052,6 +10467,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,company,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact" )] @@ -5062,6 +10492,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company" )] @@ -5072,6 +10507,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee" )] @@ -5082,6 +10522,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee" )] @@ -5092,6 +10547,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactPaymentTerm, + [EnumMember( Value = "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,employee" )] @@ -5102,6 +10572,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "payments,applied_payments,purchase_orders,applied_credit_notes,company")] PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesCompany, @@ -5110,6 +10595,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_credit_notes,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,purchase_orders,applied_credit_notes,company,employee" )] @@ -5120,6 +10610,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_credit_notes,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_credit_notes,company,employee,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_credit_notes,company,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesCompanyPaymentTerm, + [EnumMember(Value = "payments,applied_payments,purchase_orders,applied_credit_notes,contact")] PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesContact, @@ -5128,6 +10633,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesContactAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_credit_notes,contact,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,purchase_orders,applied_credit_notes,contact,company" )] @@ -5138,6 +10648,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_credit_notes,contact,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,purchase_orders,applied_credit_notes,contact,company,employee" )] @@ -5148,6 +10663,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_credit_notes,contact,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_credit_notes,contact,company,employee,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_credit_notes,contact,company,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesContactCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,purchase_orders,applied_credit_notes,contact,employee" )] @@ -5158,6 +10688,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_credit_notes,contact,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_credit_notes,contact,employee,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_credit_notes,contact,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesContactPaymentTerm, + [EnumMember(Value = "payments,applied_payments,purchase_orders,applied_credit_notes,employee")] PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesEmployee, @@ -5166,6 +10711,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_credit_notes,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_credit_notes,employee,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_credit_notes,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesPaymentTerm, + [EnumMember(Value = "payments,applied_payments,purchase_orders,applied_vendor_credits")] PaymentsAppliedPaymentsPurchaseOrdersAppliedVendorCredits, @@ -5174,6 +10734,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsPurchaseOrdersAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_vendor_credits,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_payments,purchase_orders,applied_vendor_credits,company")] PaymentsAppliedPaymentsPurchaseOrdersAppliedVendorCreditsCompany, @@ -5182,6 +10747,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsPurchaseOrdersAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_vendor_credits,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,purchase_orders,applied_vendor_credits,company,employee" )] @@ -5192,6 +10762,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsPurchaseOrdersAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_vendor_credits,company,employee,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_vendor_credits,company,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember(Value = "payments,applied_payments,purchase_orders,applied_vendor_credits,contact")] PaymentsAppliedPaymentsPurchaseOrdersAppliedVendorCreditsContact, @@ -5200,6 +10785,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsPurchaseOrdersAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_vendor_credits,contact,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,purchase_orders,applied_vendor_credits,contact,company" )] @@ -5210,6 +10800,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsPurchaseOrdersAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,purchase_orders,applied_vendor_credits,contact,company,employee" )] @@ -5220,6 +10815,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_vendor_credits,contact,company,employee,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_vendor_credits,contact,company,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,purchase_orders,applied_vendor_credits,contact,employee" )] @@ -5230,6 +10840,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsPurchaseOrdersAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_vendor_credits,contact,employee,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_vendor_credits,contact,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedVendorCreditsContactPaymentTerm, + [EnumMember( Value = "payments,applied_payments,purchase_orders,applied_vendor_credits,employee" )] @@ -5240,12 +10865,32 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsPurchaseOrdersAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_vendor_credits,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_vendor_credits,employee,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_vendor_credits,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "payments,applied_payments,purchase_orders,company")] PaymentsAppliedPaymentsPurchaseOrdersCompany, [EnumMember(Value = "payments,applied_payments,purchase_orders,company,accounting_period")] PaymentsAppliedPaymentsPurchaseOrdersCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,purchase_orders,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_payments,purchase_orders,company,employee")] PaymentsAppliedPaymentsPurchaseOrdersCompanyEmployee, @@ -5254,12 +10899,28 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsPurchaseOrdersCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,purchase_orders,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,applied_payments,purchase_orders,company,employee,payment_term")] + PaymentsAppliedPaymentsPurchaseOrdersCompanyEmployeePaymentTerm, + + [EnumMember(Value = "payments,applied_payments,purchase_orders,company,payment_term")] + PaymentsAppliedPaymentsPurchaseOrdersCompanyPaymentTerm, + [EnumMember(Value = "payments,applied_payments,purchase_orders,contact")] PaymentsAppliedPaymentsPurchaseOrdersContact, [EnumMember(Value = "payments,applied_payments,purchase_orders,contact,accounting_period")] PaymentsAppliedPaymentsPurchaseOrdersContactAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,purchase_orders,contact,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_payments,purchase_orders,contact,company")] PaymentsAppliedPaymentsPurchaseOrdersContactCompany, @@ -5268,6 +10929,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsPurchaseOrdersContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,purchase_orders,contact,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_payments,purchase_orders,contact,company,employee")] PaymentsAppliedPaymentsPurchaseOrdersContactCompanyEmployee, @@ -5276,6 +10942,19 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsPurchaseOrdersContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,purchase_orders,contact,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,purchase_orders,contact,company,employee,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "payments,applied_payments,purchase_orders,contact,company,payment_term")] + PaymentsAppliedPaymentsPurchaseOrdersContactCompanyPaymentTerm, + [EnumMember(Value = "payments,applied_payments,purchase_orders,contact,employee")] PaymentsAppliedPaymentsPurchaseOrdersContactEmployee, @@ -5284,18 +10963,45 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsPurchaseOrdersContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,purchase_orders,contact,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,applied_payments,purchase_orders,contact,employee,payment_term")] + PaymentsAppliedPaymentsPurchaseOrdersContactEmployeePaymentTerm, + + [EnumMember(Value = "payments,applied_payments,purchase_orders,contact,payment_term")] + PaymentsAppliedPaymentsPurchaseOrdersContactPaymentTerm, + [EnumMember(Value = "payments,applied_payments,purchase_orders,employee")] PaymentsAppliedPaymentsPurchaseOrdersEmployee, [EnumMember(Value = "payments,applied_payments,purchase_orders,employee,accounting_period")] PaymentsAppliedPaymentsPurchaseOrdersEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,purchase_orders,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,applied_payments,purchase_orders,employee,payment_term")] + PaymentsAppliedPaymentsPurchaseOrdersEmployeePaymentTerm, + + [EnumMember(Value = "payments,applied_payments,purchase_orders,payment_term")] + PaymentsAppliedPaymentsPurchaseOrdersPaymentTerm, + [EnumMember(Value = "payments,applied_payments,tracking_categories")] PaymentsAppliedPaymentsTrackingCategories, [EnumMember(Value = "payments,applied_payments,tracking_categories,accounting_period")] PaymentsAppliedPaymentsTrackingCategoriesAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_payments,tracking_categories,applied_credit_notes")] PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotes, @@ -5304,6 +11010,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_credit_notes,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits" )] @@ -5314,6 +11025,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,company" )] @@ -5324,6 +11040,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee" )] @@ -5334,6 +11055,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,company,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact" )] @@ -5344,6 +11080,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company" )] @@ -5354,25 +11095,60 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee" )] PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployee, [EnumMember( - Value = "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period" + Value = "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactEmployee, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period,payment_term" )] - PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, [EnumMember( - Value = "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee" + Value = "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee,payment_term" )] - PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactEmployee, + PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactEmployeePaymentTerm, [EnumMember( - Value = "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period" + Value = "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,payment_term" )] - PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, + PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactPaymentTerm, [EnumMember( Value = "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,employee" @@ -5384,6 +11160,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,employee,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,applied_credit_notes,company" )] @@ -5394,6 +11185,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_credit_notes,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,applied_credit_notes,company,employee" )] @@ -5404,6 +11200,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_credit_notes,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_credit_notes,company,employee,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_credit_notes,company,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,applied_credit_notes,contact" )] @@ -5414,6 +11225,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesContactAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_credit_notes,contact,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,applied_credit_notes,contact,company" )] @@ -5424,6 +11240,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_credit_notes,contact,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,applied_credit_notes,contact,company,employee" )] @@ -5434,6 +11255,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_credit_notes,contact,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_credit_notes,contact,company,employee,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_credit_notes,contact,company,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesContactCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,applied_credit_notes,contact,employee" )] @@ -5444,6 +11280,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_credit_notes,contact,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_credit_notes,contact,employee,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_credit_notes,contact,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesContactPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,applied_credit_notes,employee" )] @@ -5454,6 +11305,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_credit_notes,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_credit_notes,employee,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_credit_notes,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesPaymentTerm, + [EnumMember(Value = "payments,applied_payments,tracking_categories,applied_vendor_credits")] PaymentsAppliedPaymentsTrackingCategoriesAppliedVendorCredits, @@ -5462,6 +11328,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_vendor_credits,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,applied_vendor_credits,company" )] @@ -5472,6 +11343,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_vendor_credits,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,applied_vendor_credits,company,employee" )] @@ -5482,6 +11358,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_vendor_credits,company,employee,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_vendor_credits,company,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,applied_vendor_credits,contact" )] @@ -5492,6 +11383,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_vendor_credits,contact,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,applied_vendor_credits,contact,company" )] @@ -5502,6 +11398,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,applied_vendor_credits,contact,company,employee" )] @@ -5512,6 +11413,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_vendor_credits,contact,company,employee,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_vendor_credits,contact,company,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,applied_vendor_credits,contact,employee" )] @@ -5522,6 +11438,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_vendor_credits,contact,employee,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_vendor_credits,contact,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedVendorCreditsContactPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,applied_vendor_credits,employee" )] @@ -5532,12 +11463,32 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_vendor_credits,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_vendor_credits,employee,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_vendor_credits,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "payments,applied_payments,tracking_categories,company")] PaymentsAppliedPaymentsTrackingCategoriesCompany, [EnumMember(Value = "payments,applied_payments,tracking_categories,company,accounting_period")] PaymentsAppliedPaymentsTrackingCategoriesCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_payments,tracking_categories,company,employee")] PaymentsAppliedPaymentsTrackingCategoriesCompanyEmployee, @@ -5546,12 +11497,30 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,company,employee,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesCompanyEmployeePaymentTerm, + + [EnumMember(Value = "payments,applied_payments,tracking_categories,company,payment_term")] + PaymentsAppliedPaymentsTrackingCategoriesCompanyPaymentTerm, + [EnumMember(Value = "payments,applied_payments,tracking_categories,contact")] PaymentsAppliedPaymentsTrackingCategoriesContact, [EnumMember(Value = "payments,applied_payments,tracking_categories,contact,accounting_period")] PaymentsAppliedPaymentsTrackingCategoriesContactAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,contact,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_payments,tracking_categories,contact,company")] PaymentsAppliedPaymentsTrackingCategoriesContactCompany, @@ -5560,6 +11529,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,contact,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_payments,tracking_categories,contact,company,employee")] PaymentsAppliedPaymentsTrackingCategoriesContactCompanyEmployee, @@ -5568,6 +11542,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,contact,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,contact,company,employee,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,contact,company,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesContactCompanyPaymentTerm, + [EnumMember(Value = "payments,applied_payments,tracking_categories,contact,employee")] PaymentsAppliedPaymentsTrackingCategoriesContactEmployee, @@ -5576,12 +11565,36 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,contact,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,contact,employee,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesContactEmployeePaymentTerm, + + [EnumMember(Value = "payments,applied_payments,tracking_categories,contact,payment_term")] + PaymentsAppliedPaymentsTrackingCategoriesContactPaymentTerm, + [EnumMember(Value = "payments,applied_payments,tracking_categories,employee")] PaymentsAppliedPaymentsTrackingCategoriesEmployee, [EnumMember(Value = "payments,applied_payments,tracking_categories,employee,accounting_period")] PaymentsAppliedPaymentsTrackingCategoriesEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,applied_payments,tracking_categories,employee,payment_term")] + PaymentsAppliedPaymentsTrackingCategoriesEmployeePaymentTerm, + + [EnumMember(Value = "payments,applied_payments,tracking_categories,payment_term")] + PaymentsAppliedPaymentsTrackingCategoriesPaymentTerm, + [EnumMember(Value = "payments,applied_payments,tracking_categories,purchase_orders")] PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrders, @@ -5590,6 +11603,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes" )] @@ -5600,6 +11618,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits" )] @@ -5610,6 +11633,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company" )] @@ -5620,6 +11648,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee" )] @@ -5630,6 +11663,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact" )] @@ -5640,6 +11688,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company" )] @@ -5650,6 +11703,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee" )] @@ -5660,6 +11718,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee" )] @@ -5670,6 +11743,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee" )] @@ -5680,6 +11768,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,company" )] @@ -5690,6 +11793,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,company,employee" )] @@ -5700,6 +11808,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,company,employee,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,company,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact" )] @@ -5711,44 +11834,99 @@ public enum InvoicesListRequestExpand PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactAccountingPeriod, [EnumMember( - Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company" + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompany, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company,accounting_period" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyAccountingPeriod, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyEmployee, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee,accounting_period" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyEmployeeAccountingPeriod, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,employee" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactEmployee, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,employee,accounting_period" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactEmployeeAccountingPeriod, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,employee,accounting_period,payment_term" )] - PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompany, + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactEmployeeAccountingPeriodPaymentTerm, [EnumMember( - Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company,accounting_period" + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,employee,payment_term" )] - PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyAccountingPeriod, + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactEmployeePaymentTerm, [EnumMember( - Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee" + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,payment_term" )] - PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyEmployee, + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactPaymentTerm, [EnumMember( - Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee,accounting_period" + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,employee" )] - PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyEmployeeAccountingPeriod, + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesEmployee, [EnumMember( - Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,employee" + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,employee,accounting_period" )] - PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactEmployee, + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesEmployeeAccountingPeriod, [EnumMember( - Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,employee,accounting_period" + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,employee,accounting_period,payment_term" )] - PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactEmployeeAccountingPeriod, + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesEmployeeAccountingPeriodPaymentTerm, [EnumMember( - Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,employee" + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,employee,payment_term" )] - PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesEmployee, + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesEmployeePaymentTerm, [EnumMember( - Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,employee,accounting_period" + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,payment_term" )] - PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesEmployeeAccountingPeriod, + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesPaymentTerm, [EnumMember( Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits" @@ -5760,6 +11938,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,company" )] @@ -5770,6 +11953,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,company,employee" )] @@ -5780,6 +11968,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,company,employee,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,company,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact" )] @@ -5790,6 +11993,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,company" )] @@ -5800,6 +12008,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee" )] @@ -5810,6 +12023,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee" )] @@ -5820,6 +12048,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,employee" )] @@ -5830,6 +12073,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,employee,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "payments,applied_payments,tracking_categories,purchase_orders,company")] PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersCompany, @@ -5838,6 +12096,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,purchase_orders,company,employee" )] @@ -5848,6 +12111,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,company,employee,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,company,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersCompanyPaymentTerm, + [EnumMember(Value = "payments,applied_payments,tracking_categories,purchase_orders,contact")] PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersContact, @@ -5856,6 +12134,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersContactAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,contact,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,purchase_orders,contact,company" )] @@ -5866,6 +12149,11 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,contact,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,purchase_orders,contact,company,employee" )] @@ -5876,6 +12164,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,contact,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,contact,company,employee,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,contact,company,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersContactCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,purchase_orders,contact,employee" )] @@ -5886,6 +12189,21 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,contact,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,contact,employee,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,contact,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersContactPaymentTerm, + [EnumMember(Value = "payments,applied_payments,tracking_categories,purchase_orders,employee")] PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersEmployee, @@ -5894,36 +12212,76 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,employee,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersPaymentTerm, + [EnumMember(Value = "payments,applied_vendor_credits")] PaymentsAppliedVendorCredits, [EnumMember(Value = "payments,applied_vendor_credits,accounting_period")] PaymentsAppliedVendorCreditsAccountingPeriod, + [EnumMember(Value = "payments,applied_vendor_credits,accounting_period,payment_term")] + PaymentsAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_vendor_credits,company")] PaymentsAppliedVendorCreditsCompany, [EnumMember(Value = "payments,applied_vendor_credits,company,accounting_period")] PaymentsAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember(Value = "payments,applied_vendor_credits,company,accounting_period,payment_term")] + PaymentsAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_vendor_credits,company,employee")] PaymentsAppliedVendorCreditsCompanyEmployee, [EnumMember(Value = "payments,applied_vendor_credits,company,employee,accounting_period")] PaymentsAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,applied_vendor_credits,company,employee,payment_term")] + PaymentsAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember(Value = "payments,applied_vendor_credits,company,payment_term")] + PaymentsAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember(Value = "payments,applied_vendor_credits,contact")] PaymentsAppliedVendorCreditsContact, [EnumMember(Value = "payments,applied_vendor_credits,contact,accounting_period")] PaymentsAppliedVendorCreditsContactAccountingPeriod, + [EnumMember(Value = "payments,applied_vendor_credits,contact,accounting_period,payment_term")] + PaymentsAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_vendor_credits,contact,company")] PaymentsAppliedVendorCreditsContactCompany, [EnumMember(Value = "payments,applied_vendor_credits,contact,company,accounting_period")] PaymentsAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + PaymentsAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_vendor_credits,contact,company,employee")] PaymentsAppliedVendorCreditsContactCompanyEmployee, @@ -5932,72 +12290,151 @@ public enum InvoicesListRequestExpand )] PaymentsAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,applied_vendor_credits,contact,company,employee,payment_term")] + PaymentsAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "payments,applied_vendor_credits,contact,company,payment_term")] + PaymentsAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember(Value = "payments,applied_vendor_credits,contact,employee")] PaymentsAppliedVendorCreditsContactEmployee, [EnumMember(Value = "payments,applied_vendor_credits,contact,employee,accounting_period")] PaymentsAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + PaymentsAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,applied_vendor_credits,contact,employee,payment_term")] + PaymentsAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember(Value = "payments,applied_vendor_credits,contact,payment_term")] + PaymentsAppliedVendorCreditsContactPaymentTerm, + [EnumMember(Value = "payments,applied_vendor_credits,employee")] PaymentsAppliedVendorCreditsEmployee, [EnumMember(Value = "payments,applied_vendor_credits,employee,accounting_period")] PaymentsAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember(Value = "payments,applied_vendor_credits,employee,accounting_period,payment_term")] + PaymentsAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,applied_vendor_credits,employee,payment_term")] + PaymentsAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember(Value = "payments,applied_vendor_credits,payment_term")] + PaymentsAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "payments,company")] PaymentsCompany, [EnumMember(Value = "payments,company,accounting_period")] PaymentsCompanyAccountingPeriod, + [EnumMember(Value = "payments,company,accounting_period,payment_term")] + PaymentsCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,company,employee")] PaymentsCompanyEmployee, [EnumMember(Value = "payments,company,employee,accounting_period")] PaymentsCompanyEmployeeAccountingPeriod, + [EnumMember(Value = "payments,company,employee,accounting_period,payment_term")] + PaymentsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,company,employee,payment_term")] + PaymentsCompanyEmployeePaymentTerm, + + [EnumMember(Value = "payments,company,payment_term")] + PaymentsCompanyPaymentTerm, + [EnumMember(Value = "payments,contact")] PaymentsContact, [EnumMember(Value = "payments,contact,accounting_period")] PaymentsContactAccountingPeriod, + [EnumMember(Value = "payments,contact,accounting_period,payment_term")] + PaymentsContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,contact,company")] PaymentsContactCompany, [EnumMember(Value = "payments,contact,company,accounting_period")] PaymentsContactCompanyAccountingPeriod, + [EnumMember(Value = "payments,contact,company,accounting_period,payment_term")] + PaymentsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,contact,company,employee")] PaymentsContactCompanyEmployee, [EnumMember(Value = "payments,contact,company,employee,accounting_period")] PaymentsContactCompanyEmployeeAccountingPeriod, + [EnumMember(Value = "payments,contact,company,employee,accounting_period,payment_term")] + PaymentsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,contact,company,employee,payment_term")] + PaymentsContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "payments,contact,company,payment_term")] + PaymentsContactCompanyPaymentTerm, + [EnumMember(Value = "payments,contact,employee")] PaymentsContactEmployee, [EnumMember(Value = "payments,contact,employee,accounting_period")] PaymentsContactEmployeeAccountingPeriod, + [EnumMember(Value = "payments,contact,employee,accounting_period,payment_term")] + PaymentsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,contact,employee,payment_term")] + PaymentsContactEmployeePaymentTerm, + + [EnumMember(Value = "payments,contact,payment_term")] + PaymentsContactPaymentTerm, + [EnumMember(Value = "payments,employee")] PaymentsEmployee, [EnumMember(Value = "payments,employee,accounting_period")] PaymentsEmployeeAccountingPeriod, + [EnumMember(Value = "payments,employee,accounting_period,payment_term")] + PaymentsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,employee,payment_term")] + PaymentsEmployeePaymentTerm, + [EnumMember(Value = "payments,line_items")] PaymentsLineItems, [EnumMember(Value = "payments,line_items,accounting_period")] PaymentsLineItemsAccountingPeriod, + [EnumMember(Value = "payments,line_items,accounting_period,payment_term")] + PaymentsLineItemsAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,line_items,applied_credit_notes")] PaymentsLineItemsAppliedCreditNotes, [EnumMember(Value = "payments,line_items,applied_credit_notes,accounting_period")] PaymentsLineItemsAppliedCreditNotesAccountingPeriod, + [EnumMember(Value = "payments,line_items,applied_credit_notes,accounting_period,payment_term")] + PaymentsLineItemsAppliedCreditNotesAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,line_items,applied_credit_notes,applied_vendor_credits")] PaymentsLineItemsAppliedCreditNotesAppliedVendorCredits, @@ -6006,6 +12443,11 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "payments,line_items,applied_credit_notes,applied_vendor_credits,accounting_period,payment_term" + )] + PaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,line_items,applied_credit_notes,applied_vendor_credits,company")] PaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsCompany, @@ -6014,6 +12456,11 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "payments,line_items,applied_credit_notes,applied_vendor_credits,company,accounting_period,payment_term" + )] + PaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,line_items,applied_credit_notes,applied_vendor_credits,company,employee" )] @@ -6024,6 +12471,21 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + PaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,applied_credit_notes,applied_vendor_credits,company,employee,payment_term" + )] + PaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,applied_credit_notes,applied_vendor_credits,company,payment_term" + )] + PaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember(Value = "payments,line_items,applied_credit_notes,applied_vendor_credits,contact")] PaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContact, @@ -6032,6 +12494,11 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "payments,line_items,applied_credit_notes,applied_vendor_credits,contact,accounting_period,payment_term" + )] + PaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,line_items,applied_credit_notes,applied_vendor_credits,contact,company" )] @@ -6042,6 +12509,11 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,line_items,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + PaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,line_items,applied_credit_notes,applied_vendor_credits,contact,company,employee" )] @@ -6052,6 +12524,21 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + PaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,applied_credit_notes,applied_vendor_credits,contact,company,employee,payment_term" + )] + PaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,applied_credit_notes,applied_vendor_credits,contact,company,payment_term" + )] + PaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "payments,line_items,applied_credit_notes,applied_vendor_credits,contact,employee" )] @@ -6062,6 +12549,21 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + PaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,applied_credit_notes,applied_vendor_credits,contact,employee,payment_term" + )] + PaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,applied_credit_notes,applied_vendor_credits,contact,payment_term" + )] + PaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactPaymentTerm, + [EnumMember(Value = "payments,line_items,applied_credit_notes,applied_vendor_credits,employee")] PaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsEmployee, @@ -6070,12 +12572,32 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,applied_credit_notes,applied_vendor_credits,employee,accounting_period,payment_term" + )] + PaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,applied_credit_notes,applied_vendor_credits,employee,payment_term" + )] + PaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,applied_credit_notes,applied_vendor_credits,payment_term" + )] + PaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "payments,line_items,applied_credit_notes,company")] PaymentsLineItemsAppliedCreditNotesCompany, [EnumMember(Value = "payments,line_items,applied_credit_notes,company,accounting_period")] PaymentsLineItemsAppliedCreditNotesCompanyAccountingPeriod, + [EnumMember( + Value = "payments,line_items,applied_credit_notes,company,accounting_period,payment_term" + )] + PaymentsLineItemsAppliedCreditNotesCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,line_items,applied_credit_notes,company,employee")] PaymentsLineItemsAppliedCreditNotesCompanyEmployee, @@ -6084,12 +12606,28 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsAppliedCreditNotesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,applied_credit_notes,company,employee,accounting_period,payment_term" + )] + PaymentsLineItemsAppliedCreditNotesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,line_items,applied_credit_notes,company,employee,payment_term")] + PaymentsLineItemsAppliedCreditNotesCompanyEmployeePaymentTerm, + + [EnumMember(Value = "payments,line_items,applied_credit_notes,company,payment_term")] + PaymentsLineItemsAppliedCreditNotesCompanyPaymentTerm, + [EnumMember(Value = "payments,line_items,applied_credit_notes,contact")] PaymentsLineItemsAppliedCreditNotesContact, [EnumMember(Value = "payments,line_items,applied_credit_notes,contact,accounting_period")] PaymentsLineItemsAppliedCreditNotesContactAccountingPeriod, + [EnumMember( + Value = "payments,line_items,applied_credit_notes,contact,accounting_period,payment_term" + )] + PaymentsLineItemsAppliedCreditNotesContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,line_items,applied_credit_notes,contact,company")] PaymentsLineItemsAppliedCreditNotesContactCompany, @@ -6098,6 +12636,11 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsAppliedCreditNotesContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,line_items,applied_credit_notes,contact,company,accounting_period,payment_term" + )] + PaymentsLineItemsAppliedCreditNotesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,line_items,applied_credit_notes,contact,company,employee")] PaymentsLineItemsAppliedCreditNotesContactCompanyEmployee, @@ -6106,6 +12649,19 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsAppliedCreditNotesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,applied_credit_notes,contact,company,employee,accounting_period,payment_term" + )] + PaymentsLineItemsAppliedCreditNotesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,applied_credit_notes,contact,company,employee,payment_term" + )] + PaymentsLineItemsAppliedCreditNotesContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "payments,line_items,applied_credit_notes,contact,company,payment_term")] + PaymentsLineItemsAppliedCreditNotesContactCompanyPaymentTerm, + [EnumMember(Value = "payments,line_items,applied_credit_notes,contact,employee")] PaymentsLineItemsAppliedCreditNotesContactEmployee, @@ -6114,24 +12670,56 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsAppliedCreditNotesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,applied_credit_notes,contact,employee,accounting_period,payment_term" + )] + PaymentsLineItemsAppliedCreditNotesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,line_items,applied_credit_notes,contact,employee,payment_term")] + PaymentsLineItemsAppliedCreditNotesContactEmployeePaymentTerm, + + [EnumMember(Value = "payments,line_items,applied_credit_notes,contact,payment_term")] + PaymentsLineItemsAppliedCreditNotesContactPaymentTerm, + [EnumMember(Value = "payments,line_items,applied_credit_notes,employee")] PaymentsLineItemsAppliedCreditNotesEmployee, [EnumMember(Value = "payments,line_items,applied_credit_notes,employee,accounting_period")] PaymentsLineItemsAppliedCreditNotesEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,applied_credit_notes,employee,accounting_period,payment_term" + )] + PaymentsLineItemsAppliedCreditNotesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,line_items,applied_credit_notes,employee,payment_term")] + PaymentsLineItemsAppliedCreditNotesEmployeePaymentTerm, + + [EnumMember(Value = "payments,line_items,applied_credit_notes,payment_term")] + PaymentsLineItemsAppliedCreditNotesPaymentTerm, + [EnumMember(Value = "payments,line_items,applied_vendor_credits")] PaymentsLineItemsAppliedVendorCredits, [EnumMember(Value = "payments,line_items,applied_vendor_credits,accounting_period")] PaymentsLineItemsAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "payments,line_items,applied_vendor_credits,accounting_period,payment_term" + )] + PaymentsLineItemsAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,line_items,applied_vendor_credits,company")] PaymentsLineItemsAppliedVendorCreditsCompany, [EnumMember(Value = "payments,line_items,applied_vendor_credits,company,accounting_period")] PaymentsLineItemsAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "payments,line_items,applied_vendor_credits,company,accounting_period,payment_term" + )] + PaymentsLineItemsAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,line_items,applied_vendor_credits,company,employee")] PaymentsLineItemsAppliedVendorCreditsCompanyEmployee, @@ -6140,12 +12728,28 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + PaymentsLineItemsAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,line_items,applied_vendor_credits,company,employee,payment_term")] + PaymentsLineItemsAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember(Value = "payments,line_items,applied_vendor_credits,company,payment_term")] + PaymentsLineItemsAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember(Value = "payments,line_items,applied_vendor_credits,contact")] PaymentsLineItemsAppliedVendorCreditsContact, [EnumMember(Value = "payments,line_items,applied_vendor_credits,contact,accounting_period")] PaymentsLineItemsAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "payments,line_items,applied_vendor_credits,contact,accounting_period,payment_term" + )] + PaymentsLineItemsAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,line_items,applied_vendor_credits,contact,company")] PaymentsLineItemsAppliedVendorCreditsContactCompany, @@ -6154,13 +12758,31 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,line_items,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + PaymentsLineItemsAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,line_items,applied_vendor_credits,contact,company,employee")] PaymentsLineItemsAppliedVendorCreditsContactCompanyEmployee, [EnumMember( Value = "payments,line_items,applied_vendor_credits,contact,company,employee,accounting_period" )] - PaymentsLineItemsAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + PaymentsLineItemsAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + + [EnumMember( + Value = "payments,line_items,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + PaymentsLineItemsAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,applied_vendor_credits,contact,company,employee,payment_term" + )] + PaymentsLineItemsAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "payments,line_items,applied_vendor_credits,contact,company,payment_term")] + PaymentsLineItemsAppliedVendorCreditsContactCompanyPaymentTerm, [EnumMember(Value = "payments,line_items,applied_vendor_credits,contact,employee")] PaymentsLineItemsAppliedVendorCreditsContactEmployee, @@ -6170,60 +12792,132 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + PaymentsLineItemsAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,line_items,applied_vendor_credits,contact,employee,payment_term")] + PaymentsLineItemsAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember(Value = "payments,line_items,applied_vendor_credits,contact,payment_term")] + PaymentsLineItemsAppliedVendorCreditsContactPaymentTerm, + [EnumMember(Value = "payments,line_items,applied_vendor_credits,employee")] PaymentsLineItemsAppliedVendorCreditsEmployee, [EnumMember(Value = "payments,line_items,applied_vendor_credits,employee,accounting_period")] PaymentsLineItemsAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,applied_vendor_credits,employee,accounting_period,payment_term" + )] + PaymentsLineItemsAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,line_items,applied_vendor_credits,employee,payment_term")] + PaymentsLineItemsAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember(Value = "payments,line_items,applied_vendor_credits,payment_term")] + PaymentsLineItemsAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "payments,line_items,company")] PaymentsLineItemsCompany, [EnumMember(Value = "payments,line_items,company,accounting_period")] PaymentsLineItemsCompanyAccountingPeriod, + [EnumMember(Value = "payments,line_items,company,accounting_period,payment_term")] + PaymentsLineItemsCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,line_items,company,employee")] PaymentsLineItemsCompanyEmployee, [EnumMember(Value = "payments,line_items,company,employee,accounting_period")] PaymentsLineItemsCompanyEmployeeAccountingPeriod, + [EnumMember(Value = "payments,line_items,company,employee,accounting_period,payment_term")] + PaymentsLineItemsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,line_items,company,employee,payment_term")] + PaymentsLineItemsCompanyEmployeePaymentTerm, + + [EnumMember(Value = "payments,line_items,company,payment_term")] + PaymentsLineItemsCompanyPaymentTerm, + [EnumMember(Value = "payments,line_items,contact")] PaymentsLineItemsContact, [EnumMember(Value = "payments,line_items,contact,accounting_period")] PaymentsLineItemsContactAccountingPeriod, + [EnumMember(Value = "payments,line_items,contact,accounting_period,payment_term")] + PaymentsLineItemsContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,line_items,contact,company")] PaymentsLineItemsContactCompany, [EnumMember(Value = "payments,line_items,contact,company,accounting_period")] PaymentsLineItemsContactCompanyAccountingPeriod, + [EnumMember(Value = "payments,line_items,contact,company,accounting_period,payment_term")] + PaymentsLineItemsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,line_items,contact,company,employee")] PaymentsLineItemsContactCompanyEmployee, [EnumMember(Value = "payments,line_items,contact,company,employee,accounting_period")] PaymentsLineItemsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,contact,company,employee,accounting_period,payment_term" + )] + PaymentsLineItemsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,line_items,contact,company,employee,payment_term")] + PaymentsLineItemsContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "payments,line_items,contact,company,payment_term")] + PaymentsLineItemsContactCompanyPaymentTerm, + [EnumMember(Value = "payments,line_items,contact,employee")] PaymentsLineItemsContactEmployee, [EnumMember(Value = "payments,line_items,contact,employee,accounting_period")] PaymentsLineItemsContactEmployeeAccountingPeriod, + [EnumMember(Value = "payments,line_items,contact,employee,accounting_period,payment_term")] + PaymentsLineItemsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,line_items,contact,employee,payment_term")] + PaymentsLineItemsContactEmployeePaymentTerm, + + [EnumMember(Value = "payments,line_items,contact,payment_term")] + PaymentsLineItemsContactPaymentTerm, + [EnumMember(Value = "payments,line_items,employee")] PaymentsLineItemsEmployee, [EnumMember(Value = "payments,line_items,employee,accounting_period")] PaymentsLineItemsEmployeeAccountingPeriod, + [EnumMember(Value = "payments,line_items,employee,accounting_period,payment_term")] + PaymentsLineItemsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,line_items,employee,payment_term")] + PaymentsLineItemsEmployeePaymentTerm, + + [EnumMember(Value = "payments,line_items,payment_term")] + PaymentsLineItemsPaymentTerm, + [EnumMember(Value = "payments,line_items,purchase_orders")] PaymentsLineItemsPurchaseOrders, [EnumMember(Value = "payments,line_items,purchase_orders,accounting_period")] PaymentsLineItemsPurchaseOrdersAccountingPeriod, + [EnumMember(Value = "payments,line_items,purchase_orders,accounting_period,payment_term")] + PaymentsLineItemsPurchaseOrdersAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,line_items,purchase_orders,applied_credit_notes")] PaymentsLineItemsPurchaseOrdersAppliedCreditNotes, @@ -6232,6 +12926,11 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsPurchaseOrdersAppliedCreditNotesAccountingPeriod, + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_credit_notes,accounting_period,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedCreditNotesAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits" )] @@ -6242,6 +12941,11 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,accounting_period,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company" )] @@ -6252,6 +12956,11 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company,accounting_period,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee" )] @@ -6262,6 +12971,21 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember( Value = "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact" )] @@ -6272,6 +12996,11 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,accounting_period,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company" )] @@ -6282,6 +13011,11 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee" )] @@ -6292,6 +13026,21 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee" )] @@ -6302,6 +13051,21 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactPaymentTerm, + [EnumMember( Value = "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,employee" )] @@ -6312,6 +13076,21 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "payments,line_items,purchase_orders,applied_credit_notes,company")] PaymentsLineItemsPurchaseOrdersAppliedCreditNotesCompany, @@ -6320,6 +13099,11 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsPurchaseOrdersAppliedCreditNotesCompanyAccountingPeriod, + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_credit_notes,company,accounting_period,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedCreditNotesCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,line_items,purchase_orders,applied_credit_notes,company,employee" )] @@ -6330,6 +13114,21 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsPurchaseOrdersAppliedCreditNotesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_credit_notes,company,employee,accounting_period,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedCreditNotesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_credit_notes,company,employee,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedCreditNotesCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_credit_notes,company,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedCreditNotesCompanyPaymentTerm, + [EnumMember(Value = "payments,line_items,purchase_orders,applied_credit_notes,contact")] PaymentsLineItemsPurchaseOrdersAppliedCreditNotesContact, @@ -6338,6 +13137,11 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactAccountingPeriod, + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_credit_notes,contact,accounting_period,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,line_items,purchase_orders,applied_credit_notes,contact,company")] PaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactCompany, @@ -6346,6 +13150,11 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_credit_notes,contact,company,accounting_period,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,line_items,purchase_orders,applied_credit_notes,contact,company,employee" )] @@ -6356,6 +13165,21 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_credit_notes,contact,company,employee,accounting_period,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_credit_notes,contact,company,employee,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_credit_notes,contact,company,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactCompanyPaymentTerm, + [EnumMember( Value = "payments,line_items,purchase_orders,applied_credit_notes,contact,employee" )] @@ -6366,6 +13190,21 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_credit_notes,contact,employee,accounting_period,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_credit_notes,contact,employee,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_credit_notes,contact,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactPaymentTerm, + [EnumMember(Value = "payments,line_items,purchase_orders,applied_credit_notes,employee")] PaymentsLineItemsPurchaseOrdersAppliedCreditNotesEmployee, @@ -6374,6 +13213,19 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsPurchaseOrdersAppliedCreditNotesEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_credit_notes,employee,accounting_period,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedCreditNotesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_credit_notes,employee,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedCreditNotesEmployeePaymentTerm, + + [EnumMember(Value = "payments,line_items,purchase_orders,applied_credit_notes,payment_term")] + PaymentsLineItemsPurchaseOrdersAppliedCreditNotesPaymentTerm, + [EnumMember(Value = "payments,line_items,purchase_orders,applied_vendor_credits")] PaymentsLineItemsPurchaseOrdersAppliedVendorCredits, @@ -6382,6 +13234,11 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsPurchaseOrdersAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_vendor_credits,accounting_period,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,line_items,purchase_orders,applied_vendor_credits,company")] PaymentsLineItemsPurchaseOrdersAppliedVendorCreditsCompany, @@ -6390,6 +13247,11 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsPurchaseOrdersAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_vendor_credits,company,accounting_period,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,line_items,purchase_orders,applied_vendor_credits,company,employee" )] @@ -6400,6 +13262,21 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsPurchaseOrdersAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_vendor_credits,company,employee,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_vendor_credits,company,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember(Value = "payments,line_items,purchase_orders,applied_vendor_credits,contact")] PaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContact, @@ -6408,6 +13285,11 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_vendor_credits,contact,accounting_period,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,line_items,purchase_orders,applied_vendor_credits,contact,company" )] @@ -6418,6 +13300,11 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,line_items,purchase_orders,applied_vendor_credits,contact,company,employee" )] @@ -6428,6 +13315,21 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_vendor_credits,contact,company,employee,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_vendor_credits,contact,company,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "payments,line_items,purchase_orders,applied_vendor_credits,contact,employee" )] @@ -6438,6 +13340,21 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_vendor_credits,contact,employee,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_vendor_credits,contact,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactPaymentTerm, + [EnumMember(Value = "payments,line_items,purchase_orders,applied_vendor_credits,employee")] PaymentsLineItemsPurchaseOrdersAppliedVendorCreditsEmployee, @@ -6446,30 +13363,69 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsPurchaseOrdersAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_vendor_credits,employee,accounting_period,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_vendor_credits,employee,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember(Value = "payments,line_items,purchase_orders,applied_vendor_credits,payment_term")] + PaymentsLineItemsPurchaseOrdersAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "payments,line_items,purchase_orders,company")] PaymentsLineItemsPurchaseOrdersCompany, [EnumMember(Value = "payments,line_items,purchase_orders,company,accounting_period")] PaymentsLineItemsPurchaseOrdersCompanyAccountingPeriod, + [EnumMember( + Value = "payments,line_items,purchase_orders,company,accounting_period,payment_term" + )] + PaymentsLineItemsPurchaseOrdersCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,line_items,purchase_orders,company,employee")] PaymentsLineItemsPurchaseOrdersCompanyEmployee, [EnumMember(Value = "payments,line_items,purchase_orders,company,employee,accounting_period")] PaymentsLineItemsPurchaseOrdersCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,purchase_orders,company,employee,accounting_period,payment_term" + )] + PaymentsLineItemsPurchaseOrdersCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,line_items,purchase_orders,company,employee,payment_term")] + PaymentsLineItemsPurchaseOrdersCompanyEmployeePaymentTerm, + + [EnumMember(Value = "payments,line_items,purchase_orders,company,payment_term")] + PaymentsLineItemsPurchaseOrdersCompanyPaymentTerm, + [EnumMember(Value = "payments,line_items,purchase_orders,contact")] PaymentsLineItemsPurchaseOrdersContact, [EnumMember(Value = "payments,line_items,purchase_orders,contact,accounting_period")] PaymentsLineItemsPurchaseOrdersContactAccountingPeriod, + [EnumMember( + Value = "payments,line_items,purchase_orders,contact,accounting_period,payment_term" + )] + PaymentsLineItemsPurchaseOrdersContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,line_items,purchase_orders,contact,company")] PaymentsLineItemsPurchaseOrdersContactCompany, [EnumMember(Value = "payments,line_items,purchase_orders,contact,company,accounting_period")] PaymentsLineItemsPurchaseOrdersContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,line_items,purchase_orders,contact,company,accounting_period,payment_term" + )] + PaymentsLineItemsPurchaseOrdersContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,line_items,purchase_orders,contact,company,employee")] PaymentsLineItemsPurchaseOrdersContactCompanyEmployee, @@ -6478,24 +13434,62 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsPurchaseOrdersContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,purchase_orders,contact,company,employee,accounting_period,payment_term" + )] + PaymentsLineItemsPurchaseOrdersContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,purchase_orders,contact,company,employee,payment_term" + )] + PaymentsLineItemsPurchaseOrdersContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "payments,line_items,purchase_orders,contact,company,payment_term")] + PaymentsLineItemsPurchaseOrdersContactCompanyPaymentTerm, + [EnumMember(Value = "payments,line_items,purchase_orders,contact,employee")] PaymentsLineItemsPurchaseOrdersContactEmployee, [EnumMember(Value = "payments,line_items,purchase_orders,contact,employee,accounting_period")] PaymentsLineItemsPurchaseOrdersContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,purchase_orders,contact,employee,accounting_period,payment_term" + )] + PaymentsLineItemsPurchaseOrdersContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,line_items,purchase_orders,contact,employee,payment_term")] + PaymentsLineItemsPurchaseOrdersContactEmployeePaymentTerm, + + [EnumMember(Value = "payments,line_items,purchase_orders,contact,payment_term")] + PaymentsLineItemsPurchaseOrdersContactPaymentTerm, + [EnumMember(Value = "payments,line_items,purchase_orders,employee")] PaymentsLineItemsPurchaseOrdersEmployee, [EnumMember(Value = "payments,line_items,purchase_orders,employee,accounting_period")] PaymentsLineItemsPurchaseOrdersEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,purchase_orders,employee,accounting_period,payment_term" + )] + PaymentsLineItemsPurchaseOrdersEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,line_items,purchase_orders,employee,payment_term")] + PaymentsLineItemsPurchaseOrdersEmployeePaymentTerm, + + [EnumMember(Value = "payments,line_items,purchase_orders,payment_term")] + PaymentsLineItemsPurchaseOrdersPaymentTerm, + [EnumMember(Value = "payments,line_items,tracking_categories")] PaymentsLineItemsTrackingCategories, [EnumMember(Value = "payments,line_items,tracking_categories,accounting_period")] PaymentsLineItemsTrackingCategoriesAccountingPeriod, + [EnumMember(Value = "payments,line_items,tracking_categories,accounting_period,payment_term")] + PaymentsLineItemsTrackingCategoriesAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,line_items,tracking_categories,applied_credit_notes")] PaymentsLineItemsTrackingCategoriesAppliedCreditNotes, @@ -6504,6 +13498,11 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_credit_notes,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits" )] @@ -6514,6 +13513,11 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company" )] @@ -6524,6 +13528,11 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee" )] @@ -6535,44 +13544,99 @@ public enum InvoicesListRequestExpand PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, [EnumMember( - Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact" + Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyPaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact" + )] + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContact, + + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,accounting_period" + )] + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriod, + + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company" + )] + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompany, + + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period" + )] + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriod, + + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee" + )] + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployee, + + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period" + )] + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" )] - PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContact, + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, [EnumMember( - Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,accounting_period" + Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee,payment_term" )] - PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriod, + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, [EnumMember( - Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company" + Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,payment_term" )] - PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompany, + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyPaymentTerm, [EnumMember( - Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period" + Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee" )] - PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriod, + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactEmployee, [EnumMember( - Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee" + Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period" )] - PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployee, + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, [EnumMember( - Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period" + Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period,payment_term" )] - PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, [EnumMember( - Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee" + Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee,payment_term" )] - PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactEmployee, + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactEmployeePaymentTerm, [EnumMember( - Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period" + Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,payment_term" )] - PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactPaymentTerm, [EnumMember( Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,employee" @@ -6584,6 +13648,21 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,employee,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,employee,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "payments,line_items,tracking_categories,applied_credit_notes,company")] PaymentsLineItemsTrackingCategoriesAppliedCreditNotesCompany, @@ -6592,6 +13671,11 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsTrackingCategoriesAppliedCreditNotesCompanyAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_credit_notes,company,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,line_items,tracking_categories,applied_credit_notes,company,employee" )] @@ -6602,6 +13686,21 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsTrackingCategoriesAppliedCreditNotesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_credit_notes,company,employee,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_credit_notes,company,employee,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_credit_notes,company,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesCompanyPaymentTerm, + [EnumMember(Value = "payments,line_items,tracking_categories,applied_credit_notes,contact")] PaymentsLineItemsTrackingCategoriesAppliedCreditNotesContact, @@ -6610,6 +13709,11 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_credit_notes,contact,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,line_items,tracking_categories,applied_credit_notes,contact,company" )] @@ -6620,6 +13724,11 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_credit_notes,contact,company,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,line_items,tracking_categories,applied_credit_notes,contact,company,employee" )] @@ -6630,6 +13739,21 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_credit_notes,contact,company,employee,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_credit_notes,contact,company,employee,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_credit_notes,contact,company,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactCompanyPaymentTerm, + [EnumMember( Value = "payments,line_items,tracking_categories,applied_credit_notes,contact,employee" )] @@ -6640,6 +13764,21 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_credit_notes,contact,employee,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_credit_notes,contact,employee,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_credit_notes,contact,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactPaymentTerm, + [EnumMember(Value = "payments,line_items,tracking_categories,applied_credit_notes,employee")] PaymentsLineItemsTrackingCategoriesAppliedCreditNotesEmployee, @@ -6648,6 +13787,21 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsTrackingCategoriesAppliedCreditNotesEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_credit_notes,employee,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_credit_notes,employee,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_credit_notes,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesPaymentTerm, + [EnumMember(Value = "payments,line_items,tracking_categories,applied_vendor_credits")] PaymentsLineItemsTrackingCategoriesAppliedVendorCredits, @@ -6656,6 +13810,11 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsTrackingCategoriesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_vendor_credits,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,line_items,tracking_categories,applied_vendor_credits,company")] PaymentsLineItemsTrackingCategoriesAppliedVendorCreditsCompany, @@ -6664,6 +13823,11 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsTrackingCategoriesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_vendor_credits,company,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,line_items,tracking_categories,applied_vendor_credits,company,employee" )] @@ -6674,6 +13838,21 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsTrackingCategoriesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_vendor_credits,company,employee,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_vendor_credits,company,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember(Value = "payments,line_items,tracking_categories,applied_vendor_credits,contact")] PaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContact, @@ -6682,6 +13861,11 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_vendor_credits,contact,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,line_items,tracking_categories,applied_vendor_credits,contact,company" )] @@ -6692,6 +13876,11 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,line_items,tracking_categories,applied_vendor_credits,contact,company,employee" )] @@ -6702,6 +13891,21 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_vendor_credits,contact,company,employee,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_vendor_credits,contact,company,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "payments,line_items,tracking_categories,applied_vendor_credits,contact,employee" )] @@ -6712,6 +13916,21 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_vendor_credits,contact,employee,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_vendor_credits,contact,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactPaymentTerm, + [EnumMember(Value = "payments,line_items,tracking_categories,applied_vendor_credits,employee")] PaymentsLineItemsTrackingCategoriesAppliedVendorCreditsEmployee, @@ -6720,12 +13939,32 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsTrackingCategoriesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_vendor_credits,employee,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_vendor_credits,employee,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_vendor_credits,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "payments,line_items,tracking_categories,company")] PaymentsLineItemsTrackingCategoriesCompany, [EnumMember(Value = "payments,line_items,tracking_categories,company,accounting_period")] PaymentsLineItemsTrackingCategoriesCompanyAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,company,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,line_items,tracking_categories,company,employee")] PaymentsLineItemsTrackingCategoriesCompanyEmployee, @@ -6734,12 +13973,28 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsTrackingCategoriesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,company,employee,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,line_items,tracking_categories,company,employee,payment_term")] + PaymentsLineItemsTrackingCategoriesCompanyEmployeePaymentTerm, + + [EnumMember(Value = "payments,line_items,tracking_categories,company,payment_term")] + PaymentsLineItemsTrackingCategoriesCompanyPaymentTerm, + [EnumMember(Value = "payments,line_items,tracking_categories,contact")] PaymentsLineItemsTrackingCategoriesContact, [EnumMember(Value = "payments,line_items,tracking_categories,contact,accounting_period")] PaymentsLineItemsTrackingCategoriesContactAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,contact,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,line_items,tracking_categories,contact,company")] PaymentsLineItemsTrackingCategoriesContactCompany, @@ -6748,6 +14003,11 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsTrackingCategoriesContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,contact,company,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,line_items,tracking_categories,contact,company,employee")] PaymentsLineItemsTrackingCategoriesContactCompanyEmployee, @@ -6756,6 +14016,19 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsTrackingCategoriesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,contact,company,employee,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,contact,company,employee,payment_term" + )] + PaymentsLineItemsTrackingCategoriesContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "payments,line_items,tracking_categories,contact,company,payment_term")] + PaymentsLineItemsTrackingCategoriesContactCompanyPaymentTerm, + [EnumMember(Value = "payments,line_items,tracking_categories,contact,employee")] PaymentsLineItemsTrackingCategoriesContactEmployee, @@ -6764,12 +14037,34 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsTrackingCategoriesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,contact,employee,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,line_items,tracking_categories,contact,employee,payment_term")] + PaymentsLineItemsTrackingCategoriesContactEmployeePaymentTerm, + + [EnumMember(Value = "payments,line_items,tracking_categories,contact,payment_term")] + PaymentsLineItemsTrackingCategoriesContactPaymentTerm, + [EnumMember(Value = "payments,line_items,tracking_categories,employee")] PaymentsLineItemsTrackingCategoriesEmployee, [EnumMember(Value = "payments,line_items,tracking_categories,employee,accounting_period")] PaymentsLineItemsTrackingCategoriesEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,employee,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,line_items,tracking_categories,employee,payment_term")] + PaymentsLineItemsTrackingCategoriesEmployeePaymentTerm, + + [EnumMember(Value = "payments,line_items,tracking_categories,payment_term")] + PaymentsLineItemsTrackingCategoriesPaymentTerm, + [EnumMember(Value = "payments,line_items,tracking_categories,purchase_orders")] PaymentsLineItemsTrackingCategoriesPurchaseOrders, @@ -6778,6 +14073,11 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsTrackingCategoriesPurchaseOrdersAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes" )] @@ -6788,6 +14088,11 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits" )] @@ -6798,6 +14103,11 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company" )] @@ -6808,6 +14118,11 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee" )] @@ -6818,6 +14133,21 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember( Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact" )] @@ -6828,6 +14158,11 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company" )] @@ -6838,6 +14173,11 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee" )] @@ -6848,6 +14188,21 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee" )] @@ -6858,6 +14213,21 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactPaymentTerm, + [EnumMember( Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee" )] @@ -6868,6 +14238,21 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsPaymentTerm, + [EnumMember( Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company" )] @@ -6878,6 +14263,11 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company,employee" )] @@ -6888,6 +14278,21 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company,employee,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company,employee,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyPaymentTerm, + [EnumMember( Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact" )] @@ -6898,6 +14303,11 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company" )] @@ -6908,6 +14318,11 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee" )] @@ -6918,6 +14333,21 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyPaymentTerm, + [EnumMember( Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,employee" )] @@ -6928,6 +14358,21 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,employee,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,employee,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactPaymentTerm, + [EnumMember( Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,employee" )] @@ -6938,6 +14383,21 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,employee,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,employee,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesPaymentTerm, + [EnumMember( Value = "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits" )] @@ -6946,7 +14406,12 @@ public enum InvoicesListRequestExpand [EnumMember( Value = "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,accounting_period" )] - PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsAccountingPeriod, + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsAccountingPeriod, + + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsAccountingPeriodPaymentTerm, [EnumMember( Value = "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,company" @@ -6958,6 +14423,11 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,company,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,company,employee" )] @@ -6968,6 +14438,21 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,company,employee,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,company,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember( Value = "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact" )] @@ -6978,6 +14463,11 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company" )] @@ -6988,6 +14478,11 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee" )] @@ -6998,6 +14493,21 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee" )] @@ -7008,6 +14518,21 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactPaymentTerm, + [EnumMember( Value = "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,employee" )] @@ -7018,6 +14543,21 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,employee,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,employee,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "payments,line_items,tracking_categories,purchase_orders,company")] PaymentsLineItemsTrackingCategoriesPurchaseOrdersCompany, @@ -7026,6 +14566,11 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsTrackingCategoriesPurchaseOrdersCompanyAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,company,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,line_items,tracking_categories,purchase_orders,company,employee")] PaymentsLineItemsTrackingCategoriesPurchaseOrdersCompanyEmployee, @@ -7034,6 +14579,21 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsTrackingCategoriesPurchaseOrdersCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,company,employee,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,company,employee,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,company,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersCompanyPaymentTerm, + [EnumMember(Value = "payments,line_items,tracking_categories,purchase_orders,contact")] PaymentsLineItemsTrackingCategoriesPurchaseOrdersContact, @@ -7042,6 +14602,11 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsTrackingCategoriesPurchaseOrdersContactAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,contact,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,line_items,tracking_categories,purchase_orders,contact,company")] PaymentsLineItemsTrackingCategoriesPurchaseOrdersContactCompany, @@ -7050,6 +14615,11 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsTrackingCategoriesPurchaseOrdersContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,contact,company,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,line_items,tracking_categories,purchase_orders,contact,company,employee" )] @@ -7060,6 +14630,21 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsTrackingCategoriesPurchaseOrdersContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,contact,company,employee,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,contact,company,employee,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,contact,company,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersContactCompanyPaymentTerm, + [EnumMember(Value = "payments,line_items,tracking_categories,purchase_orders,contact,employee")] PaymentsLineItemsTrackingCategoriesPurchaseOrdersContactEmployee, @@ -7068,6 +14653,21 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsTrackingCategoriesPurchaseOrdersContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,contact,employee,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,contact,employee,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,contact,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersContactPaymentTerm, + [EnumMember(Value = "payments,line_items,tracking_categories,purchase_orders,employee")] PaymentsLineItemsTrackingCategoriesPurchaseOrdersEmployee, @@ -7076,18 +14676,42 @@ public enum InvoicesListRequestExpand )] PaymentsLineItemsTrackingCategoriesPurchaseOrdersEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,employee,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,employee,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersEmployeePaymentTerm, + + [EnumMember(Value = "payments,line_items,tracking_categories,purchase_orders,payment_term")] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersPaymentTerm, + + [EnumMember(Value = "payments,payment_term")] + PaymentsPaymentTerm, + [EnumMember(Value = "payments,purchase_orders")] PaymentsPurchaseOrders, [EnumMember(Value = "payments,purchase_orders,accounting_period")] PaymentsPurchaseOrdersAccountingPeriod, + [EnumMember(Value = "payments,purchase_orders,accounting_period,payment_term")] + PaymentsPurchaseOrdersAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,purchase_orders,applied_credit_notes")] PaymentsPurchaseOrdersAppliedCreditNotes, [EnumMember(Value = "payments,purchase_orders,applied_credit_notes,accounting_period")] PaymentsPurchaseOrdersAppliedCreditNotesAccountingPeriod, + [EnumMember( + Value = "payments,purchase_orders,applied_credit_notes,accounting_period,payment_term" + )] + PaymentsPurchaseOrdersAppliedCreditNotesAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,purchase_orders,applied_credit_notes,applied_vendor_credits")] PaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCredits, @@ -7096,6 +14720,11 @@ public enum InvoicesListRequestExpand )] PaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,accounting_period,payment_term" + )] + PaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,company" )] @@ -7106,6 +14735,11 @@ public enum InvoicesListRequestExpand )] PaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,company,accounting_period,payment_term" + )] + PaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee" )] @@ -7116,6 +14750,21 @@ public enum InvoicesListRequestExpand )] PaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + PaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,payment_term" + )] + PaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,company,payment_term" + )] + PaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember( Value = "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact" )] @@ -7126,6 +14775,11 @@ public enum InvoicesListRequestExpand )] PaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,accounting_period,payment_term" + )] + PaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company" )] @@ -7136,6 +14790,11 @@ public enum InvoicesListRequestExpand )] PaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + PaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee" )] @@ -7146,6 +14805,21 @@ public enum InvoicesListRequestExpand )] PaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + PaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,payment_term" + )] + PaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,payment_term" + )] + PaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee" )] @@ -7156,6 +14830,21 @@ public enum InvoicesListRequestExpand )] PaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + PaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,payment_term" + )] + PaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,payment_term" + )] + PaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactPaymentTerm, + [EnumMember( Value = "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,employee" )] @@ -7166,12 +14855,32 @@ public enum InvoicesListRequestExpand )] PaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period,payment_term" + )] + PaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,payment_term" + )] + PaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,payment_term" + )] + PaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "payments,purchase_orders,applied_credit_notes,company")] PaymentsPurchaseOrdersAppliedCreditNotesCompany, [EnumMember(Value = "payments,purchase_orders,applied_credit_notes,company,accounting_period")] PaymentsPurchaseOrdersAppliedCreditNotesCompanyAccountingPeriod, + [EnumMember( + Value = "payments,purchase_orders,applied_credit_notes,company,accounting_period,payment_term" + )] + PaymentsPurchaseOrdersAppliedCreditNotesCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,purchase_orders,applied_credit_notes,company,employee")] PaymentsPurchaseOrdersAppliedCreditNotesCompanyEmployee, @@ -7180,12 +14889,30 @@ public enum InvoicesListRequestExpand )] PaymentsPurchaseOrdersAppliedCreditNotesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,purchase_orders,applied_credit_notes,company,employee,accounting_period,payment_term" + )] + PaymentsPurchaseOrdersAppliedCreditNotesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,purchase_orders,applied_credit_notes,company,employee,payment_term" + )] + PaymentsPurchaseOrdersAppliedCreditNotesCompanyEmployeePaymentTerm, + + [EnumMember(Value = "payments,purchase_orders,applied_credit_notes,company,payment_term")] + PaymentsPurchaseOrdersAppliedCreditNotesCompanyPaymentTerm, + [EnumMember(Value = "payments,purchase_orders,applied_credit_notes,contact")] PaymentsPurchaseOrdersAppliedCreditNotesContact, [EnumMember(Value = "payments,purchase_orders,applied_credit_notes,contact,accounting_period")] PaymentsPurchaseOrdersAppliedCreditNotesContactAccountingPeriod, + [EnumMember( + Value = "payments,purchase_orders,applied_credit_notes,contact,accounting_period,payment_term" + )] + PaymentsPurchaseOrdersAppliedCreditNotesContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,purchase_orders,applied_credit_notes,contact,company")] PaymentsPurchaseOrdersAppliedCreditNotesContactCompany, @@ -7194,6 +14921,11 @@ public enum InvoicesListRequestExpand )] PaymentsPurchaseOrdersAppliedCreditNotesContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,purchase_orders,applied_credit_notes,contact,company,accounting_period,payment_term" + )] + PaymentsPurchaseOrdersAppliedCreditNotesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,purchase_orders,applied_credit_notes,contact,company,employee")] PaymentsPurchaseOrdersAppliedCreditNotesContactCompanyEmployee, @@ -7202,6 +14934,21 @@ public enum InvoicesListRequestExpand )] PaymentsPurchaseOrdersAppliedCreditNotesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,purchase_orders,applied_credit_notes,contact,company,employee,accounting_period,payment_term" + )] + PaymentsPurchaseOrdersAppliedCreditNotesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,purchase_orders,applied_credit_notes,contact,company,employee,payment_term" + )] + PaymentsPurchaseOrdersAppliedCreditNotesContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,purchase_orders,applied_credit_notes,contact,company,payment_term" + )] + PaymentsPurchaseOrdersAppliedCreditNotesContactCompanyPaymentTerm, + [EnumMember(Value = "payments,purchase_orders,applied_credit_notes,contact,employee")] PaymentsPurchaseOrdersAppliedCreditNotesContactEmployee, @@ -7210,18 +14957,47 @@ public enum InvoicesListRequestExpand )] PaymentsPurchaseOrdersAppliedCreditNotesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,purchase_orders,applied_credit_notes,contact,employee,accounting_period,payment_term" + )] + PaymentsPurchaseOrdersAppliedCreditNotesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,purchase_orders,applied_credit_notes,contact,employee,payment_term" + )] + PaymentsPurchaseOrdersAppliedCreditNotesContactEmployeePaymentTerm, + + [EnumMember(Value = "payments,purchase_orders,applied_credit_notes,contact,payment_term")] + PaymentsPurchaseOrdersAppliedCreditNotesContactPaymentTerm, + [EnumMember(Value = "payments,purchase_orders,applied_credit_notes,employee")] PaymentsPurchaseOrdersAppliedCreditNotesEmployee, [EnumMember(Value = "payments,purchase_orders,applied_credit_notes,employee,accounting_period")] PaymentsPurchaseOrdersAppliedCreditNotesEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,purchase_orders,applied_credit_notes,employee,accounting_period,payment_term" + )] + PaymentsPurchaseOrdersAppliedCreditNotesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,purchase_orders,applied_credit_notes,employee,payment_term")] + PaymentsPurchaseOrdersAppliedCreditNotesEmployeePaymentTerm, + + [EnumMember(Value = "payments,purchase_orders,applied_credit_notes,payment_term")] + PaymentsPurchaseOrdersAppliedCreditNotesPaymentTerm, + [EnumMember(Value = "payments,purchase_orders,applied_vendor_credits")] PaymentsPurchaseOrdersAppliedVendorCredits, [EnumMember(Value = "payments,purchase_orders,applied_vendor_credits,accounting_period")] PaymentsPurchaseOrdersAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "payments,purchase_orders,applied_vendor_credits,accounting_period,payment_term" + )] + PaymentsPurchaseOrdersAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,purchase_orders,applied_vendor_credits,company")] PaymentsPurchaseOrdersAppliedVendorCreditsCompany, @@ -7230,6 +15006,11 @@ public enum InvoicesListRequestExpand )] PaymentsPurchaseOrdersAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "payments,purchase_orders,applied_vendor_credits,company,accounting_period,payment_term" + )] + PaymentsPurchaseOrdersAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,purchase_orders,applied_vendor_credits,company,employee")] PaymentsPurchaseOrdersAppliedVendorCreditsCompanyEmployee, @@ -7238,6 +15019,19 @@ public enum InvoicesListRequestExpand )] PaymentsPurchaseOrdersAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,purchase_orders,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + PaymentsPurchaseOrdersAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,purchase_orders,applied_vendor_credits,company,employee,payment_term" + )] + PaymentsPurchaseOrdersAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember(Value = "payments,purchase_orders,applied_vendor_credits,company,payment_term")] + PaymentsPurchaseOrdersAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember(Value = "payments,purchase_orders,applied_vendor_credits,contact")] PaymentsPurchaseOrdersAppliedVendorCreditsContact, @@ -7246,6 +15040,11 @@ public enum InvoicesListRequestExpand )] PaymentsPurchaseOrdersAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "payments,purchase_orders,applied_vendor_credits,contact,accounting_period,payment_term" + )] + PaymentsPurchaseOrdersAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,purchase_orders,applied_vendor_credits,contact,company")] PaymentsPurchaseOrdersAppliedVendorCreditsContactCompany, @@ -7254,6 +15053,11 @@ public enum InvoicesListRequestExpand )] PaymentsPurchaseOrdersAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,purchase_orders,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + PaymentsPurchaseOrdersAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,purchase_orders,applied_vendor_credits,contact,company,employee")] PaymentsPurchaseOrdersAppliedVendorCreditsContactCompanyEmployee, @@ -7262,6 +15066,21 @@ public enum InvoicesListRequestExpand )] PaymentsPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,purchase_orders,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + PaymentsPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,purchase_orders,applied_vendor_credits,contact,company,employee,payment_term" + )] + PaymentsPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,purchase_orders,applied_vendor_credits,contact,company,payment_term" + )] + PaymentsPurchaseOrdersAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember(Value = "payments,purchase_orders,applied_vendor_credits,contact,employee")] PaymentsPurchaseOrdersAppliedVendorCreditsContactEmployee, @@ -7270,6 +15089,19 @@ public enum InvoicesListRequestExpand )] PaymentsPurchaseOrdersAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,purchase_orders,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + PaymentsPurchaseOrdersAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,purchase_orders,applied_vendor_credits,contact,employee,payment_term" + )] + PaymentsPurchaseOrdersAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember(Value = "payments,purchase_orders,applied_vendor_credits,contact,payment_term")] + PaymentsPurchaseOrdersAppliedVendorCreditsContactPaymentTerm, + [EnumMember(Value = "payments,purchase_orders,applied_vendor_credits,employee")] PaymentsPurchaseOrdersAppliedVendorCreditsEmployee, @@ -7278,60 +15110,126 @@ public enum InvoicesListRequestExpand )] PaymentsPurchaseOrdersAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,purchase_orders,applied_vendor_credits,employee,accounting_period,payment_term" + )] + PaymentsPurchaseOrdersAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,purchase_orders,applied_vendor_credits,employee,payment_term")] + PaymentsPurchaseOrdersAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember(Value = "payments,purchase_orders,applied_vendor_credits,payment_term")] + PaymentsPurchaseOrdersAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "payments,purchase_orders,company")] PaymentsPurchaseOrdersCompany, [EnumMember(Value = "payments,purchase_orders,company,accounting_period")] PaymentsPurchaseOrdersCompanyAccountingPeriod, + [EnumMember(Value = "payments,purchase_orders,company,accounting_period,payment_term")] + PaymentsPurchaseOrdersCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,purchase_orders,company,employee")] PaymentsPurchaseOrdersCompanyEmployee, [EnumMember(Value = "payments,purchase_orders,company,employee,accounting_period")] PaymentsPurchaseOrdersCompanyEmployeeAccountingPeriod, + [EnumMember(Value = "payments,purchase_orders,company,employee,accounting_period,payment_term")] + PaymentsPurchaseOrdersCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,purchase_orders,company,employee,payment_term")] + PaymentsPurchaseOrdersCompanyEmployeePaymentTerm, + + [EnumMember(Value = "payments,purchase_orders,company,payment_term")] + PaymentsPurchaseOrdersCompanyPaymentTerm, + [EnumMember(Value = "payments,purchase_orders,contact")] PaymentsPurchaseOrdersContact, [EnumMember(Value = "payments,purchase_orders,contact,accounting_period")] PaymentsPurchaseOrdersContactAccountingPeriod, + [EnumMember(Value = "payments,purchase_orders,contact,accounting_period,payment_term")] + PaymentsPurchaseOrdersContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,purchase_orders,contact,company")] PaymentsPurchaseOrdersContactCompany, [EnumMember(Value = "payments,purchase_orders,contact,company,accounting_period")] PaymentsPurchaseOrdersContactCompanyAccountingPeriod, + [EnumMember(Value = "payments,purchase_orders,contact,company,accounting_period,payment_term")] + PaymentsPurchaseOrdersContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,purchase_orders,contact,company,employee")] PaymentsPurchaseOrdersContactCompanyEmployee, [EnumMember(Value = "payments,purchase_orders,contact,company,employee,accounting_period")] PaymentsPurchaseOrdersContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,purchase_orders,contact,company,employee,accounting_period,payment_term" + )] + PaymentsPurchaseOrdersContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,purchase_orders,contact,company,employee,payment_term")] + PaymentsPurchaseOrdersContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "payments,purchase_orders,contact,company,payment_term")] + PaymentsPurchaseOrdersContactCompanyPaymentTerm, + [EnumMember(Value = "payments,purchase_orders,contact,employee")] PaymentsPurchaseOrdersContactEmployee, [EnumMember(Value = "payments,purchase_orders,contact,employee,accounting_period")] PaymentsPurchaseOrdersContactEmployeeAccountingPeriod, + [EnumMember(Value = "payments,purchase_orders,contact,employee,accounting_period,payment_term")] + PaymentsPurchaseOrdersContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,purchase_orders,contact,employee,payment_term")] + PaymentsPurchaseOrdersContactEmployeePaymentTerm, + + [EnumMember(Value = "payments,purchase_orders,contact,payment_term")] + PaymentsPurchaseOrdersContactPaymentTerm, + [EnumMember(Value = "payments,purchase_orders,employee")] PaymentsPurchaseOrdersEmployee, [EnumMember(Value = "payments,purchase_orders,employee,accounting_period")] PaymentsPurchaseOrdersEmployeeAccountingPeriod, + [EnumMember(Value = "payments,purchase_orders,employee,accounting_period,payment_term")] + PaymentsPurchaseOrdersEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,purchase_orders,employee,payment_term")] + PaymentsPurchaseOrdersEmployeePaymentTerm, + + [EnumMember(Value = "payments,purchase_orders,payment_term")] + PaymentsPurchaseOrdersPaymentTerm, + [EnumMember(Value = "payments,tracking_categories")] PaymentsTrackingCategories, [EnumMember(Value = "payments,tracking_categories,accounting_period")] PaymentsTrackingCategoriesAccountingPeriod, + [EnumMember(Value = "payments,tracking_categories,accounting_period,payment_term")] + PaymentsTrackingCategoriesAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,tracking_categories,applied_credit_notes")] PaymentsTrackingCategoriesAppliedCreditNotes, [EnumMember(Value = "payments,tracking_categories,applied_credit_notes,accounting_period")] PaymentsTrackingCategoriesAppliedCreditNotesAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,applied_credit_notes,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesAppliedCreditNotesAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,tracking_categories,applied_credit_notes,applied_vendor_credits")] PaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCredits, @@ -7340,6 +15238,11 @@ public enum InvoicesListRequestExpand )] PaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,company" )] @@ -7350,6 +15253,11 @@ public enum InvoicesListRequestExpand )] PaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,company,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee" )] @@ -7358,7 +15266,22 @@ public enum InvoicesListRequestExpand [EnumMember( Value = "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period" )] - PaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + PaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + + [EnumMember( + Value = "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee,payment_term" + )] + PaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,company,payment_term" + )] + PaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyPaymentTerm, [EnumMember( Value = "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact" @@ -7370,6 +15293,11 @@ public enum InvoicesListRequestExpand )] PaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company" )] @@ -7380,6 +15308,11 @@ public enum InvoicesListRequestExpand )] PaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee" )] @@ -7390,6 +15323,21 @@ public enum InvoicesListRequestExpand )] PaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee,payment_term" + )] + PaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,payment_term" + )] + PaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee" )] @@ -7400,6 +15348,21 @@ public enum InvoicesListRequestExpand )] PaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee,payment_term" + )] + PaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,payment_term" + )] + PaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactPaymentTerm, + [EnumMember( Value = "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,employee" )] @@ -7410,6 +15373,21 @@ public enum InvoicesListRequestExpand )] PaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,employee,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,employee,payment_term" + )] + PaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,payment_term" + )] + PaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "payments,tracking_categories,applied_credit_notes,company")] PaymentsTrackingCategoriesAppliedCreditNotesCompany, @@ -7418,6 +15396,11 @@ public enum InvoicesListRequestExpand )] PaymentsTrackingCategoriesAppliedCreditNotesCompanyAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,applied_credit_notes,company,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesAppliedCreditNotesCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,tracking_categories,applied_credit_notes,company,employee")] PaymentsTrackingCategoriesAppliedCreditNotesCompanyEmployee, @@ -7426,6 +15409,19 @@ public enum InvoicesListRequestExpand )] PaymentsTrackingCategoriesAppliedCreditNotesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,applied_credit_notes,company,employee,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesAppliedCreditNotesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,applied_credit_notes,company,employee,payment_term" + )] + PaymentsTrackingCategoriesAppliedCreditNotesCompanyEmployeePaymentTerm, + + [EnumMember(Value = "payments,tracking_categories,applied_credit_notes,company,payment_term")] + PaymentsTrackingCategoriesAppliedCreditNotesCompanyPaymentTerm, + [EnumMember(Value = "payments,tracking_categories,applied_credit_notes,contact")] PaymentsTrackingCategoriesAppliedCreditNotesContact, @@ -7434,6 +15430,11 @@ public enum InvoicesListRequestExpand )] PaymentsTrackingCategoriesAppliedCreditNotesContactAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,applied_credit_notes,contact,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesAppliedCreditNotesContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,tracking_categories,applied_credit_notes,contact,company")] PaymentsTrackingCategoriesAppliedCreditNotesContactCompany, @@ -7442,6 +15443,11 @@ public enum InvoicesListRequestExpand )] PaymentsTrackingCategoriesAppliedCreditNotesContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,applied_credit_notes,contact,company,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesAppliedCreditNotesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,tracking_categories,applied_credit_notes,contact,company,employee" )] @@ -7452,6 +15458,21 @@ public enum InvoicesListRequestExpand )] PaymentsTrackingCategoriesAppliedCreditNotesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,applied_credit_notes,contact,company,employee,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesAppliedCreditNotesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,applied_credit_notes,contact,company,employee,payment_term" + )] + PaymentsTrackingCategoriesAppliedCreditNotesContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,applied_credit_notes,contact,company,payment_term" + )] + PaymentsTrackingCategoriesAppliedCreditNotesContactCompanyPaymentTerm, + [EnumMember(Value = "payments,tracking_categories,applied_credit_notes,contact,employee")] PaymentsTrackingCategoriesAppliedCreditNotesContactEmployee, @@ -7460,6 +15481,19 @@ public enum InvoicesListRequestExpand )] PaymentsTrackingCategoriesAppliedCreditNotesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,applied_credit_notes,contact,employee,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesAppliedCreditNotesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,applied_credit_notes,contact,employee,payment_term" + )] + PaymentsTrackingCategoriesAppliedCreditNotesContactEmployeePaymentTerm, + + [EnumMember(Value = "payments,tracking_categories,applied_credit_notes,contact,payment_term")] + PaymentsTrackingCategoriesAppliedCreditNotesContactPaymentTerm, + [EnumMember(Value = "payments,tracking_categories,applied_credit_notes,employee")] PaymentsTrackingCategoriesAppliedCreditNotesEmployee, @@ -7468,12 +15502,28 @@ public enum InvoicesListRequestExpand )] PaymentsTrackingCategoriesAppliedCreditNotesEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,applied_credit_notes,employee,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesAppliedCreditNotesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,tracking_categories,applied_credit_notes,employee,payment_term")] + PaymentsTrackingCategoriesAppliedCreditNotesEmployeePaymentTerm, + + [EnumMember(Value = "payments,tracking_categories,applied_credit_notes,payment_term")] + PaymentsTrackingCategoriesAppliedCreditNotesPaymentTerm, + [EnumMember(Value = "payments,tracking_categories,applied_vendor_credits")] PaymentsTrackingCategoriesAppliedVendorCredits, [EnumMember(Value = "payments,tracking_categories,applied_vendor_credits,accounting_period")] PaymentsTrackingCategoriesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,applied_vendor_credits,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,tracking_categories,applied_vendor_credits,company")] PaymentsTrackingCategoriesAppliedVendorCreditsCompany, @@ -7482,6 +15532,11 @@ public enum InvoicesListRequestExpand )] PaymentsTrackingCategoriesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,applied_vendor_credits,company,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,tracking_categories,applied_vendor_credits,company,employee")] PaymentsTrackingCategoriesAppliedVendorCreditsCompanyEmployee, @@ -7490,6 +15545,19 @@ public enum InvoicesListRequestExpand )] PaymentsTrackingCategoriesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,applied_vendor_credits,company,employee,payment_term" + )] + PaymentsTrackingCategoriesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember(Value = "payments,tracking_categories,applied_vendor_credits,company,payment_term")] + PaymentsTrackingCategoriesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember(Value = "payments,tracking_categories,applied_vendor_credits,contact")] PaymentsTrackingCategoriesAppliedVendorCreditsContact, @@ -7498,6 +15566,11 @@ public enum InvoicesListRequestExpand )] PaymentsTrackingCategoriesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,applied_vendor_credits,contact,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,tracking_categories,applied_vendor_credits,contact,company")] PaymentsTrackingCategoriesAppliedVendorCreditsContactCompany, @@ -7506,6 +15579,11 @@ public enum InvoicesListRequestExpand )] PaymentsTrackingCategoriesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,tracking_categories,applied_vendor_credits,contact,company,employee" )] @@ -7516,6 +15594,21 @@ public enum InvoicesListRequestExpand )] PaymentsTrackingCategoriesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,applied_vendor_credits,contact,company,employee,payment_term" + )] + PaymentsTrackingCategoriesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,applied_vendor_credits,contact,company,payment_term" + )] + PaymentsTrackingCategoriesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember(Value = "payments,tracking_categories,applied_vendor_credits,contact,employee")] PaymentsTrackingCategoriesAppliedVendorCreditsContactEmployee, @@ -7524,6 +15617,19 @@ public enum InvoicesListRequestExpand )] PaymentsTrackingCategoriesAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,applied_vendor_credits,contact,employee,payment_term" + )] + PaymentsTrackingCategoriesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember(Value = "payments,tracking_categories,applied_vendor_credits,contact,payment_term")] + PaymentsTrackingCategoriesAppliedVendorCreditsContactPaymentTerm, + [EnumMember(Value = "payments,tracking_categories,applied_vendor_credits,employee")] PaymentsTrackingCategoriesAppliedVendorCreditsEmployee, @@ -7532,54 +15638,125 @@ public enum InvoicesListRequestExpand )] PaymentsTrackingCategoriesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,applied_vendor_credits,employee,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,applied_vendor_credits,employee,payment_term" + )] + PaymentsTrackingCategoriesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember(Value = "payments,tracking_categories,applied_vendor_credits,payment_term")] + PaymentsTrackingCategoriesAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "payments,tracking_categories,company")] PaymentsTrackingCategoriesCompany, [EnumMember(Value = "payments,tracking_categories,company,accounting_period")] PaymentsTrackingCategoriesCompanyAccountingPeriod, + [EnumMember(Value = "payments,tracking_categories,company,accounting_period,payment_term")] + PaymentsTrackingCategoriesCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,tracking_categories,company,employee")] PaymentsTrackingCategoriesCompanyEmployee, [EnumMember(Value = "payments,tracking_categories,company,employee,accounting_period")] PaymentsTrackingCategoriesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,company,employee,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,tracking_categories,company,employee,payment_term")] + PaymentsTrackingCategoriesCompanyEmployeePaymentTerm, + + [EnumMember(Value = "payments,tracking_categories,company,payment_term")] + PaymentsTrackingCategoriesCompanyPaymentTerm, + [EnumMember(Value = "payments,tracking_categories,contact")] PaymentsTrackingCategoriesContact, [EnumMember(Value = "payments,tracking_categories,contact,accounting_period")] PaymentsTrackingCategoriesContactAccountingPeriod, + [EnumMember(Value = "payments,tracking_categories,contact,accounting_period,payment_term")] + PaymentsTrackingCategoriesContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,tracking_categories,contact,company")] PaymentsTrackingCategoriesContactCompany, [EnumMember(Value = "payments,tracking_categories,contact,company,accounting_period")] PaymentsTrackingCategoriesContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,contact,company,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,tracking_categories,contact,company,employee")] PaymentsTrackingCategoriesContactCompanyEmployee, [EnumMember(Value = "payments,tracking_categories,contact,company,employee,accounting_period")] PaymentsTrackingCategoriesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,contact,company,employee,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,tracking_categories,contact,company,employee,payment_term")] + PaymentsTrackingCategoriesContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "payments,tracking_categories,contact,company,payment_term")] + PaymentsTrackingCategoriesContactCompanyPaymentTerm, + [EnumMember(Value = "payments,tracking_categories,contact,employee")] PaymentsTrackingCategoriesContactEmployee, [EnumMember(Value = "payments,tracking_categories,contact,employee,accounting_period")] PaymentsTrackingCategoriesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,contact,employee,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,tracking_categories,contact,employee,payment_term")] + PaymentsTrackingCategoriesContactEmployeePaymentTerm, + + [EnumMember(Value = "payments,tracking_categories,contact,payment_term")] + PaymentsTrackingCategoriesContactPaymentTerm, + [EnumMember(Value = "payments,tracking_categories,employee")] PaymentsTrackingCategoriesEmployee, [EnumMember(Value = "payments,tracking_categories,employee,accounting_period")] PaymentsTrackingCategoriesEmployeeAccountingPeriod, + [EnumMember(Value = "payments,tracking_categories,employee,accounting_period,payment_term")] + PaymentsTrackingCategoriesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,tracking_categories,employee,payment_term")] + PaymentsTrackingCategoriesEmployeePaymentTerm, + + [EnumMember(Value = "payments,tracking_categories,payment_term")] + PaymentsTrackingCategoriesPaymentTerm, + [EnumMember(Value = "payments,tracking_categories,purchase_orders")] PaymentsTrackingCategoriesPurchaseOrders, [EnumMember(Value = "payments,tracking_categories,purchase_orders,accounting_period")] PaymentsTrackingCategoriesPurchaseOrdersAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,tracking_categories,purchase_orders,applied_credit_notes")] PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotes, @@ -7588,6 +15765,11 @@ public enum InvoicesListRequestExpand )] PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits" )] @@ -7598,6 +15780,11 @@ public enum InvoicesListRequestExpand )] PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company" )] @@ -7608,6 +15795,11 @@ public enum InvoicesListRequestExpand )] PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee" )] @@ -7618,6 +15810,21 @@ public enum InvoicesListRequestExpand )] PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember( Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact" )] @@ -7628,6 +15835,11 @@ public enum InvoicesListRequestExpand )] PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company" )] @@ -7638,6 +15850,11 @@ public enum InvoicesListRequestExpand )] PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee" )] @@ -7648,6 +15865,21 @@ public enum InvoicesListRequestExpand )] PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee" )] @@ -7658,6 +15890,21 @@ public enum InvoicesListRequestExpand )] PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactPaymentTerm, + [EnumMember( Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee" )] @@ -7668,6 +15915,21 @@ public enum InvoicesListRequestExpand )] PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsPaymentTerm, + [EnumMember( Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,company" )] @@ -7678,6 +15940,11 @@ public enum InvoicesListRequestExpand )] PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,company,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,company,employee" )] @@ -7688,6 +15955,21 @@ public enum InvoicesListRequestExpand )] PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,company,employee,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,company,employee,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,company,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyPaymentTerm, + [EnumMember( Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,contact" )] @@ -7698,6 +15980,11 @@ public enum InvoicesListRequestExpand )] PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,contact,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company" )] @@ -7708,6 +15995,11 @@ public enum InvoicesListRequestExpand )] PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee" )] @@ -7718,6 +16010,21 @@ public enum InvoicesListRequestExpand )] PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyPaymentTerm, + [EnumMember( Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,contact,employee" )] @@ -7728,6 +16035,21 @@ public enum InvoicesListRequestExpand )] PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,contact,employee,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,contact,employee,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,contact,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactPaymentTerm, + [EnumMember( Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,employee" )] @@ -7738,6 +16060,21 @@ public enum InvoicesListRequestExpand )] PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,employee,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,employee,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesEmployeePaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesPaymentTerm, + [EnumMember(Value = "payments,tracking_categories,purchase_orders,applied_vendor_credits")] PaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCredits, @@ -7746,25 +16083,50 @@ public enum InvoicesListRequestExpand )] PaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_vendor_credits,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,tracking_categories,purchase_orders,applied_vendor_credits,company" )] - PaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompany, + PaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompany, + + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_vendor_credits,company,accounting_period" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyAccountingPeriod, + + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_vendor_credits,company,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_vendor_credits,company,employee" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyEmployee, + + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_vendor_credits,company,employee,accounting_period" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyEmployeeAccountingPeriod, [EnumMember( - Value = "payments,tracking_categories,purchase_orders,applied_vendor_credits,company,accounting_period" + Value = "payments,tracking_categories,purchase_orders,applied_vendor_credits,company,employee,accounting_period,payment_term" )] - PaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyAccountingPeriod, + PaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, [EnumMember( - Value = "payments,tracking_categories,purchase_orders,applied_vendor_credits,company,employee" + Value = "payments,tracking_categories,purchase_orders,applied_vendor_credits,company,employee,payment_term" )] - PaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyEmployee, + PaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyEmployeePaymentTerm, [EnumMember( - Value = "payments,tracking_categories,purchase_orders,applied_vendor_credits,company,employee,accounting_period" + Value = "payments,tracking_categories,purchase_orders,applied_vendor_credits,company,payment_term" )] - PaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + PaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyPaymentTerm, [EnumMember( Value = "payments,tracking_categories,purchase_orders,applied_vendor_credits,contact" @@ -7776,6 +16138,11 @@ public enum InvoicesListRequestExpand )] PaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,company" )] @@ -7786,6 +16153,11 @@ public enum InvoicesListRequestExpand )] PaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee" )] @@ -7796,6 +16168,21 @@ public enum InvoicesListRequestExpand )] PaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee" )] @@ -7806,6 +16193,21 @@ public enum InvoicesListRequestExpand )] PaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactPaymentTerm, + [EnumMember( Value = "payments,tracking_categories,purchase_orders,applied_vendor_credits,employee" )] @@ -7816,12 +16218,32 @@ public enum InvoicesListRequestExpand )] PaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_vendor_credits,employee,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_vendor_credits,employee,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_vendor_credits,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "payments,tracking_categories,purchase_orders,company")] PaymentsTrackingCategoriesPurchaseOrdersCompany, [EnumMember(Value = "payments,tracking_categories,purchase_orders,company,accounting_period")] PaymentsTrackingCategoriesPurchaseOrdersCompanyAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,company,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,tracking_categories,purchase_orders,company,employee")] PaymentsTrackingCategoriesPurchaseOrdersCompanyEmployee, @@ -7830,12 +16252,30 @@ public enum InvoicesListRequestExpand )] PaymentsTrackingCategoriesPurchaseOrdersCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,company,employee,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,company,employee,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersCompanyEmployeePaymentTerm, + + [EnumMember(Value = "payments,tracking_categories,purchase_orders,company,payment_term")] + PaymentsTrackingCategoriesPurchaseOrdersCompanyPaymentTerm, + [EnumMember(Value = "payments,tracking_categories,purchase_orders,contact")] PaymentsTrackingCategoriesPurchaseOrdersContact, [EnumMember(Value = "payments,tracking_categories,purchase_orders,contact,accounting_period")] PaymentsTrackingCategoriesPurchaseOrdersContactAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,contact,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,tracking_categories,purchase_orders,contact,company")] PaymentsTrackingCategoriesPurchaseOrdersContactCompany, @@ -7844,6 +16284,11 @@ public enum InvoicesListRequestExpand )] PaymentsTrackingCategoriesPurchaseOrdersContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,contact,company,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,tracking_categories,purchase_orders,contact,company,employee")] PaymentsTrackingCategoriesPurchaseOrdersContactCompanyEmployee, @@ -7852,6 +16297,21 @@ public enum InvoicesListRequestExpand )] PaymentsTrackingCategoriesPurchaseOrdersContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,contact,company,employee,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,contact,company,employee,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,contact,company,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersContactCompanyPaymentTerm, + [EnumMember(Value = "payments,tracking_categories,purchase_orders,contact,employee")] PaymentsTrackingCategoriesPurchaseOrdersContactEmployee, @@ -7860,24 +16320,54 @@ public enum InvoicesListRequestExpand )] PaymentsTrackingCategoriesPurchaseOrdersContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,contact,employee,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,contact,employee,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersContactEmployeePaymentTerm, + + [EnumMember(Value = "payments,tracking_categories,purchase_orders,contact,payment_term")] + PaymentsTrackingCategoriesPurchaseOrdersContactPaymentTerm, + [EnumMember(Value = "payments,tracking_categories,purchase_orders,employee")] PaymentsTrackingCategoriesPurchaseOrdersEmployee, [EnumMember(Value = "payments,tracking_categories,purchase_orders,employee,accounting_period")] PaymentsTrackingCategoriesPurchaseOrdersEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,employee,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,tracking_categories,purchase_orders,employee,payment_term")] + PaymentsTrackingCategoriesPurchaseOrdersEmployeePaymentTerm, + + [EnumMember(Value = "payments,tracking_categories,purchase_orders,payment_term")] + PaymentsTrackingCategoriesPurchaseOrdersPaymentTerm, + [EnumMember(Value = "purchase_orders")] PurchaseOrders, [EnumMember(Value = "purchase_orders,accounting_period")] PurchaseOrdersAccountingPeriod, + [EnumMember(Value = "purchase_orders,accounting_period,payment_term")] + PurchaseOrdersAccountingPeriodPaymentTerm, + [EnumMember(Value = "purchase_orders,applied_credit_notes")] PurchaseOrdersAppliedCreditNotes, [EnumMember(Value = "purchase_orders,applied_credit_notes,accounting_period")] PurchaseOrdersAppliedCreditNotesAccountingPeriod, + [EnumMember(Value = "purchase_orders,applied_credit_notes,accounting_period,payment_term")] + PurchaseOrdersAppliedCreditNotesAccountingPeriodPaymentTerm, + [EnumMember(Value = "purchase_orders,applied_credit_notes,applied_vendor_credits")] PurchaseOrdersAppliedCreditNotesAppliedVendorCredits, @@ -7886,6 +16376,11 @@ public enum InvoicesListRequestExpand )] PurchaseOrdersAppliedCreditNotesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "purchase_orders,applied_credit_notes,applied_vendor_credits,accounting_period,payment_term" + )] + PurchaseOrdersAppliedCreditNotesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember(Value = "purchase_orders,applied_credit_notes,applied_vendor_credits,company")] PurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompany, @@ -7894,6 +16389,11 @@ public enum InvoicesListRequestExpand )] PurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "purchase_orders,applied_credit_notes,applied_vendor_credits,company,accounting_period,payment_term" + )] + PurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee" )] @@ -7904,6 +16404,21 @@ public enum InvoicesListRequestExpand )] PurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + PurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,payment_term" + )] + PurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "purchase_orders,applied_credit_notes,applied_vendor_credits,company,payment_term" + )] + PurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember(Value = "purchase_orders,applied_credit_notes,applied_vendor_credits,contact")] PurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContact, @@ -7912,6 +16427,11 @@ public enum InvoicesListRequestExpand )] PurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "purchase_orders,applied_credit_notes,applied_vendor_credits,contact,accounting_period,payment_term" + )] + PurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company" )] @@ -7922,6 +16442,11 @@ public enum InvoicesListRequestExpand )] PurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + PurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee" )] @@ -7932,6 +16457,21 @@ public enum InvoicesListRequestExpand )] PurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + PurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,payment_term" + )] + PurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,payment_term" + )] + PurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee" )] @@ -7942,6 +16482,21 @@ public enum InvoicesListRequestExpand )] PurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + PurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,payment_term" + )] + PurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "purchase_orders,applied_credit_notes,applied_vendor_credits,contact,payment_term" + )] + PurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactPaymentTerm, + [EnumMember(Value = "purchase_orders,applied_credit_notes,applied_vendor_credits,employee")] PurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployee, @@ -7950,30 +16505,69 @@ public enum InvoicesListRequestExpand )] PurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period,payment_term" + )] + PurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "purchase_orders,applied_credit_notes,applied_vendor_credits,employee,payment_term" + )] + PurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember(Value = "purchase_orders,applied_credit_notes,applied_vendor_credits,payment_term")] + PurchaseOrdersAppliedCreditNotesAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "purchase_orders,applied_credit_notes,company")] PurchaseOrdersAppliedCreditNotesCompany, [EnumMember(Value = "purchase_orders,applied_credit_notes,company,accounting_period")] PurchaseOrdersAppliedCreditNotesCompanyAccountingPeriod, + [EnumMember( + Value = "purchase_orders,applied_credit_notes,company,accounting_period,payment_term" + )] + PurchaseOrdersAppliedCreditNotesCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "purchase_orders,applied_credit_notes,company,employee")] PurchaseOrdersAppliedCreditNotesCompanyEmployee, [EnumMember(Value = "purchase_orders,applied_credit_notes,company,employee,accounting_period")] PurchaseOrdersAppliedCreditNotesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "purchase_orders,applied_credit_notes,company,employee,accounting_period,payment_term" + )] + PurchaseOrdersAppliedCreditNotesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "purchase_orders,applied_credit_notes,company,employee,payment_term")] + PurchaseOrdersAppliedCreditNotesCompanyEmployeePaymentTerm, + + [EnumMember(Value = "purchase_orders,applied_credit_notes,company,payment_term")] + PurchaseOrdersAppliedCreditNotesCompanyPaymentTerm, + [EnumMember(Value = "purchase_orders,applied_credit_notes,contact")] PurchaseOrdersAppliedCreditNotesContact, [EnumMember(Value = "purchase_orders,applied_credit_notes,contact,accounting_period")] PurchaseOrdersAppliedCreditNotesContactAccountingPeriod, + [EnumMember( + Value = "purchase_orders,applied_credit_notes,contact,accounting_period,payment_term" + )] + PurchaseOrdersAppliedCreditNotesContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "purchase_orders,applied_credit_notes,contact,company")] PurchaseOrdersAppliedCreditNotesContactCompany, [EnumMember(Value = "purchase_orders,applied_credit_notes,contact,company,accounting_period")] PurchaseOrdersAppliedCreditNotesContactCompanyAccountingPeriod, + [EnumMember( + Value = "purchase_orders,applied_credit_notes,contact,company,accounting_period,payment_term" + )] + PurchaseOrdersAppliedCreditNotesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "purchase_orders,applied_credit_notes,contact,company,employee")] PurchaseOrdersAppliedCreditNotesContactCompanyEmployee, @@ -7982,30 +16576,73 @@ public enum InvoicesListRequestExpand )] PurchaseOrdersAppliedCreditNotesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "purchase_orders,applied_credit_notes,contact,company,employee,accounting_period,payment_term" + )] + PurchaseOrdersAppliedCreditNotesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "purchase_orders,applied_credit_notes,contact,company,employee,payment_term" + )] + PurchaseOrdersAppliedCreditNotesContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "purchase_orders,applied_credit_notes,contact,company,payment_term")] + PurchaseOrdersAppliedCreditNotesContactCompanyPaymentTerm, + [EnumMember(Value = "purchase_orders,applied_credit_notes,contact,employee")] PurchaseOrdersAppliedCreditNotesContactEmployee, [EnumMember(Value = "purchase_orders,applied_credit_notes,contact,employee,accounting_period")] PurchaseOrdersAppliedCreditNotesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "purchase_orders,applied_credit_notes,contact,employee,accounting_period,payment_term" + )] + PurchaseOrdersAppliedCreditNotesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "purchase_orders,applied_credit_notes,contact,employee,payment_term")] + PurchaseOrdersAppliedCreditNotesContactEmployeePaymentTerm, + + [EnumMember(Value = "purchase_orders,applied_credit_notes,contact,payment_term")] + PurchaseOrdersAppliedCreditNotesContactPaymentTerm, + [EnumMember(Value = "purchase_orders,applied_credit_notes,employee")] PurchaseOrdersAppliedCreditNotesEmployee, [EnumMember(Value = "purchase_orders,applied_credit_notes,employee,accounting_period")] PurchaseOrdersAppliedCreditNotesEmployeeAccountingPeriod, + [EnumMember( + Value = "purchase_orders,applied_credit_notes,employee,accounting_period,payment_term" + )] + PurchaseOrdersAppliedCreditNotesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "purchase_orders,applied_credit_notes,employee,payment_term")] + PurchaseOrdersAppliedCreditNotesEmployeePaymentTerm, + + [EnumMember(Value = "purchase_orders,applied_credit_notes,payment_term")] + PurchaseOrdersAppliedCreditNotesPaymentTerm, + [EnumMember(Value = "purchase_orders,applied_vendor_credits")] PurchaseOrdersAppliedVendorCredits, [EnumMember(Value = "purchase_orders,applied_vendor_credits,accounting_period")] PurchaseOrdersAppliedVendorCreditsAccountingPeriod, + [EnumMember(Value = "purchase_orders,applied_vendor_credits,accounting_period,payment_term")] + PurchaseOrdersAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember(Value = "purchase_orders,applied_vendor_credits,company")] PurchaseOrdersAppliedVendorCreditsCompany, [EnumMember(Value = "purchase_orders,applied_vendor_credits,company,accounting_period")] PurchaseOrdersAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "purchase_orders,applied_vendor_credits,company,accounting_period,payment_term" + )] + PurchaseOrdersAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "purchase_orders,applied_vendor_credits,company,employee")] PurchaseOrdersAppliedVendorCreditsCompanyEmployee, @@ -8014,18 +16651,39 @@ public enum InvoicesListRequestExpand )] PurchaseOrdersAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "purchase_orders,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + PurchaseOrdersAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "purchase_orders,applied_vendor_credits,company,employee,payment_term")] + PurchaseOrdersAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember(Value = "purchase_orders,applied_vendor_credits,company,payment_term")] + PurchaseOrdersAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember(Value = "purchase_orders,applied_vendor_credits,contact")] PurchaseOrdersAppliedVendorCreditsContact, [EnumMember(Value = "purchase_orders,applied_vendor_credits,contact,accounting_period")] PurchaseOrdersAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "purchase_orders,applied_vendor_credits,contact,accounting_period,payment_term" + )] + PurchaseOrdersAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "purchase_orders,applied_vendor_credits,contact,company")] PurchaseOrdersAppliedVendorCreditsContactCompany, [EnumMember(Value = "purchase_orders,applied_vendor_credits,contact,company,accounting_period")] PurchaseOrdersAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "purchase_orders,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + PurchaseOrdersAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "purchase_orders,applied_vendor_credits,contact,company,employee")] PurchaseOrdersAppliedVendorCreditsContactCompanyEmployee, @@ -8034,6 +16692,19 @@ public enum InvoicesListRequestExpand )] PurchaseOrdersAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "purchase_orders,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + PurchaseOrdersAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "purchase_orders,applied_vendor_credits,contact,company,employee,payment_term" + )] + PurchaseOrdersAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "purchase_orders,applied_vendor_credits,contact,company,payment_term")] + PurchaseOrdersAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember(Value = "purchase_orders,applied_vendor_credits,contact,employee")] PurchaseOrdersAppliedVendorCreditsContactEmployee, @@ -8042,66 +16713,139 @@ public enum InvoicesListRequestExpand )] PurchaseOrdersAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "purchase_orders,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + PurchaseOrdersAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "purchase_orders,applied_vendor_credits,contact,employee,payment_term")] + PurchaseOrdersAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember(Value = "purchase_orders,applied_vendor_credits,contact,payment_term")] + PurchaseOrdersAppliedVendorCreditsContactPaymentTerm, + [EnumMember(Value = "purchase_orders,applied_vendor_credits,employee")] PurchaseOrdersAppliedVendorCreditsEmployee, [EnumMember(Value = "purchase_orders,applied_vendor_credits,employee,accounting_period")] PurchaseOrdersAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "purchase_orders,applied_vendor_credits,employee,accounting_period,payment_term" + )] + PurchaseOrdersAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "purchase_orders,applied_vendor_credits,employee,payment_term")] + PurchaseOrdersAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember(Value = "purchase_orders,applied_vendor_credits,payment_term")] + PurchaseOrdersAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "purchase_orders,company")] PurchaseOrdersCompany, [EnumMember(Value = "purchase_orders,company,accounting_period")] PurchaseOrdersCompanyAccountingPeriod, + [EnumMember(Value = "purchase_orders,company,accounting_period,payment_term")] + PurchaseOrdersCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "purchase_orders,company,employee")] PurchaseOrdersCompanyEmployee, [EnumMember(Value = "purchase_orders,company,employee,accounting_period")] PurchaseOrdersCompanyEmployeeAccountingPeriod, + [EnumMember(Value = "purchase_orders,company,employee,accounting_period,payment_term")] + PurchaseOrdersCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "purchase_orders,company,employee,payment_term")] + PurchaseOrdersCompanyEmployeePaymentTerm, + + [EnumMember(Value = "purchase_orders,company,payment_term")] + PurchaseOrdersCompanyPaymentTerm, + [EnumMember(Value = "purchase_orders,contact")] PurchaseOrdersContact, [EnumMember(Value = "purchase_orders,contact,accounting_period")] PurchaseOrdersContactAccountingPeriod, + [EnumMember(Value = "purchase_orders,contact,accounting_period,payment_term")] + PurchaseOrdersContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "purchase_orders,contact,company")] PurchaseOrdersContactCompany, [EnumMember(Value = "purchase_orders,contact,company,accounting_period")] PurchaseOrdersContactCompanyAccountingPeriod, + [EnumMember(Value = "purchase_orders,contact,company,accounting_period,payment_term")] + PurchaseOrdersContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "purchase_orders,contact,company,employee")] PurchaseOrdersContactCompanyEmployee, [EnumMember(Value = "purchase_orders,contact,company,employee,accounting_period")] PurchaseOrdersContactCompanyEmployeeAccountingPeriod, + [EnumMember(Value = "purchase_orders,contact,company,employee,accounting_period,payment_term")] + PurchaseOrdersContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "purchase_orders,contact,company,employee,payment_term")] + PurchaseOrdersContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "purchase_orders,contact,company,payment_term")] + PurchaseOrdersContactCompanyPaymentTerm, + [EnumMember(Value = "purchase_orders,contact,employee")] PurchaseOrdersContactEmployee, [EnumMember(Value = "purchase_orders,contact,employee,accounting_period")] PurchaseOrdersContactEmployeeAccountingPeriod, + [EnumMember(Value = "purchase_orders,contact,employee,accounting_period,payment_term")] + PurchaseOrdersContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "purchase_orders,contact,employee,payment_term")] + PurchaseOrdersContactEmployeePaymentTerm, + + [EnumMember(Value = "purchase_orders,contact,payment_term")] + PurchaseOrdersContactPaymentTerm, + [EnumMember(Value = "purchase_orders,employee")] PurchaseOrdersEmployee, [EnumMember(Value = "purchase_orders,employee,accounting_period")] PurchaseOrdersEmployeeAccountingPeriod, + [EnumMember(Value = "purchase_orders,employee,accounting_period,payment_term")] + PurchaseOrdersEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "purchase_orders,employee,payment_term")] + PurchaseOrdersEmployeePaymentTerm, + + [EnumMember(Value = "purchase_orders,payment_term")] + PurchaseOrdersPaymentTerm, + [EnumMember(Value = "tracking_categories")] TrackingCategories, [EnumMember(Value = "tracking_categories,accounting_period")] TrackingCategoriesAccountingPeriod, + [EnumMember(Value = "tracking_categories,accounting_period,payment_term")] + TrackingCategoriesAccountingPeriodPaymentTerm, + [EnumMember(Value = "tracking_categories,applied_credit_notes")] TrackingCategoriesAppliedCreditNotes, [EnumMember(Value = "tracking_categories,applied_credit_notes,accounting_period")] TrackingCategoriesAppliedCreditNotesAccountingPeriod, + [EnumMember(Value = "tracking_categories,applied_credit_notes,accounting_period,payment_term")] + TrackingCategoriesAppliedCreditNotesAccountingPeriodPaymentTerm, + [EnumMember(Value = "tracking_categories,applied_credit_notes,applied_vendor_credits")] TrackingCategoriesAppliedCreditNotesAppliedVendorCredits, @@ -8110,6 +16854,11 @@ public enum InvoicesListRequestExpand )] TrackingCategoriesAppliedCreditNotesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "tracking_categories,applied_credit_notes,applied_vendor_credits,accounting_period,payment_term" + )] + TrackingCategoriesAppliedCreditNotesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember(Value = "tracking_categories,applied_credit_notes,applied_vendor_credits,company")] TrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompany, @@ -8118,6 +16867,11 @@ public enum InvoicesListRequestExpand )] TrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "tracking_categories,applied_credit_notes,applied_vendor_credits,company,accounting_period,payment_term" + )] + TrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee" )] @@ -8128,6 +16882,21 @@ public enum InvoicesListRequestExpand )] TrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + TrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee,payment_term" + )] + TrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "tracking_categories,applied_credit_notes,applied_vendor_credits,company,payment_term" + )] + TrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember(Value = "tracking_categories,applied_credit_notes,applied_vendor_credits,contact")] TrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContact, @@ -8136,6 +16905,11 @@ public enum InvoicesListRequestExpand )] TrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "tracking_categories,applied_credit_notes,applied_vendor_credits,contact,accounting_period,payment_term" + )] + TrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company" )] @@ -8146,6 +16920,11 @@ public enum InvoicesListRequestExpand )] TrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + TrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee" )] @@ -8156,6 +16935,21 @@ public enum InvoicesListRequestExpand )] TrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + TrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee,payment_term" + )] + TrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,payment_term" + )] + TrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee" )] @@ -8166,13 +16960,43 @@ public enum InvoicesListRequestExpand )] TrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + TrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee,payment_term" + )] + TrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "tracking_categories,applied_credit_notes,applied_vendor_credits,contact,payment_term" + )] + TrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactPaymentTerm, + [EnumMember(Value = "tracking_categories,applied_credit_notes,applied_vendor_credits,employee")] TrackingCategoriesAppliedCreditNotesAppliedVendorCreditsEmployee, [EnumMember( - Value = "tracking_categories,applied_credit_notes,applied_vendor_credits,employee,accounting_period" + Value = "tracking_categories,applied_credit_notes,applied_vendor_credits,employee,accounting_period" + )] + TrackingCategoriesAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriod, + + [EnumMember( + Value = "tracking_categories,applied_credit_notes,applied_vendor_credits,employee,accounting_period,payment_term" + )] + TrackingCategoriesAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "tracking_categories,applied_credit_notes,applied_vendor_credits,employee,payment_term" + )] + TrackingCategoriesAppliedCreditNotesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "tracking_categories,applied_credit_notes,applied_vendor_credits,payment_term" )] - TrackingCategoriesAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriod, + TrackingCategoriesAppliedCreditNotesAppliedVendorCreditsPaymentTerm, [EnumMember(Value = "tracking_categories,applied_credit_notes,company")] TrackingCategoriesAppliedCreditNotesCompany, @@ -8180,6 +17004,11 @@ public enum InvoicesListRequestExpand [EnumMember(Value = "tracking_categories,applied_credit_notes,company,accounting_period")] TrackingCategoriesAppliedCreditNotesCompanyAccountingPeriod, + [EnumMember( + Value = "tracking_categories,applied_credit_notes,company,accounting_period,payment_term" + )] + TrackingCategoriesAppliedCreditNotesCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "tracking_categories,applied_credit_notes,company,employee")] TrackingCategoriesAppliedCreditNotesCompanyEmployee, @@ -8188,12 +17017,28 @@ public enum InvoicesListRequestExpand )] TrackingCategoriesAppliedCreditNotesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "tracking_categories,applied_credit_notes,company,employee,accounting_period,payment_term" + )] + TrackingCategoriesAppliedCreditNotesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "tracking_categories,applied_credit_notes,company,employee,payment_term")] + TrackingCategoriesAppliedCreditNotesCompanyEmployeePaymentTerm, + + [EnumMember(Value = "tracking_categories,applied_credit_notes,company,payment_term")] + TrackingCategoriesAppliedCreditNotesCompanyPaymentTerm, + [EnumMember(Value = "tracking_categories,applied_credit_notes,contact")] TrackingCategoriesAppliedCreditNotesContact, [EnumMember(Value = "tracking_categories,applied_credit_notes,contact,accounting_period")] TrackingCategoriesAppliedCreditNotesContactAccountingPeriod, + [EnumMember( + Value = "tracking_categories,applied_credit_notes,contact,accounting_period,payment_term" + )] + TrackingCategoriesAppliedCreditNotesContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "tracking_categories,applied_credit_notes,contact,company")] TrackingCategoriesAppliedCreditNotesContactCompany, @@ -8202,6 +17047,11 @@ public enum InvoicesListRequestExpand )] TrackingCategoriesAppliedCreditNotesContactCompanyAccountingPeriod, + [EnumMember( + Value = "tracking_categories,applied_credit_notes,contact,company,accounting_period,payment_term" + )] + TrackingCategoriesAppliedCreditNotesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "tracking_categories,applied_credit_notes,contact,company,employee")] TrackingCategoriesAppliedCreditNotesContactCompanyEmployee, @@ -8210,6 +17060,19 @@ public enum InvoicesListRequestExpand )] TrackingCategoriesAppliedCreditNotesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "tracking_categories,applied_credit_notes,contact,company,employee,accounting_period,payment_term" + )] + TrackingCategoriesAppliedCreditNotesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "tracking_categories,applied_credit_notes,contact,company,employee,payment_term" + )] + TrackingCategoriesAppliedCreditNotesContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "tracking_categories,applied_credit_notes,contact,company,payment_term")] + TrackingCategoriesAppliedCreditNotesContactCompanyPaymentTerm, + [EnumMember(Value = "tracking_categories,applied_credit_notes,contact,employee")] TrackingCategoriesAppliedCreditNotesContactEmployee, @@ -8218,24 +17081,56 @@ public enum InvoicesListRequestExpand )] TrackingCategoriesAppliedCreditNotesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "tracking_categories,applied_credit_notes,contact,employee,accounting_period,payment_term" + )] + TrackingCategoriesAppliedCreditNotesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "tracking_categories,applied_credit_notes,contact,employee,payment_term")] + TrackingCategoriesAppliedCreditNotesContactEmployeePaymentTerm, + + [EnumMember(Value = "tracking_categories,applied_credit_notes,contact,payment_term")] + TrackingCategoriesAppliedCreditNotesContactPaymentTerm, + [EnumMember(Value = "tracking_categories,applied_credit_notes,employee")] TrackingCategoriesAppliedCreditNotesEmployee, [EnumMember(Value = "tracking_categories,applied_credit_notes,employee,accounting_period")] TrackingCategoriesAppliedCreditNotesEmployeeAccountingPeriod, + [EnumMember( + Value = "tracking_categories,applied_credit_notes,employee,accounting_period,payment_term" + )] + TrackingCategoriesAppliedCreditNotesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "tracking_categories,applied_credit_notes,employee,payment_term")] + TrackingCategoriesAppliedCreditNotesEmployeePaymentTerm, + + [EnumMember(Value = "tracking_categories,applied_credit_notes,payment_term")] + TrackingCategoriesAppliedCreditNotesPaymentTerm, + [EnumMember(Value = "tracking_categories,applied_vendor_credits")] TrackingCategoriesAppliedVendorCredits, [EnumMember(Value = "tracking_categories,applied_vendor_credits,accounting_period")] TrackingCategoriesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "tracking_categories,applied_vendor_credits,accounting_period,payment_term" + )] + TrackingCategoriesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember(Value = "tracking_categories,applied_vendor_credits,company")] TrackingCategoriesAppliedVendorCreditsCompany, [EnumMember(Value = "tracking_categories,applied_vendor_credits,company,accounting_period")] TrackingCategoriesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "tracking_categories,applied_vendor_credits,company,accounting_period,payment_term" + )] + TrackingCategoriesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "tracking_categories,applied_vendor_credits,company,employee")] TrackingCategoriesAppliedVendorCreditsCompanyEmployee, @@ -8244,12 +17139,28 @@ public enum InvoicesListRequestExpand )] TrackingCategoriesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "tracking_categories,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + TrackingCategoriesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "tracking_categories,applied_vendor_credits,company,employee,payment_term")] + TrackingCategoriesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember(Value = "tracking_categories,applied_vendor_credits,company,payment_term")] + TrackingCategoriesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember(Value = "tracking_categories,applied_vendor_credits,contact")] TrackingCategoriesAppliedVendorCreditsContact, [EnumMember(Value = "tracking_categories,applied_vendor_credits,contact,accounting_period")] TrackingCategoriesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "tracking_categories,applied_vendor_credits,contact,accounting_period,payment_term" + )] + TrackingCategoriesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "tracking_categories,applied_vendor_credits,contact,company")] TrackingCategoriesAppliedVendorCreditsContactCompany, @@ -8258,6 +17169,11 @@ public enum InvoicesListRequestExpand )] TrackingCategoriesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "tracking_categories,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + TrackingCategoriesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "tracking_categories,applied_vendor_credits,contact,company,employee")] TrackingCategoriesAppliedVendorCreditsContactCompanyEmployee, @@ -8266,6 +17182,19 @@ public enum InvoicesListRequestExpand )] TrackingCategoriesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "tracking_categories,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + TrackingCategoriesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "tracking_categories,applied_vendor_credits,contact,company,employee,payment_term" + )] + TrackingCategoriesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "tracking_categories,applied_vendor_credits,contact,company,payment_term")] + TrackingCategoriesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember(Value = "tracking_categories,applied_vendor_credits,contact,employee")] TrackingCategoriesAppliedVendorCreditsContactEmployee, @@ -8274,60 +17203,132 @@ public enum InvoicesListRequestExpand )] TrackingCategoriesAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "tracking_categories,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + TrackingCategoriesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "tracking_categories,applied_vendor_credits,contact,employee,payment_term")] + TrackingCategoriesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember(Value = "tracking_categories,applied_vendor_credits,contact,payment_term")] + TrackingCategoriesAppliedVendorCreditsContactPaymentTerm, + [EnumMember(Value = "tracking_categories,applied_vendor_credits,employee")] TrackingCategoriesAppliedVendorCreditsEmployee, [EnumMember(Value = "tracking_categories,applied_vendor_credits,employee,accounting_period")] TrackingCategoriesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "tracking_categories,applied_vendor_credits,employee,accounting_period,payment_term" + )] + TrackingCategoriesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "tracking_categories,applied_vendor_credits,employee,payment_term")] + TrackingCategoriesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember(Value = "tracking_categories,applied_vendor_credits,payment_term")] + TrackingCategoriesAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "tracking_categories,company")] TrackingCategoriesCompany, [EnumMember(Value = "tracking_categories,company,accounting_period")] TrackingCategoriesCompanyAccountingPeriod, + [EnumMember(Value = "tracking_categories,company,accounting_period,payment_term")] + TrackingCategoriesCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "tracking_categories,company,employee")] TrackingCategoriesCompanyEmployee, [EnumMember(Value = "tracking_categories,company,employee,accounting_period")] TrackingCategoriesCompanyEmployeeAccountingPeriod, + [EnumMember(Value = "tracking_categories,company,employee,accounting_period,payment_term")] + TrackingCategoriesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "tracking_categories,company,employee,payment_term")] + TrackingCategoriesCompanyEmployeePaymentTerm, + + [EnumMember(Value = "tracking_categories,company,payment_term")] + TrackingCategoriesCompanyPaymentTerm, + [EnumMember(Value = "tracking_categories,contact")] TrackingCategoriesContact, [EnumMember(Value = "tracking_categories,contact,accounting_period")] TrackingCategoriesContactAccountingPeriod, + [EnumMember(Value = "tracking_categories,contact,accounting_period,payment_term")] + TrackingCategoriesContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "tracking_categories,contact,company")] TrackingCategoriesContactCompany, [EnumMember(Value = "tracking_categories,contact,company,accounting_period")] TrackingCategoriesContactCompanyAccountingPeriod, + [EnumMember(Value = "tracking_categories,contact,company,accounting_period,payment_term")] + TrackingCategoriesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "tracking_categories,contact,company,employee")] TrackingCategoriesContactCompanyEmployee, [EnumMember(Value = "tracking_categories,contact,company,employee,accounting_period")] TrackingCategoriesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "tracking_categories,contact,company,employee,accounting_period,payment_term" + )] + TrackingCategoriesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "tracking_categories,contact,company,employee,payment_term")] + TrackingCategoriesContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "tracking_categories,contact,company,payment_term")] + TrackingCategoriesContactCompanyPaymentTerm, + [EnumMember(Value = "tracking_categories,contact,employee")] TrackingCategoriesContactEmployee, [EnumMember(Value = "tracking_categories,contact,employee,accounting_period")] TrackingCategoriesContactEmployeeAccountingPeriod, + [EnumMember(Value = "tracking_categories,contact,employee,accounting_period,payment_term")] + TrackingCategoriesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "tracking_categories,contact,employee,payment_term")] + TrackingCategoriesContactEmployeePaymentTerm, + + [EnumMember(Value = "tracking_categories,contact,payment_term")] + TrackingCategoriesContactPaymentTerm, + [EnumMember(Value = "tracking_categories,employee")] TrackingCategoriesEmployee, [EnumMember(Value = "tracking_categories,employee,accounting_period")] TrackingCategoriesEmployeeAccountingPeriod, + [EnumMember(Value = "tracking_categories,employee,accounting_period,payment_term")] + TrackingCategoriesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "tracking_categories,employee,payment_term")] + TrackingCategoriesEmployeePaymentTerm, + + [EnumMember(Value = "tracking_categories,payment_term")] + TrackingCategoriesPaymentTerm, + [EnumMember(Value = "tracking_categories,purchase_orders")] TrackingCategoriesPurchaseOrders, [EnumMember(Value = "tracking_categories,purchase_orders,accounting_period")] TrackingCategoriesPurchaseOrdersAccountingPeriod, + [EnumMember(Value = "tracking_categories,purchase_orders,accounting_period,payment_term")] + TrackingCategoriesPurchaseOrdersAccountingPeriodPaymentTerm, + [EnumMember(Value = "tracking_categories,purchase_orders,applied_credit_notes")] TrackingCategoriesPurchaseOrdersAppliedCreditNotes, @@ -8336,6 +17337,11 @@ public enum InvoicesListRequestExpand )] TrackingCategoriesPurchaseOrdersAppliedCreditNotesAccountingPeriod, + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_credit_notes,accounting_period,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedCreditNotesAccountingPeriodPaymentTerm, + [EnumMember( Value = "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits" )] @@ -8346,6 +17352,11 @@ public enum InvoicesListRequestExpand )] TrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,accounting_period,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company" )] @@ -8356,6 +17367,11 @@ public enum InvoicesListRequestExpand )] TrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,accounting_period,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee" )] @@ -8366,6 +17382,21 @@ public enum InvoicesListRequestExpand )] TrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember( Value = "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact" )] @@ -8376,6 +17407,11 @@ public enum InvoicesListRequestExpand )] TrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,accounting_period,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company" )] @@ -8386,6 +17422,11 @@ public enum InvoicesListRequestExpand )] TrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee" )] @@ -8396,6 +17437,21 @@ public enum InvoicesListRequestExpand )] TrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee" )] @@ -8406,6 +17462,21 @@ public enum InvoicesListRequestExpand )] TrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactPaymentTerm, + [EnumMember( Value = "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee" )] @@ -8416,6 +17487,21 @@ public enum InvoicesListRequestExpand )] TrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "tracking_categories,purchase_orders,applied_credit_notes,company")] TrackingCategoriesPurchaseOrdersAppliedCreditNotesCompany, @@ -8424,6 +17510,11 @@ public enum InvoicesListRequestExpand )] TrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyAccountingPeriod, + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_credit_notes,company,accounting_period,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "tracking_categories,purchase_orders,applied_credit_notes,company,employee" )] @@ -8434,6 +17525,21 @@ public enum InvoicesListRequestExpand )] TrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_credit_notes,company,employee,accounting_period,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_credit_notes,company,employee,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_credit_notes,company,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyPaymentTerm, + [EnumMember(Value = "tracking_categories,purchase_orders,applied_credit_notes,contact")] TrackingCategoriesPurchaseOrdersAppliedCreditNotesContact, @@ -8442,6 +17548,11 @@ public enum InvoicesListRequestExpand )] TrackingCategoriesPurchaseOrdersAppliedCreditNotesContactAccountingPeriod, + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_credit_notes,contact,accounting_period,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedCreditNotesContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "tracking_categories,purchase_orders,applied_credit_notes,contact,company")] TrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompany, @@ -8450,6 +17561,11 @@ public enum InvoicesListRequestExpand )] TrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyAccountingPeriod, + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_credit_notes,contact,company,accounting_period,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee" )] @@ -8460,6 +17576,21 @@ public enum InvoicesListRequestExpand )] TrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee,accounting_period,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_credit_notes,contact,company,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyPaymentTerm, + [EnumMember( Value = "tracking_categories,purchase_orders,applied_credit_notes,contact,employee" )] @@ -8470,6 +17601,21 @@ public enum InvoicesListRequestExpand )] TrackingCategoriesPurchaseOrdersAppliedCreditNotesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_credit_notes,contact,employee,accounting_period,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedCreditNotesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_credit_notes,contact,employee,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedCreditNotesContactEmployeePaymentTerm, + + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_credit_notes,contact,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedCreditNotesContactPaymentTerm, + [EnumMember(Value = "tracking_categories,purchase_orders,applied_credit_notes,employee")] TrackingCategoriesPurchaseOrdersAppliedCreditNotesEmployee, @@ -8478,6 +17624,19 @@ public enum InvoicesListRequestExpand )] TrackingCategoriesPurchaseOrdersAppliedCreditNotesEmployeeAccountingPeriod, + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_credit_notes,employee,accounting_period,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedCreditNotesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_credit_notes,employee,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedCreditNotesEmployeePaymentTerm, + + [EnumMember(Value = "tracking_categories,purchase_orders,applied_credit_notes,payment_term")] + TrackingCategoriesPurchaseOrdersAppliedCreditNotesPaymentTerm, + [EnumMember(Value = "tracking_categories,purchase_orders,applied_vendor_credits")] TrackingCategoriesPurchaseOrdersAppliedVendorCredits, @@ -8486,6 +17645,11 @@ public enum InvoicesListRequestExpand )] TrackingCategoriesPurchaseOrdersAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_vendor_credits,accounting_period,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember(Value = "tracking_categories,purchase_orders,applied_vendor_credits,company")] TrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompany, @@ -8494,6 +17658,11 @@ public enum InvoicesListRequestExpand )] TrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_vendor_credits,company,accounting_period,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "tracking_categories,purchase_orders,applied_vendor_credits,company,employee" )] @@ -8504,6 +17673,21 @@ public enum InvoicesListRequestExpand )] TrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_vendor_credits,company,employee,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_vendor_credits,company,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember(Value = "tracking_categories,purchase_orders,applied_vendor_credits,contact")] TrackingCategoriesPurchaseOrdersAppliedVendorCreditsContact, @@ -8512,6 +17696,11 @@ public enum InvoicesListRequestExpand )] TrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_vendor_credits,contact,accounting_period,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "tracking_categories,purchase_orders,applied_vendor_credits,contact,company" )] @@ -8522,6 +17711,11 @@ public enum InvoicesListRequestExpand )] TrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee" )] @@ -8532,6 +17726,21 @@ public enum InvoicesListRequestExpand )] TrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_vendor_credits,contact,company,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "tracking_categories,purchase_orders,applied_vendor_credits,contact,employee" )] @@ -8542,6 +17751,21 @@ public enum InvoicesListRequestExpand )] TrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_vendor_credits,contact,employee,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_vendor_credits,contact,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactPaymentTerm, + [EnumMember(Value = "tracking_categories,purchase_orders,applied_vendor_credits,employee")] TrackingCategoriesPurchaseOrdersAppliedVendorCreditsEmployee, @@ -8550,30 +17774,69 @@ public enum InvoicesListRequestExpand )] TrackingCategoriesPurchaseOrdersAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_vendor_credits,employee,accounting_period,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_vendor_credits,employee,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember(Value = "tracking_categories,purchase_orders,applied_vendor_credits,payment_term")] + TrackingCategoriesPurchaseOrdersAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "tracking_categories,purchase_orders,company")] TrackingCategoriesPurchaseOrdersCompany, [EnumMember(Value = "tracking_categories,purchase_orders,company,accounting_period")] TrackingCategoriesPurchaseOrdersCompanyAccountingPeriod, + [EnumMember( + Value = "tracking_categories,purchase_orders,company,accounting_period,payment_term" + )] + TrackingCategoriesPurchaseOrdersCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "tracking_categories,purchase_orders,company,employee")] TrackingCategoriesPurchaseOrdersCompanyEmployee, [EnumMember(Value = "tracking_categories,purchase_orders,company,employee,accounting_period")] TrackingCategoriesPurchaseOrdersCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "tracking_categories,purchase_orders,company,employee,accounting_period,payment_term" + )] + TrackingCategoriesPurchaseOrdersCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "tracking_categories,purchase_orders,company,employee,payment_term")] + TrackingCategoriesPurchaseOrdersCompanyEmployeePaymentTerm, + + [EnumMember(Value = "tracking_categories,purchase_orders,company,payment_term")] + TrackingCategoriesPurchaseOrdersCompanyPaymentTerm, + [EnumMember(Value = "tracking_categories,purchase_orders,contact")] TrackingCategoriesPurchaseOrdersContact, [EnumMember(Value = "tracking_categories,purchase_orders,contact,accounting_period")] TrackingCategoriesPurchaseOrdersContactAccountingPeriod, + [EnumMember( + Value = "tracking_categories,purchase_orders,contact,accounting_period,payment_term" + )] + TrackingCategoriesPurchaseOrdersContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "tracking_categories,purchase_orders,contact,company")] TrackingCategoriesPurchaseOrdersContactCompany, [EnumMember(Value = "tracking_categories,purchase_orders,contact,company,accounting_period")] TrackingCategoriesPurchaseOrdersContactCompanyAccountingPeriod, + [EnumMember( + Value = "tracking_categories,purchase_orders,contact,company,accounting_period,payment_term" + )] + TrackingCategoriesPurchaseOrdersContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "tracking_categories,purchase_orders,contact,company,employee")] TrackingCategoriesPurchaseOrdersContactCompanyEmployee, @@ -8582,15 +17845,50 @@ public enum InvoicesListRequestExpand )] TrackingCategoriesPurchaseOrdersContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "tracking_categories,purchase_orders,contact,company,employee,accounting_period,payment_term" + )] + TrackingCategoriesPurchaseOrdersContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "tracking_categories,purchase_orders,contact,company,employee,payment_term" + )] + TrackingCategoriesPurchaseOrdersContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "tracking_categories,purchase_orders,contact,company,payment_term")] + TrackingCategoriesPurchaseOrdersContactCompanyPaymentTerm, + [EnumMember(Value = "tracking_categories,purchase_orders,contact,employee")] TrackingCategoriesPurchaseOrdersContactEmployee, [EnumMember(Value = "tracking_categories,purchase_orders,contact,employee,accounting_period")] TrackingCategoriesPurchaseOrdersContactEmployeeAccountingPeriod, + [EnumMember( + Value = "tracking_categories,purchase_orders,contact,employee,accounting_period,payment_term" + )] + TrackingCategoriesPurchaseOrdersContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "tracking_categories,purchase_orders,contact,employee,payment_term")] + TrackingCategoriesPurchaseOrdersContactEmployeePaymentTerm, + + [EnumMember(Value = "tracking_categories,purchase_orders,contact,payment_term")] + TrackingCategoriesPurchaseOrdersContactPaymentTerm, + [EnumMember(Value = "tracking_categories,purchase_orders,employee")] TrackingCategoriesPurchaseOrdersEmployee, [EnumMember(Value = "tracking_categories,purchase_orders,employee,accounting_period")] TrackingCategoriesPurchaseOrdersEmployeeAccountingPeriod, + + [EnumMember( + Value = "tracking_categories,purchase_orders,employee,accounting_period,payment_term" + )] + TrackingCategoriesPurchaseOrdersEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "tracking_categories,purchase_orders,employee,payment_term")] + TrackingCategoriesPurchaseOrdersEmployeePaymentTerm, + + [EnumMember(Value = "tracking_categories,purchase_orders,payment_term")] + TrackingCategoriesPurchaseOrdersPaymentTerm, } diff --git a/src/Merge.Client/Accounting/Invoices/Types/InvoicesRetrieveRequestExpand.cs b/src/Merge.Client/Accounting/Invoices/Types/InvoicesRetrieveRequestExpand.cs index af3cba0a..7ac9481d 100644 --- a/src/Merge.Client/Accounting/Invoices/Types/InvoicesRetrieveRequestExpand.cs +++ b/src/Merge.Client/Accounting/Invoices/Types/InvoicesRetrieveRequestExpand.cs @@ -10,24 +10,40 @@ public enum InvoicesRetrieveRequestExpand [EnumMember(Value = "accounting_period")] AccountingPeriod, + [EnumMember(Value = "accounting_period,payment_term")] + AccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_credit_notes")] AppliedCreditNotes, [EnumMember(Value = "applied_credit_notes,accounting_period")] AppliedCreditNotesAccountingPeriod, + [EnumMember(Value = "applied_credit_notes,accounting_period,payment_term")] + AppliedCreditNotesAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_credit_notes,applied_vendor_credits")] AppliedCreditNotesAppliedVendorCredits, [EnumMember(Value = "applied_credit_notes,applied_vendor_credits,accounting_period")] AppliedCreditNotesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "applied_credit_notes,applied_vendor_credits,accounting_period,payment_term" + )] + AppliedCreditNotesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_credit_notes,applied_vendor_credits,company")] AppliedCreditNotesAppliedVendorCreditsCompany, [EnumMember(Value = "applied_credit_notes,applied_vendor_credits,company,accounting_period")] AppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "applied_credit_notes,applied_vendor_credits,company,accounting_period,payment_term" + )] + AppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_credit_notes,applied_vendor_credits,company,employee")] AppliedCreditNotesAppliedVendorCreditsCompanyEmployee, @@ -36,12 +52,30 @@ public enum InvoicesRetrieveRequestExpand )] AppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_credit_notes,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + AppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_credit_notes,applied_vendor_credits,company,employee,payment_term" + )] + AppliedCreditNotesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember(Value = "applied_credit_notes,applied_vendor_credits,company,payment_term")] + AppliedCreditNotesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember(Value = "applied_credit_notes,applied_vendor_credits,contact")] AppliedCreditNotesAppliedVendorCreditsContact, [EnumMember(Value = "applied_credit_notes,applied_vendor_credits,contact,accounting_period")] AppliedCreditNotesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "applied_credit_notes,applied_vendor_credits,contact,accounting_period,payment_term" + )] + AppliedCreditNotesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_credit_notes,applied_vendor_credits,contact,company")] AppliedCreditNotesAppliedVendorCreditsContactCompany, @@ -50,6 +84,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "applied_credit_notes,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + AppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_credit_notes,applied_vendor_credits,contact,company,employee")] AppliedCreditNotesAppliedVendorCreditsContactCompanyEmployee, @@ -58,6 +97,19 @@ public enum InvoicesRetrieveRequestExpand )] AppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + AppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_credit_notes,applied_vendor_credits,contact,company,employee,payment_term" + )] + AppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "applied_credit_notes,applied_vendor_credits,contact,company,payment_term")] + AppliedCreditNotesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember(Value = "applied_credit_notes,applied_vendor_credits,contact,employee")] AppliedCreditNotesAppliedVendorCreditsContactEmployee, @@ -66,66 +118,143 @@ public enum InvoicesRetrieveRequestExpand )] AppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + AppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_credit_notes,applied_vendor_credits,contact,employee,payment_term" + )] + AppliedCreditNotesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember(Value = "applied_credit_notes,applied_vendor_credits,contact,payment_term")] + AppliedCreditNotesAppliedVendorCreditsContactPaymentTerm, + [EnumMember(Value = "applied_credit_notes,applied_vendor_credits,employee")] AppliedCreditNotesAppliedVendorCreditsEmployee, [EnumMember(Value = "applied_credit_notes,applied_vendor_credits,employee,accounting_period")] AppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_credit_notes,applied_vendor_credits,employee,accounting_period,payment_term" + )] + AppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "applied_credit_notes,applied_vendor_credits,employee,payment_term")] + AppliedCreditNotesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember(Value = "applied_credit_notes,applied_vendor_credits,payment_term")] + AppliedCreditNotesAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "applied_credit_notes,company")] AppliedCreditNotesCompany, [EnumMember(Value = "applied_credit_notes,company,accounting_period")] AppliedCreditNotesCompanyAccountingPeriod, + [EnumMember(Value = "applied_credit_notes,company,accounting_period,payment_term")] + AppliedCreditNotesCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_credit_notes,company,employee")] AppliedCreditNotesCompanyEmployee, [EnumMember(Value = "applied_credit_notes,company,employee,accounting_period")] AppliedCreditNotesCompanyEmployeeAccountingPeriod, + [EnumMember(Value = "applied_credit_notes,company,employee,accounting_period,payment_term")] + AppliedCreditNotesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "applied_credit_notes,company,employee,payment_term")] + AppliedCreditNotesCompanyEmployeePaymentTerm, + + [EnumMember(Value = "applied_credit_notes,company,payment_term")] + AppliedCreditNotesCompanyPaymentTerm, + [EnumMember(Value = "applied_credit_notes,contact")] AppliedCreditNotesContact, [EnumMember(Value = "applied_credit_notes,contact,accounting_period")] AppliedCreditNotesContactAccountingPeriod, + [EnumMember(Value = "applied_credit_notes,contact,accounting_period,payment_term")] + AppliedCreditNotesContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_credit_notes,contact,company")] AppliedCreditNotesContactCompany, [EnumMember(Value = "applied_credit_notes,contact,company,accounting_period")] AppliedCreditNotesContactCompanyAccountingPeriod, + [EnumMember(Value = "applied_credit_notes,contact,company,accounting_period,payment_term")] + AppliedCreditNotesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_credit_notes,contact,company,employee")] AppliedCreditNotesContactCompanyEmployee, [EnumMember(Value = "applied_credit_notes,contact,company,employee,accounting_period")] AppliedCreditNotesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_credit_notes,contact,company,employee,accounting_period,payment_term" + )] + AppliedCreditNotesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "applied_credit_notes,contact,company,employee,payment_term")] + AppliedCreditNotesContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "applied_credit_notes,contact,company,payment_term")] + AppliedCreditNotesContactCompanyPaymentTerm, + [EnumMember(Value = "applied_credit_notes,contact,employee")] AppliedCreditNotesContactEmployee, [EnumMember(Value = "applied_credit_notes,contact,employee,accounting_period")] AppliedCreditNotesContactEmployeeAccountingPeriod, + [EnumMember(Value = "applied_credit_notes,contact,employee,accounting_period,payment_term")] + AppliedCreditNotesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "applied_credit_notes,contact,employee,payment_term")] + AppliedCreditNotesContactEmployeePaymentTerm, + + [EnumMember(Value = "applied_credit_notes,contact,payment_term")] + AppliedCreditNotesContactPaymentTerm, + [EnumMember(Value = "applied_credit_notes,employee")] AppliedCreditNotesEmployee, [EnumMember(Value = "applied_credit_notes,employee,accounting_period")] AppliedCreditNotesEmployeeAccountingPeriod, + [EnumMember(Value = "applied_credit_notes,employee,accounting_period,payment_term")] + AppliedCreditNotesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "applied_credit_notes,employee,payment_term")] + AppliedCreditNotesEmployeePaymentTerm, + + [EnumMember(Value = "applied_credit_notes,payment_term")] + AppliedCreditNotesPaymentTerm, + [EnumMember(Value = "applied_payments")] AppliedPayments, [EnumMember(Value = "applied_payments,accounting_period")] AppliedPaymentsAccountingPeriod, + [EnumMember(Value = "applied_payments,accounting_period,payment_term")] + AppliedPaymentsAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,applied_credit_notes")] AppliedPaymentsAppliedCreditNotes, [EnumMember(Value = "applied_payments,applied_credit_notes,accounting_period")] AppliedPaymentsAppliedCreditNotesAccountingPeriod, + [EnumMember(Value = "applied_payments,applied_credit_notes,accounting_period,payment_term")] + AppliedPaymentsAppliedCreditNotesAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,applied_credit_notes,applied_vendor_credits")] AppliedPaymentsAppliedCreditNotesAppliedVendorCredits, @@ -134,6 +263,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsAppliedCreditNotesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "applied_payments,applied_credit_notes,applied_vendor_credits,accounting_period,payment_term" + )] + AppliedPaymentsAppliedCreditNotesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,applied_credit_notes,applied_vendor_credits,company")] AppliedPaymentsAppliedCreditNotesAppliedVendorCreditsCompany, @@ -142,6 +276,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,applied_credit_notes,applied_vendor_credits,company,accounting_period,payment_term" + )] + AppliedPaymentsAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,applied_credit_notes,applied_vendor_credits,company,employee" )] @@ -152,6 +291,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,applied_credit_notes,applied_vendor_credits,company,employee,payment_term" + )] + AppliedPaymentsAppliedCreditNotesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,applied_credit_notes,applied_vendor_credits,company,payment_term" + )] + AppliedPaymentsAppliedCreditNotesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember(Value = "applied_payments,applied_credit_notes,applied_vendor_credits,contact")] AppliedPaymentsAppliedCreditNotesAppliedVendorCreditsContact, @@ -160,6 +314,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "applied_payments,applied_credit_notes,applied_vendor_credits,contact,accounting_period,payment_term" + )] + AppliedPaymentsAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,applied_credit_notes,applied_vendor_credits,contact,company" )] @@ -170,6 +329,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + AppliedPaymentsAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,applied_credit_notes,applied_vendor_credits,contact,company,employee" )] @@ -180,6 +344,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,applied_credit_notes,applied_vendor_credits,contact,company,employee,payment_term" + )] + AppliedPaymentsAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,applied_credit_notes,applied_vendor_credits,contact,company,payment_term" + )] + AppliedPaymentsAppliedCreditNotesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "applied_payments,applied_credit_notes,applied_vendor_credits,contact,employee" )] @@ -190,6 +369,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + AppliedPaymentsAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,applied_credit_notes,applied_vendor_credits,contact,employee,payment_term" + )] + AppliedPaymentsAppliedCreditNotesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,applied_credit_notes,applied_vendor_credits,contact,payment_term" + )] + AppliedPaymentsAppliedCreditNotesAppliedVendorCreditsContactPaymentTerm, + [EnumMember(Value = "applied_payments,applied_credit_notes,applied_vendor_credits,employee")] AppliedPaymentsAppliedCreditNotesAppliedVendorCreditsEmployee, @@ -198,30 +392,71 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,applied_credit_notes,applied_vendor_credits,employee,accounting_period,payment_term" + )] + AppliedPaymentsAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,applied_credit_notes,applied_vendor_credits,employee,payment_term" + )] + AppliedPaymentsAppliedCreditNotesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,applied_credit_notes,applied_vendor_credits,payment_term" + )] + AppliedPaymentsAppliedCreditNotesAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "applied_payments,applied_credit_notes,company")] AppliedPaymentsAppliedCreditNotesCompany, [EnumMember(Value = "applied_payments,applied_credit_notes,company,accounting_period")] AppliedPaymentsAppliedCreditNotesCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,applied_credit_notes,company,accounting_period,payment_term" + )] + AppliedPaymentsAppliedCreditNotesCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,applied_credit_notes,company,employee")] AppliedPaymentsAppliedCreditNotesCompanyEmployee, [EnumMember(Value = "applied_payments,applied_credit_notes,company,employee,accounting_period")] AppliedPaymentsAppliedCreditNotesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,applied_credit_notes,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsAppliedCreditNotesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "applied_payments,applied_credit_notes,company,employee,payment_term")] + AppliedPaymentsAppliedCreditNotesCompanyEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,applied_credit_notes,company,payment_term")] + AppliedPaymentsAppliedCreditNotesCompanyPaymentTerm, + [EnumMember(Value = "applied_payments,applied_credit_notes,contact")] AppliedPaymentsAppliedCreditNotesContact, [EnumMember(Value = "applied_payments,applied_credit_notes,contact,accounting_period")] AppliedPaymentsAppliedCreditNotesContactAccountingPeriod, + [EnumMember( + Value = "applied_payments,applied_credit_notes,contact,accounting_period,payment_term" + )] + AppliedPaymentsAppliedCreditNotesContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,applied_credit_notes,contact,company")] AppliedPaymentsAppliedCreditNotesContactCompany, [EnumMember(Value = "applied_payments,applied_credit_notes,contact,company,accounting_period")] AppliedPaymentsAppliedCreditNotesContactCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,applied_credit_notes,contact,company,accounting_period,payment_term" + )] + AppliedPaymentsAppliedCreditNotesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,applied_credit_notes,contact,company,employee")] AppliedPaymentsAppliedCreditNotesContactCompanyEmployee, @@ -230,30 +465,73 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsAppliedCreditNotesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,applied_credit_notes,contact,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsAppliedCreditNotesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,applied_credit_notes,contact,company,employee,payment_term" + )] + AppliedPaymentsAppliedCreditNotesContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,applied_credit_notes,contact,company,payment_term")] + AppliedPaymentsAppliedCreditNotesContactCompanyPaymentTerm, + [EnumMember(Value = "applied_payments,applied_credit_notes,contact,employee")] AppliedPaymentsAppliedCreditNotesContactEmployee, [EnumMember(Value = "applied_payments,applied_credit_notes,contact,employee,accounting_period")] AppliedPaymentsAppliedCreditNotesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,applied_credit_notes,contact,employee,accounting_period,payment_term" + )] + AppliedPaymentsAppliedCreditNotesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "applied_payments,applied_credit_notes,contact,employee,payment_term")] + AppliedPaymentsAppliedCreditNotesContactEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,applied_credit_notes,contact,payment_term")] + AppliedPaymentsAppliedCreditNotesContactPaymentTerm, + [EnumMember(Value = "applied_payments,applied_credit_notes,employee")] AppliedPaymentsAppliedCreditNotesEmployee, [EnumMember(Value = "applied_payments,applied_credit_notes,employee,accounting_period")] AppliedPaymentsAppliedCreditNotesEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,applied_credit_notes,employee,accounting_period,payment_term" + )] + AppliedPaymentsAppliedCreditNotesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "applied_payments,applied_credit_notes,employee,payment_term")] + AppliedPaymentsAppliedCreditNotesEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,applied_credit_notes,payment_term")] + AppliedPaymentsAppliedCreditNotesPaymentTerm, + [EnumMember(Value = "applied_payments,applied_vendor_credits")] AppliedPaymentsAppliedVendorCredits, [EnumMember(Value = "applied_payments,applied_vendor_credits,accounting_period")] AppliedPaymentsAppliedVendorCreditsAccountingPeriod, + [EnumMember(Value = "applied_payments,applied_vendor_credits,accounting_period,payment_term")] + AppliedPaymentsAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,applied_vendor_credits,company")] AppliedPaymentsAppliedVendorCreditsCompany, [EnumMember(Value = "applied_payments,applied_vendor_credits,company,accounting_period")] AppliedPaymentsAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,applied_vendor_credits,company,accounting_period,payment_term" + )] + AppliedPaymentsAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,applied_vendor_credits,company,employee")] AppliedPaymentsAppliedVendorCreditsCompanyEmployee, @@ -262,12 +540,28 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "applied_payments,applied_vendor_credits,company,employee,payment_term")] + AppliedPaymentsAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,applied_vendor_credits,company,payment_term")] + AppliedPaymentsAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember(Value = "applied_payments,applied_vendor_credits,contact")] AppliedPaymentsAppliedVendorCreditsContact, [EnumMember(Value = "applied_payments,applied_vendor_credits,contact,accounting_period")] AppliedPaymentsAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "applied_payments,applied_vendor_credits,contact,accounting_period,payment_term" + )] + AppliedPaymentsAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,applied_vendor_credits,contact,company")] AppliedPaymentsAppliedVendorCreditsContactCompany, @@ -276,6 +570,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + AppliedPaymentsAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,applied_vendor_credits,contact,company,employee")] AppliedPaymentsAppliedVendorCreditsContactCompanyEmployee, @@ -284,6 +583,19 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,applied_vendor_credits,contact,company,employee,payment_term" + )] + AppliedPaymentsAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,applied_vendor_credits,contact,company,payment_term")] + AppliedPaymentsAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember(Value = "applied_payments,applied_vendor_credits,contact,employee")] AppliedPaymentsAppliedVendorCreditsContactEmployee, @@ -292,66 +604,138 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + AppliedPaymentsAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "applied_payments,applied_vendor_credits,contact,employee,payment_term")] + AppliedPaymentsAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,applied_vendor_credits,contact,payment_term")] + AppliedPaymentsAppliedVendorCreditsContactPaymentTerm, + [EnumMember(Value = "applied_payments,applied_vendor_credits,employee")] AppliedPaymentsAppliedVendorCreditsEmployee, [EnumMember(Value = "applied_payments,applied_vendor_credits,employee,accounting_period")] AppliedPaymentsAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,applied_vendor_credits,employee,accounting_period,payment_term" + )] + AppliedPaymentsAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "applied_payments,applied_vendor_credits,employee,payment_term")] + AppliedPaymentsAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,applied_vendor_credits,payment_term")] + AppliedPaymentsAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "applied_payments,company")] AppliedPaymentsCompany, [EnumMember(Value = "applied_payments,company,accounting_period")] AppliedPaymentsCompanyAccountingPeriod, + [EnumMember(Value = "applied_payments,company,accounting_period,payment_term")] + AppliedPaymentsCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,company,employee")] AppliedPaymentsCompanyEmployee, [EnumMember(Value = "applied_payments,company,employee,accounting_period")] AppliedPaymentsCompanyEmployeeAccountingPeriod, + [EnumMember(Value = "applied_payments,company,employee,accounting_period,payment_term")] + AppliedPaymentsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "applied_payments,company,employee,payment_term")] + AppliedPaymentsCompanyEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,company,payment_term")] + AppliedPaymentsCompanyPaymentTerm, + [EnumMember(Value = "applied_payments,contact")] AppliedPaymentsContact, [EnumMember(Value = "applied_payments,contact,accounting_period")] AppliedPaymentsContactAccountingPeriod, + [EnumMember(Value = "applied_payments,contact,accounting_period,payment_term")] + AppliedPaymentsContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,contact,company")] AppliedPaymentsContactCompany, [EnumMember(Value = "applied_payments,contact,company,accounting_period")] AppliedPaymentsContactCompanyAccountingPeriod, + [EnumMember(Value = "applied_payments,contact,company,accounting_period,payment_term")] + AppliedPaymentsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,contact,company,employee")] AppliedPaymentsContactCompanyEmployee, [EnumMember(Value = "applied_payments,contact,company,employee,accounting_period")] AppliedPaymentsContactCompanyEmployeeAccountingPeriod, + [EnumMember(Value = "applied_payments,contact,company,employee,accounting_period,payment_term")] + AppliedPaymentsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "applied_payments,contact,company,employee,payment_term")] + AppliedPaymentsContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,contact,company,payment_term")] + AppliedPaymentsContactCompanyPaymentTerm, + [EnumMember(Value = "applied_payments,contact,employee")] AppliedPaymentsContactEmployee, [EnumMember(Value = "applied_payments,contact,employee,accounting_period")] AppliedPaymentsContactEmployeeAccountingPeriod, + [EnumMember(Value = "applied_payments,contact,employee,accounting_period,payment_term")] + AppliedPaymentsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "applied_payments,contact,employee,payment_term")] + AppliedPaymentsContactEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,contact,payment_term")] + AppliedPaymentsContactPaymentTerm, + [EnumMember(Value = "applied_payments,employee")] AppliedPaymentsEmployee, [EnumMember(Value = "applied_payments,employee,accounting_period")] AppliedPaymentsEmployeeAccountingPeriod, + [EnumMember(Value = "applied_payments,employee,accounting_period,payment_term")] + AppliedPaymentsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "applied_payments,employee,payment_term")] + AppliedPaymentsEmployeePaymentTerm, + [EnumMember(Value = "applied_payments,line_items")] AppliedPaymentsLineItems, [EnumMember(Value = "applied_payments,line_items,accounting_period")] AppliedPaymentsLineItemsAccountingPeriod, + [EnumMember(Value = "applied_payments,line_items,accounting_period,payment_term")] + AppliedPaymentsLineItemsAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,applied_credit_notes")] AppliedPaymentsLineItemsAppliedCreditNotes, [EnumMember(Value = "applied_payments,line_items,applied_credit_notes,accounting_period")] AppliedPaymentsLineItemsAppliedCreditNotesAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,applied_credit_notes,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsAppliedCreditNotesAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,applied_credit_notes,applied_vendor_credits")] AppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCredits, @@ -360,6 +744,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,company" )] @@ -370,6 +759,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,company,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,company,employee" )] @@ -380,6 +774,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,company,employee,payment_term" + )] + AppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,company,payment_term" + )] + AppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact" )] @@ -390,6 +799,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,company" )] @@ -400,6 +814,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,company,employee" )] @@ -410,6 +829,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,company,employee,payment_term" + )] + AppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,company,payment_term" + )] + AppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,employee" )] @@ -420,6 +854,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,employee,payment_term" + )] + AppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,payment_term" + )] + AppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,employee" )] @@ -430,6 +879,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,employee,payment_term" + )] + AppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,payment_term" + )] + AppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,applied_credit_notes,company")] AppliedPaymentsLineItemsAppliedCreditNotesCompany, @@ -438,6 +902,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsAppliedCreditNotesCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,applied_credit_notes,company,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsAppliedCreditNotesCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,applied_credit_notes,company,employee")] AppliedPaymentsLineItemsAppliedCreditNotesCompanyEmployee, @@ -446,6 +915,19 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsAppliedCreditNotesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,applied_credit_notes,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsAppliedCreditNotesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,applied_credit_notes,company,employee,payment_term" + )] + AppliedPaymentsLineItemsAppliedCreditNotesCompanyEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,line_items,applied_credit_notes,company,payment_term")] + AppliedPaymentsLineItemsAppliedCreditNotesCompanyPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,applied_credit_notes,contact")] AppliedPaymentsLineItemsAppliedCreditNotesContact, @@ -454,6 +936,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsAppliedCreditNotesContactAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,applied_credit_notes,contact,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsAppliedCreditNotesContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,applied_credit_notes,contact,company")] AppliedPaymentsLineItemsAppliedCreditNotesContactCompany, @@ -462,6 +949,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsAppliedCreditNotesContactCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,applied_credit_notes,contact,company,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsAppliedCreditNotesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,applied_credit_notes,contact,company,employee" )] @@ -472,14 +964,42 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsAppliedCreditNotesContactCompanyEmployeeAccountingPeriod, - [EnumMember(Value = "applied_payments,line_items,applied_credit_notes,contact,employee")] - AppliedPaymentsLineItemsAppliedCreditNotesContactEmployee, - [EnumMember( - Value = "applied_payments,line_items,applied_credit_notes,contact,employee,accounting_period" + Value = "applied_payments,line_items,applied_credit_notes,contact,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsAppliedCreditNotesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,applied_credit_notes,contact,company,employee,payment_term" + )] + AppliedPaymentsLineItemsAppliedCreditNotesContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,applied_credit_notes,contact,company,payment_term" + )] + AppliedPaymentsLineItemsAppliedCreditNotesContactCompanyPaymentTerm, + + [EnumMember(Value = "applied_payments,line_items,applied_credit_notes,contact,employee")] + AppliedPaymentsLineItemsAppliedCreditNotesContactEmployee, + + [EnumMember( + Value = "applied_payments,line_items,applied_credit_notes,contact,employee,accounting_period" )] AppliedPaymentsLineItemsAppliedCreditNotesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,applied_credit_notes,contact,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsAppliedCreditNotesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,applied_credit_notes,contact,employee,payment_term" + )] + AppliedPaymentsLineItemsAppliedCreditNotesContactEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,line_items,applied_credit_notes,contact,payment_term")] + AppliedPaymentsLineItemsAppliedCreditNotesContactPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,applied_credit_notes,employee")] AppliedPaymentsLineItemsAppliedCreditNotesEmployee, @@ -488,12 +1008,28 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsAppliedCreditNotesEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,applied_credit_notes,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsAppliedCreditNotesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "applied_payments,line_items,applied_credit_notes,employee,payment_term")] + AppliedPaymentsLineItemsAppliedCreditNotesEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,line_items,applied_credit_notes,payment_term")] + AppliedPaymentsLineItemsAppliedCreditNotesPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,applied_vendor_credits")] AppliedPaymentsLineItemsAppliedVendorCredits, [EnumMember(Value = "applied_payments,line_items,applied_vendor_credits,accounting_period")] AppliedPaymentsLineItemsAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,applied_vendor_credits,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,applied_vendor_credits,company")] AppliedPaymentsLineItemsAppliedVendorCreditsCompany, @@ -502,6 +1038,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,applied_vendor_credits,company,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,applied_vendor_credits,company,employee")] AppliedPaymentsLineItemsAppliedVendorCreditsCompanyEmployee, @@ -510,6 +1051,19 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,applied_vendor_credits,company,employee,payment_term" + )] + AppliedPaymentsLineItemsAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,line_items,applied_vendor_credits,company,payment_term")] + AppliedPaymentsLineItemsAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,applied_vendor_credits,contact")] AppliedPaymentsLineItemsAppliedVendorCreditsContact, @@ -518,6 +1072,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,applied_vendor_credits,contact,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,applied_vendor_credits,contact,company")] AppliedPaymentsLineItemsAppliedVendorCreditsContactCompany, @@ -526,6 +1085,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,applied_vendor_credits,contact,company,employee" )] @@ -536,6 +1100,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,applied_vendor_credits,contact,company,employee,payment_term" + )] + AppliedPaymentsLineItemsAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,applied_vendor_credits,contact,company,payment_term" + )] + AppliedPaymentsLineItemsAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,applied_vendor_credits,contact,employee")] AppliedPaymentsLineItemsAppliedVendorCreditsContactEmployee, @@ -544,6 +1123,19 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,applied_vendor_credits,contact,employee,payment_term" + )] + AppliedPaymentsLineItemsAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,line_items,applied_vendor_credits,contact,payment_term")] + AppliedPaymentsLineItemsAppliedVendorCreditsContactPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,applied_vendor_credits,employee")] AppliedPaymentsLineItemsAppliedVendorCreditsEmployee, @@ -552,54 +1144,123 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,applied_vendor_credits,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "applied_payments,line_items,applied_vendor_credits,employee,payment_term")] + AppliedPaymentsLineItemsAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,line_items,applied_vendor_credits,payment_term")] + AppliedPaymentsLineItemsAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,company")] AppliedPaymentsLineItemsCompany, [EnumMember(Value = "applied_payments,line_items,company,accounting_period")] AppliedPaymentsLineItemsCompanyAccountingPeriod, + [EnumMember(Value = "applied_payments,line_items,company,accounting_period,payment_term")] + AppliedPaymentsLineItemsCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,company,employee")] AppliedPaymentsLineItemsCompanyEmployee, [EnumMember(Value = "applied_payments,line_items,company,employee,accounting_period")] AppliedPaymentsLineItemsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "applied_payments,line_items,company,employee,payment_term")] + AppliedPaymentsLineItemsCompanyEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,line_items,company,payment_term")] + AppliedPaymentsLineItemsCompanyPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,contact")] AppliedPaymentsLineItemsContact, [EnumMember(Value = "applied_payments,line_items,contact,accounting_period")] AppliedPaymentsLineItemsContactAccountingPeriod, + [EnumMember(Value = "applied_payments,line_items,contact,accounting_period,payment_term")] + AppliedPaymentsLineItemsContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,contact,company")] AppliedPaymentsLineItemsContactCompany, [EnumMember(Value = "applied_payments,line_items,contact,company,accounting_period")] AppliedPaymentsLineItemsContactCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,contact,company,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,contact,company,employee")] AppliedPaymentsLineItemsContactCompanyEmployee, [EnumMember(Value = "applied_payments,line_items,contact,company,employee,accounting_period")] AppliedPaymentsLineItemsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,contact,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "applied_payments,line_items,contact,company,employee,payment_term")] + AppliedPaymentsLineItemsContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,line_items,contact,company,payment_term")] + AppliedPaymentsLineItemsContactCompanyPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,contact,employee")] AppliedPaymentsLineItemsContactEmployee, [EnumMember(Value = "applied_payments,line_items,contact,employee,accounting_period")] AppliedPaymentsLineItemsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,contact,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "applied_payments,line_items,contact,employee,payment_term")] + AppliedPaymentsLineItemsContactEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,line_items,contact,payment_term")] + AppliedPaymentsLineItemsContactPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,employee")] AppliedPaymentsLineItemsEmployee, [EnumMember(Value = "applied_payments,line_items,employee,accounting_period")] AppliedPaymentsLineItemsEmployeeAccountingPeriod, + [EnumMember(Value = "applied_payments,line_items,employee,accounting_period,payment_term")] + AppliedPaymentsLineItemsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "applied_payments,line_items,employee,payment_term")] + AppliedPaymentsLineItemsEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,line_items,payment_term")] + AppliedPaymentsLineItemsPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,purchase_orders")] AppliedPaymentsLineItemsPurchaseOrders, [EnumMember(Value = "applied_payments,line_items,purchase_orders,accounting_period")] AppliedPaymentsLineItemsPurchaseOrdersAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,purchase_orders,applied_credit_notes")] AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotes, @@ -608,6 +1269,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits" )] @@ -618,6 +1284,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company" )] @@ -628,6 +1299,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee" )] @@ -638,6 +1314,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact" )] @@ -648,6 +1339,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company" )] @@ -658,6 +1354,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee" )] @@ -668,6 +1369,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee" )] @@ -678,6 +1394,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,employee" )] @@ -688,6 +1419,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,company")] AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesCompany, @@ -696,6 +1442,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,company,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,company,employee" )] @@ -706,6 +1457,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,company,employee,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,company,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesCompanyPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,contact")] AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesContact, @@ -714,6 +1480,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,contact,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,contact,company" )] @@ -724,6 +1495,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,contact,company,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,contact,company,employee" )] @@ -734,6 +1510,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,contact,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,contact,company,employee,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,contact,company,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactCompanyPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,contact,employee" )] @@ -744,6 +1535,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,contact,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,contact,employee,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,contact,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,employee" )] @@ -754,6 +1560,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,employee,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_credit_notes,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,purchase_orders,applied_vendor_credits")] AppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCredits, @@ -762,6 +1583,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_vendor_credits,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,purchase_orders,applied_vendor_credits,company" )] @@ -772,6 +1598,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_vendor_credits,company,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,purchase_orders,applied_vendor_credits,company,employee" )] @@ -782,6 +1613,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_vendor_credits,company,employee,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_vendor_credits,company,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,purchase_orders,applied_vendor_credits,contact" )] @@ -792,6 +1638,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,company" )] @@ -802,6 +1653,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,company,employee" )] @@ -812,6 +1668,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,company,employee,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,company,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,employee" )] @@ -822,6 +1693,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,employee,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,purchase_orders,applied_vendor_credits,employee" )] @@ -832,12 +1718,32 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_vendor_credits,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_vendor_credits,employee,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,applied_vendor_credits,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,purchase_orders,company")] AppliedPaymentsLineItemsPurchaseOrdersCompany, [EnumMember(Value = "applied_payments,line_items,purchase_orders,company,accounting_period")] AppliedPaymentsLineItemsPurchaseOrdersCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,company,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,purchase_orders,company,employee")] AppliedPaymentsLineItemsPurchaseOrdersCompanyEmployee, @@ -846,12 +1752,30 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsPurchaseOrdersCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,company,employee,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersCompanyEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,line_items,purchase_orders,company,payment_term")] + AppliedPaymentsLineItemsPurchaseOrdersCompanyPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,purchase_orders,contact")] AppliedPaymentsLineItemsPurchaseOrdersContact, [EnumMember(Value = "applied_payments,line_items,purchase_orders,contact,accounting_period")] AppliedPaymentsLineItemsPurchaseOrdersContactAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,contact,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,purchase_orders,contact,company")] AppliedPaymentsLineItemsPurchaseOrdersContactCompany, @@ -860,6 +1784,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsPurchaseOrdersContactCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,contact,company,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,purchase_orders,contact,company,employee")] AppliedPaymentsLineItemsPurchaseOrdersContactCompanyEmployee, @@ -868,13 +1797,39 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsPurchaseOrdersContactCompanyEmployeeAccountingPeriod, - [EnumMember(Value = "applied_payments,line_items,purchase_orders,contact,employee")] - AppliedPaymentsLineItemsPurchaseOrdersContactEmployee, - [EnumMember( - Value = "applied_payments,line_items,purchase_orders,contact,employee,accounting_period" + Value = "applied_payments,line_items,purchase_orders,contact,company,employee,accounting_period,payment_term" )] - AppliedPaymentsLineItemsPurchaseOrdersContactEmployeeAccountingPeriod, + AppliedPaymentsLineItemsPurchaseOrdersContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,contact,company,employee,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,line_items,purchase_orders,contact,company,payment_term")] + AppliedPaymentsLineItemsPurchaseOrdersContactCompanyPaymentTerm, + + [EnumMember(Value = "applied_payments,line_items,purchase_orders,contact,employee")] + AppliedPaymentsLineItemsPurchaseOrdersContactEmployee, + + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,contact,employee,accounting_period" + )] + AppliedPaymentsLineItemsPurchaseOrdersContactEmployeeAccountingPeriod, + + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,contact,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,contact,employee,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersContactEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,line_items,purchase_orders,contact,payment_term")] + AppliedPaymentsLineItemsPurchaseOrdersContactPaymentTerm, [EnumMember(Value = "applied_payments,line_items,purchase_orders,employee")] AppliedPaymentsLineItemsPurchaseOrdersEmployee, @@ -882,12 +1837,28 @@ public enum InvoicesRetrieveRequestExpand [EnumMember(Value = "applied_payments,line_items,purchase_orders,employee,accounting_period")] AppliedPaymentsLineItemsPurchaseOrdersEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,purchase_orders,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsPurchaseOrdersEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "applied_payments,line_items,purchase_orders,employee,payment_term")] + AppliedPaymentsLineItemsPurchaseOrdersEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,line_items,purchase_orders,payment_term")] + AppliedPaymentsLineItemsPurchaseOrdersPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,tracking_categories")] AppliedPaymentsLineItemsTrackingCategories, [EnumMember(Value = "applied_payments,line_items,tracking_categories,accounting_period")] AppliedPaymentsLineItemsTrackingCategoriesAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,tracking_categories,applied_credit_notes")] AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotes, @@ -896,6 +1867,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits" )] @@ -906,6 +1882,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company" )] @@ -916,6 +1897,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee" )] @@ -926,6 +1912,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact" )] @@ -936,6 +1937,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company" )] @@ -946,6 +1952,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee" )] @@ -956,6 +1967,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee" )] @@ -966,6 +1992,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,employee" )] @@ -976,6 +2017,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,employee,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,company" )] @@ -986,6 +2042,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,company,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,company,employee" )] @@ -996,6 +2057,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,company,employee,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,company,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesCompanyPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,contact" )] @@ -1006,6 +2082,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,contact,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,contact,company" )] @@ -1016,6 +2097,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,contact,company,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,contact,company,employee" )] @@ -1026,6 +2112,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,contact,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,contact,company,employee,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,contact,company,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactCompanyPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,contact,employee" )] @@ -1036,6 +2137,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,contact,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,contact,employee,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,contact,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,employee" )] @@ -1046,6 +2162,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,employee,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_credit_notes,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,tracking_categories,applied_vendor_credits")] AppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCredits, @@ -1054,6 +2185,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_vendor_credits,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,applied_vendor_credits,company" )] @@ -1064,6 +2200,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_vendor_credits,company,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,applied_vendor_credits,company,employee" )] @@ -1074,6 +2215,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_vendor_credits,company,employee,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_vendor_credits,company,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,applied_vendor_credits,contact" )] @@ -1084,6 +2240,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,company" )] @@ -1094,6 +2255,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,company,employee" )] @@ -1104,6 +2270,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,company,employee,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,company,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,employee" )] @@ -1114,6 +2295,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,employee,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,applied_vendor_credits,employee" )] @@ -1124,6 +2320,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_vendor_credits,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_vendor_credits,employee,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,applied_vendor_credits,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,tracking_categories,company")] AppliedPaymentsLineItemsTrackingCategoriesCompany, @@ -1132,6 +2343,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,company,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,tracking_categories,company,employee")] AppliedPaymentsLineItemsTrackingCategoriesCompanyEmployee, @@ -1140,6 +2356,19 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,company,employee,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesCompanyEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,line_items,tracking_categories,company,payment_term")] + AppliedPaymentsLineItemsTrackingCategoriesCompanyPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,tracking_categories,contact")] AppliedPaymentsLineItemsTrackingCategoriesContact, @@ -1148,6 +2377,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesContactAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,contact,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,tracking_categories,contact,company")] AppliedPaymentsLineItemsTrackingCategoriesContactCompany, @@ -1156,6 +2390,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesContactCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,contact,company,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,tracking_categories,contact,company,employee")] AppliedPaymentsLineItemsTrackingCategoriesContactCompanyEmployee, @@ -1164,6 +2403,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,contact,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,contact,company,employee,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,contact,company,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesContactCompanyPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,tracking_categories,contact,employee")] AppliedPaymentsLineItemsTrackingCategoriesContactEmployee, @@ -1172,6 +2426,19 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,contact,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,contact,employee,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesContactEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,line_items,tracking_categories,contact,payment_term")] + AppliedPaymentsLineItemsTrackingCategoriesContactPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,tracking_categories,employee")] AppliedPaymentsLineItemsTrackingCategoriesEmployee, @@ -1180,6 +2447,17 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "applied_payments,line_items,tracking_categories,employee,payment_term")] + AppliedPaymentsLineItemsTrackingCategoriesEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,line_items,tracking_categories,payment_term")] + AppliedPaymentsLineItemsTrackingCategoriesPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,tracking_categories,purchase_orders")] AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrders, @@ -1188,6 +2466,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes" )] @@ -1198,6 +2481,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits" )] @@ -1208,6 +2496,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company" )] @@ -1218,6 +2511,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee" )] @@ -1228,6 +2526,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact" )] @@ -1238,6 +2551,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company" )] @@ -1248,6 +2566,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee" )] @@ -1259,47 +2582,112 @@ public enum InvoicesRetrieveRequestExpand AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, [EnumMember( - Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee" + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" )] - AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployee, + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, [EnumMember( - Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period" + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,payment_term" )] - AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, [EnumMember( - Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee" + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,payment_term" )] - AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployee, + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyPaymentTerm, [EnumMember( - Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period" + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee" )] - AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriod, + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployee, [EnumMember( - Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company" + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period" )] - AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompany, + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, [EnumMember( - Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company,accounting_period" + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period,payment_term" )] - AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyAccountingPeriod, + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, [EnumMember( - Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company,employee" + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,payment_term" )] - AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyEmployee, + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeePaymentTerm, [EnumMember( - Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company,employee,accounting_period" + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,payment_term" )] - AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyEmployeeAccountingPeriod, + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactPaymentTerm, [EnumMember( - Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact" + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployee, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriod, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompany, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company,accounting_period" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyAccountingPeriod, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company,employee" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyEmployee, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company,employee,accounting_period" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyEmployeeAccountingPeriod, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company,employee,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact" )] AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContact, @@ -1308,6 +2696,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company" )] @@ -1318,6 +2711,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee" )] @@ -1328,6 +2726,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,employee" )] @@ -1338,6 +2751,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,employee,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,employee" )] @@ -1348,6 +2776,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,employee,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits" )] @@ -1358,6 +2801,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,company" )] @@ -1368,6 +2816,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,company,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,company,employee" )] @@ -1378,6 +2831,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,company,employee,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,company,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact" )] @@ -1388,6 +2856,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company" )] @@ -1398,6 +2871,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee" )] @@ -1408,6 +2886,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee" )] @@ -1418,6 +2911,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,employee" )] @@ -1428,6 +2936,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,employee,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,tracking_categories,purchase_orders,company")] AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersCompany, @@ -1436,6 +2959,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,company,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,purchase_orders,company,employee" )] @@ -1446,6 +2974,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,company,employee,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,company,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersCompanyPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,tracking_categories,purchase_orders,contact")] AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersContact, @@ -1454,6 +2997,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersContactAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,contact,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,purchase_orders,contact,company" )] @@ -1464,6 +3012,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersContactCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,contact,company,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,purchase_orders,contact,company,employee" )] @@ -1474,6 +3027,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,contact,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,contact,company,employee,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,contact,company,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersContactCompanyPaymentTerm, + [EnumMember( Value = "applied_payments,line_items,tracking_categories,purchase_orders,contact,employee" )] @@ -1484,6 +3052,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersContactEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,contact,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,contact,employee,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersContactEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,contact,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersContactPaymentTerm, + [EnumMember(Value = "applied_payments,line_items,tracking_categories,purchase_orders,employee")] AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersEmployee, @@ -1492,18 +3075,44 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,employee,accounting_period,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,employee,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,line_items,tracking_categories,purchase_orders,payment_term" + )] + AppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersPaymentTerm, + + [EnumMember(Value = "applied_payments,payment_term")] + AppliedPaymentsPaymentTerm, + [EnumMember(Value = "applied_payments,purchase_orders")] AppliedPaymentsPurchaseOrders, [EnumMember(Value = "applied_payments,purchase_orders,accounting_period")] AppliedPaymentsPurchaseOrdersAccountingPeriod, + [EnumMember(Value = "applied_payments,purchase_orders,accounting_period,payment_term")] + AppliedPaymentsPurchaseOrdersAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,purchase_orders,applied_credit_notes")] AppliedPaymentsPurchaseOrdersAppliedCreditNotes, [EnumMember(Value = "applied_payments,purchase_orders,applied_credit_notes,accounting_period")] AppliedPaymentsPurchaseOrdersAppliedCreditNotesAccountingPeriod, + [EnumMember( + Value = "applied_payments,purchase_orders,applied_credit_notes,accounting_period,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedCreditNotesAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits" )] @@ -1514,6 +3123,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,accounting_period,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,company" )] @@ -1524,6 +3138,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,company,accounting_period,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee" )] @@ -1534,6 +3153,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,company,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember( Value = "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact" )] @@ -1544,6 +3178,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,accounting_period,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company" )] @@ -1554,6 +3193,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee" )] @@ -1564,6 +3208,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee" )] @@ -1574,6 +3233,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactPaymentTerm, + [EnumMember( Value = "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,employee" )] @@ -1584,6 +3258,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "applied_payments,purchase_orders,applied_credit_notes,company")] AppliedPaymentsPurchaseOrdersAppliedCreditNotesCompany, @@ -1592,6 +3281,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsPurchaseOrdersAppliedCreditNotesCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,purchase_orders,applied_credit_notes,company,accounting_period,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedCreditNotesCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,purchase_orders,applied_credit_notes,company,employee")] AppliedPaymentsPurchaseOrdersAppliedCreditNotesCompanyEmployee, @@ -1600,6 +3294,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsPurchaseOrdersAppliedCreditNotesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,purchase_orders,applied_credit_notes,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedCreditNotesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,purchase_orders,applied_credit_notes,company,employee,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedCreditNotesCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,purchase_orders,applied_credit_notes,company,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedCreditNotesCompanyPaymentTerm, + [EnumMember(Value = "applied_payments,purchase_orders,applied_credit_notes,contact")] AppliedPaymentsPurchaseOrdersAppliedCreditNotesContact, @@ -1608,6 +3317,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsPurchaseOrdersAppliedCreditNotesContactAccountingPeriod, + [EnumMember( + Value = "applied_payments,purchase_orders,applied_credit_notes,contact,accounting_period,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedCreditNotesContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,purchase_orders,applied_credit_notes,contact,company")] AppliedPaymentsPurchaseOrdersAppliedCreditNotesContactCompany, @@ -1616,6 +3330,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsPurchaseOrdersAppliedCreditNotesContactCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,purchase_orders,applied_credit_notes,contact,company,accounting_period,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedCreditNotesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,purchase_orders,applied_credit_notes,contact,company,employee" )] @@ -1626,6 +3345,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsPurchaseOrdersAppliedCreditNotesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,purchase_orders,applied_credit_notes,contact,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedCreditNotesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,purchase_orders,applied_credit_notes,contact,company,employee,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedCreditNotesContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,purchase_orders,applied_credit_notes,contact,company,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedCreditNotesContactCompanyPaymentTerm, + [EnumMember(Value = "applied_payments,purchase_orders,applied_credit_notes,contact,employee")] AppliedPaymentsPurchaseOrdersAppliedCreditNotesContactEmployee, @@ -1634,6 +3368,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsPurchaseOrdersAppliedCreditNotesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,purchase_orders,applied_credit_notes,contact,employee,accounting_period,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedCreditNotesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,purchase_orders,applied_credit_notes,contact,employee,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedCreditNotesContactEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,purchase_orders,applied_credit_notes,contact,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedCreditNotesContactPaymentTerm, + [EnumMember(Value = "applied_payments,purchase_orders,applied_credit_notes,employee")] AppliedPaymentsPurchaseOrdersAppliedCreditNotesEmployee, @@ -1642,6 +3391,19 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsPurchaseOrdersAppliedCreditNotesEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,purchase_orders,applied_credit_notes,employee,accounting_period,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedCreditNotesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,purchase_orders,applied_credit_notes,employee,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedCreditNotesEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,purchase_orders,applied_credit_notes,payment_term")] + AppliedPaymentsPurchaseOrdersAppliedCreditNotesPaymentTerm, + [EnumMember(Value = "applied_payments,purchase_orders,applied_vendor_credits")] AppliedPaymentsPurchaseOrdersAppliedVendorCredits, @@ -1650,6 +3412,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsPurchaseOrdersAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "applied_payments,purchase_orders,applied_vendor_credits,accounting_period,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,purchase_orders,applied_vendor_credits,company")] AppliedPaymentsPurchaseOrdersAppliedVendorCreditsCompany, @@ -1658,6 +3425,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsPurchaseOrdersAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,purchase_orders,applied_vendor_credits,company,accounting_period,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,purchase_orders,applied_vendor_credits,company,employee")] AppliedPaymentsPurchaseOrdersAppliedVendorCreditsCompanyEmployee, @@ -1666,6 +3438,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsPurchaseOrdersAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,purchase_orders,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,purchase_orders,applied_vendor_credits,company,employee,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,purchase_orders,applied_vendor_credits,company,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember(Value = "applied_payments,purchase_orders,applied_vendor_credits,contact")] AppliedPaymentsPurchaseOrdersAppliedVendorCreditsContact, @@ -1674,6 +3461,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsPurchaseOrdersAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "applied_payments,purchase_orders,applied_vendor_credits,contact,accounting_period,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,purchase_orders,applied_vendor_credits,contact,company")] AppliedPaymentsPurchaseOrdersAppliedVendorCreditsContactCompany, @@ -1682,6 +3474,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsPurchaseOrdersAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,purchase_orders,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,purchase_orders,applied_vendor_credits,contact,company,employee" )] @@ -1692,13 +3489,43 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,purchase_orders,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,purchase_orders,applied_vendor_credits,contact,company,employee,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,purchase_orders,applied_vendor_credits,contact,company,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember(Value = "applied_payments,purchase_orders,applied_vendor_credits,contact,employee")] AppliedPaymentsPurchaseOrdersAppliedVendorCreditsContactEmployee, [EnumMember( - Value = "applied_payments,purchase_orders,applied_vendor_credits,contact,employee,accounting_period" + Value = "applied_payments,purchase_orders,applied_vendor_credits,contact,employee,accounting_period" + )] + AppliedPaymentsPurchaseOrdersAppliedVendorCreditsContactEmployeeAccountingPeriod, + + [EnumMember( + Value = "applied_payments,purchase_orders,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,purchase_orders,applied_vendor_credits,contact,employee,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,purchase_orders,applied_vendor_credits,contact,payment_term" )] - AppliedPaymentsPurchaseOrdersAppliedVendorCreditsContactEmployeeAccountingPeriod, + AppliedPaymentsPurchaseOrdersAppliedVendorCreditsContactPaymentTerm, [EnumMember(Value = "applied_payments,purchase_orders,applied_vendor_credits,employee")] AppliedPaymentsPurchaseOrdersAppliedVendorCreditsEmployee, @@ -1708,30 +3535,65 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsPurchaseOrdersAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,purchase_orders,applied_vendor_credits,employee,accounting_period,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,purchase_orders,applied_vendor_credits,employee,payment_term" + )] + AppliedPaymentsPurchaseOrdersAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,purchase_orders,applied_vendor_credits,payment_term")] + AppliedPaymentsPurchaseOrdersAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "applied_payments,purchase_orders,company")] AppliedPaymentsPurchaseOrdersCompany, [EnumMember(Value = "applied_payments,purchase_orders,company,accounting_period")] AppliedPaymentsPurchaseOrdersCompanyAccountingPeriod, + [EnumMember(Value = "applied_payments,purchase_orders,company,accounting_period,payment_term")] + AppliedPaymentsPurchaseOrdersCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,purchase_orders,company,employee")] AppliedPaymentsPurchaseOrdersCompanyEmployee, [EnumMember(Value = "applied_payments,purchase_orders,company,employee,accounting_period")] AppliedPaymentsPurchaseOrdersCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,purchase_orders,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsPurchaseOrdersCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "applied_payments,purchase_orders,company,employee,payment_term")] + AppliedPaymentsPurchaseOrdersCompanyEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,purchase_orders,company,payment_term")] + AppliedPaymentsPurchaseOrdersCompanyPaymentTerm, + [EnumMember(Value = "applied_payments,purchase_orders,contact")] AppliedPaymentsPurchaseOrdersContact, [EnumMember(Value = "applied_payments,purchase_orders,contact,accounting_period")] AppliedPaymentsPurchaseOrdersContactAccountingPeriod, + [EnumMember(Value = "applied_payments,purchase_orders,contact,accounting_period,payment_term")] + AppliedPaymentsPurchaseOrdersContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,purchase_orders,contact,company")] AppliedPaymentsPurchaseOrdersContactCompany, [EnumMember(Value = "applied_payments,purchase_orders,contact,company,accounting_period")] AppliedPaymentsPurchaseOrdersContactCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,purchase_orders,contact,company,accounting_period,payment_term" + )] + AppliedPaymentsPurchaseOrdersContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,purchase_orders,contact,company,employee")] AppliedPaymentsPurchaseOrdersContactCompanyEmployee, @@ -1740,24 +3602,58 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsPurchaseOrdersContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,purchase_orders,contact,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsPurchaseOrdersContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "applied_payments,purchase_orders,contact,company,employee,payment_term")] + AppliedPaymentsPurchaseOrdersContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,purchase_orders,contact,company,payment_term")] + AppliedPaymentsPurchaseOrdersContactCompanyPaymentTerm, + [EnumMember(Value = "applied_payments,purchase_orders,contact,employee")] AppliedPaymentsPurchaseOrdersContactEmployee, [EnumMember(Value = "applied_payments,purchase_orders,contact,employee,accounting_period")] AppliedPaymentsPurchaseOrdersContactEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,purchase_orders,contact,employee,accounting_period,payment_term" + )] + AppliedPaymentsPurchaseOrdersContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "applied_payments,purchase_orders,contact,employee,payment_term")] + AppliedPaymentsPurchaseOrdersContactEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,purchase_orders,contact,payment_term")] + AppliedPaymentsPurchaseOrdersContactPaymentTerm, + [EnumMember(Value = "applied_payments,purchase_orders,employee")] AppliedPaymentsPurchaseOrdersEmployee, [EnumMember(Value = "applied_payments,purchase_orders,employee,accounting_period")] AppliedPaymentsPurchaseOrdersEmployeeAccountingPeriod, + [EnumMember(Value = "applied_payments,purchase_orders,employee,accounting_period,payment_term")] + AppliedPaymentsPurchaseOrdersEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "applied_payments,purchase_orders,employee,payment_term")] + AppliedPaymentsPurchaseOrdersEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,purchase_orders,payment_term")] + AppliedPaymentsPurchaseOrdersPaymentTerm, + [EnumMember(Value = "applied_payments,tracking_categories")] AppliedPaymentsTrackingCategories, [EnumMember(Value = "applied_payments,tracking_categories,accounting_period")] AppliedPaymentsTrackingCategoriesAccountingPeriod, + [EnumMember(Value = "applied_payments,tracking_categories,accounting_period,payment_term")] + AppliedPaymentsTrackingCategoriesAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,tracking_categories,applied_credit_notes")] AppliedPaymentsTrackingCategoriesAppliedCreditNotes, @@ -1766,6 +3662,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsTrackingCategoriesAppliedCreditNotesAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,applied_credit_notes,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedCreditNotesAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits" )] @@ -1776,6 +3677,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,company" )] @@ -1786,6 +3692,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,company,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee" )] @@ -1796,6 +3707,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,company,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact" )] @@ -1806,6 +3732,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company" )] @@ -1816,6 +3747,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee" )] @@ -1826,6 +3762,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee" )] @@ -1836,6 +3787,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,employee" )] @@ -1846,6 +3812,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,employee,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,employee,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "applied_payments,tracking_categories,applied_credit_notes,company")] AppliedPaymentsTrackingCategoriesAppliedCreditNotesCompany, @@ -1854,6 +3835,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsTrackingCategoriesAppliedCreditNotesCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,applied_credit_notes,company,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedCreditNotesCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,applied_credit_notes,company,employee" )] @@ -1864,6 +3850,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsTrackingCategoriesAppliedCreditNotesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,applied_credit_notes,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedCreditNotesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,applied_credit_notes,company,employee,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedCreditNotesCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,applied_credit_notes,company,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedCreditNotesCompanyPaymentTerm, + [EnumMember(Value = "applied_payments,tracking_categories,applied_credit_notes,contact")] AppliedPaymentsTrackingCategoriesAppliedCreditNotesContact, @@ -1872,6 +3873,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsTrackingCategoriesAppliedCreditNotesContactAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,applied_credit_notes,contact,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedCreditNotesContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,applied_credit_notes,contact,company" )] @@ -1882,6 +3888,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsTrackingCategoriesAppliedCreditNotesContactCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,applied_credit_notes,contact,company,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedCreditNotesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,applied_credit_notes,contact,company,employee" )] @@ -1892,6 +3903,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsTrackingCategoriesAppliedCreditNotesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,applied_credit_notes,contact,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedCreditNotesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,applied_credit_notes,contact,company,employee,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedCreditNotesContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,applied_credit_notes,contact,company,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedCreditNotesContactCompanyPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,applied_credit_notes,contact,employee" )] @@ -1902,6 +3928,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsTrackingCategoriesAppliedCreditNotesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,applied_credit_notes,contact,employee,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedCreditNotesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,applied_credit_notes,contact,employee,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedCreditNotesContactEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,applied_credit_notes,contact,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedCreditNotesContactPaymentTerm, + [EnumMember(Value = "applied_payments,tracking_categories,applied_credit_notes,employee")] AppliedPaymentsTrackingCategoriesAppliedCreditNotesEmployee, @@ -1910,6 +3951,19 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsTrackingCategoriesAppliedCreditNotesEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,applied_credit_notes,employee,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedCreditNotesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,applied_credit_notes,employee,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedCreditNotesEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,tracking_categories,applied_credit_notes,payment_term")] + AppliedPaymentsTrackingCategoriesAppliedCreditNotesPaymentTerm, + [EnumMember(Value = "applied_payments,tracking_categories,applied_vendor_credits")] AppliedPaymentsTrackingCategoriesAppliedVendorCredits, @@ -1918,6 +3972,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsTrackingCategoriesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,applied_vendor_credits,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,tracking_categories,applied_vendor_credits,company")] AppliedPaymentsTrackingCategoriesAppliedVendorCreditsCompany, @@ -1926,6 +3985,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsTrackingCategoriesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,applied_vendor_credits,company,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,applied_vendor_credits,company,employee" )] @@ -1936,6 +4000,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsTrackingCategoriesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,applied_vendor_credits,company,employee,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,applied_vendor_credits,company,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember(Value = "applied_payments,tracking_categories,applied_vendor_credits,contact")] AppliedPaymentsTrackingCategoriesAppliedVendorCreditsContact, @@ -1944,6 +4023,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsTrackingCategoriesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,applied_vendor_credits,contact,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,applied_vendor_credits,contact,company" )] @@ -1954,6 +4038,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsTrackingCategoriesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,applied_vendor_credits,contact,company,employee" )] @@ -1964,6 +4053,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsTrackingCategoriesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,applied_vendor_credits,contact,company,employee,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,applied_vendor_credits,contact,company,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,applied_vendor_credits,contact,employee" )] @@ -1974,6 +4078,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsTrackingCategoriesAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,applied_vendor_credits,contact,employee,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,applied_vendor_credits,contact,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedVendorCreditsContactPaymentTerm, + [EnumMember(Value = "applied_payments,tracking_categories,applied_vendor_credits,employee")] AppliedPaymentsTrackingCategoriesAppliedVendorCreditsEmployee, @@ -1982,30 +4101,69 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsTrackingCategoriesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,applied_vendor_credits,employee,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,applied_vendor_credits,employee,payment_term" + )] + AppliedPaymentsTrackingCategoriesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,tracking_categories,applied_vendor_credits,payment_term")] + AppliedPaymentsTrackingCategoriesAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "applied_payments,tracking_categories,company")] AppliedPaymentsTrackingCategoriesCompany, [EnumMember(Value = "applied_payments,tracking_categories,company,accounting_period")] AppliedPaymentsTrackingCategoriesCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,company,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,tracking_categories,company,employee")] AppliedPaymentsTrackingCategoriesCompanyEmployee, [EnumMember(Value = "applied_payments,tracking_categories,company,employee,accounting_period")] AppliedPaymentsTrackingCategoriesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "applied_payments,tracking_categories,company,employee,payment_term")] + AppliedPaymentsTrackingCategoriesCompanyEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,tracking_categories,company,payment_term")] + AppliedPaymentsTrackingCategoriesCompanyPaymentTerm, + [EnumMember(Value = "applied_payments,tracking_categories,contact")] AppliedPaymentsTrackingCategoriesContact, [EnumMember(Value = "applied_payments,tracking_categories,contact,accounting_period")] AppliedPaymentsTrackingCategoriesContactAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,contact,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,tracking_categories,contact,company")] AppliedPaymentsTrackingCategoriesContactCompany, [EnumMember(Value = "applied_payments,tracking_categories,contact,company,accounting_period")] AppliedPaymentsTrackingCategoriesContactCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,contact,company,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,tracking_categories,contact,company,employee")] AppliedPaymentsTrackingCategoriesContactCompanyEmployee, @@ -2014,24 +4172,64 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsTrackingCategoriesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,contact,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,contact,company,employee,payment_term" + )] + AppliedPaymentsTrackingCategoriesContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,tracking_categories,contact,company,payment_term")] + AppliedPaymentsTrackingCategoriesContactCompanyPaymentTerm, + [EnumMember(Value = "applied_payments,tracking_categories,contact,employee")] AppliedPaymentsTrackingCategoriesContactEmployee, [EnumMember(Value = "applied_payments,tracking_categories,contact,employee,accounting_period")] AppliedPaymentsTrackingCategoriesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,contact,employee,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "applied_payments,tracking_categories,contact,employee,payment_term")] + AppliedPaymentsTrackingCategoriesContactEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,tracking_categories,contact,payment_term")] + AppliedPaymentsTrackingCategoriesContactPaymentTerm, + [EnumMember(Value = "applied_payments,tracking_categories,employee")] AppliedPaymentsTrackingCategoriesEmployee, [EnumMember(Value = "applied_payments,tracking_categories,employee,accounting_period")] AppliedPaymentsTrackingCategoriesEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,employee,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "applied_payments,tracking_categories,employee,payment_term")] + AppliedPaymentsTrackingCategoriesEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,tracking_categories,payment_term")] + AppliedPaymentsTrackingCategoriesPaymentTerm, + [EnumMember(Value = "applied_payments,tracking_categories,purchase_orders")] AppliedPaymentsTrackingCategoriesPurchaseOrders, [EnumMember(Value = "applied_payments,tracking_categories,purchase_orders,accounting_period")] AppliedPaymentsTrackingCategoriesPurchaseOrdersAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes" )] @@ -2042,6 +4240,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits" )] @@ -2052,6 +4255,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company" )] @@ -2062,6 +4270,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee" )] @@ -2072,6 +4285,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact" )] @@ -2082,6 +4310,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company" )] @@ -2092,25 +4325,60 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee" )] AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployee, [EnumMember( - Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period" + Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyPaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployee, + + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, + + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period,payment_term" )] - AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, [EnumMember( - Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee" + Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,payment_term" )] - AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployee, + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeePaymentTerm, [EnumMember( - Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period" + Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,payment_term" )] - AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactPaymentTerm, [EnumMember( Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee" @@ -2122,6 +4390,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,company" )] @@ -2132,6 +4415,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,company,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,company,employee" )] @@ -2142,6 +4430,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,company,employee,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,company,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact" )] @@ -2152,6 +4455,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company" )] @@ -2162,6 +4470,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee" )] @@ -2172,6 +4485,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,employee" )] @@ -2182,6 +4510,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,employee,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,employee,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,employee" )] @@ -2192,6 +4535,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,employee,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,employee,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits" )] @@ -2202,6 +4560,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,company" )] @@ -2212,6 +4575,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,company,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,company,employee" )] @@ -2222,6 +4590,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,company,employee,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,company,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact" )] @@ -2232,6 +4615,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,company" )] @@ -2242,6 +4630,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee" )] @@ -2252,6 +4645,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee" )] @@ -2262,6 +4670,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,employee" )] @@ -2272,6 +4695,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,employee,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,employee,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "applied_payments,tracking_categories,purchase_orders,company")] AppliedPaymentsTrackingCategoriesPurchaseOrdersCompany, @@ -2280,6 +4718,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsTrackingCategoriesPurchaseOrdersCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,company,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,tracking_categories,purchase_orders,company,employee")] AppliedPaymentsTrackingCategoriesPurchaseOrdersCompanyEmployee, @@ -2288,6 +4731,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsTrackingCategoriesPurchaseOrdersCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,company,employee,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,company,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersCompanyPaymentTerm, + [EnumMember(Value = "applied_payments,tracking_categories,purchase_orders,contact")] AppliedPaymentsTrackingCategoriesPurchaseOrdersContact, @@ -2296,6 +4754,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsTrackingCategoriesPurchaseOrdersContactAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,contact,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_payments,tracking_categories,purchase_orders,contact,company")] AppliedPaymentsTrackingCategoriesPurchaseOrdersContactCompany, @@ -2304,6 +4767,11 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsTrackingCategoriesPurchaseOrdersContactCompanyAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,contact,company,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "applied_payments,tracking_categories,purchase_orders,contact,company,employee" )] @@ -2314,6 +4782,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsTrackingCategoriesPurchaseOrdersContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,contact,company,employee,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,contact,company,employee,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,contact,company,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersContactCompanyPaymentTerm, + [EnumMember(Value = "applied_payments,tracking_categories,purchase_orders,contact,employee")] AppliedPaymentsTrackingCategoriesPurchaseOrdersContactEmployee, @@ -2322,6 +4805,21 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsTrackingCategoriesPurchaseOrdersContactEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,contact,employee,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,contact,employee,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersContactEmployeePaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,contact,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersContactPaymentTerm, + [EnumMember(Value = "applied_payments,tracking_categories,purchase_orders,employee")] AppliedPaymentsTrackingCategoriesPurchaseOrdersEmployee, @@ -2330,114 +4828,230 @@ public enum InvoicesRetrieveRequestExpand )] AppliedPaymentsTrackingCategoriesPurchaseOrdersEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,employee,accounting_period,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "applied_payments,tracking_categories,purchase_orders,employee,payment_term" + )] + AppliedPaymentsTrackingCategoriesPurchaseOrdersEmployeePaymentTerm, + + [EnumMember(Value = "applied_payments,tracking_categories,purchase_orders,payment_term")] + AppliedPaymentsTrackingCategoriesPurchaseOrdersPaymentTerm, + [EnumMember(Value = "applied_vendor_credits")] AppliedVendorCredits, [EnumMember(Value = "applied_vendor_credits,accounting_period")] AppliedVendorCreditsAccountingPeriod, + [EnumMember(Value = "applied_vendor_credits,accounting_period,payment_term")] + AppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_vendor_credits,company")] AppliedVendorCreditsCompany, [EnumMember(Value = "applied_vendor_credits,company,accounting_period")] AppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember(Value = "applied_vendor_credits,company,accounting_period,payment_term")] + AppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_vendor_credits,company,employee")] AppliedVendorCreditsCompanyEmployee, [EnumMember(Value = "applied_vendor_credits,company,employee,accounting_period")] AppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember(Value = "applied_vendor_credits,company,employee,accounting_period,payment_term")] + AppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "applied_vendor_credits,company,employee,payment_term")] + AppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember(Value = "applied_vendor_credits,company,payment_term")] + AppliedVendorCreditsCompanyPaymentTerm, + [EnumMember(Value = "applied_vendor_credits,contact")] AppliedVendorCreditsContact, [EnumMember(Value = "applied_vendor_credits,contact,accounting_period")] AppliedVendorCreditsContactAccountingPeriod, + [EnumMember(Value = "applied_vendor_credits,contact,accounting_period,payment_term")] + AppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_vendor_credits,contact,company")] AppliedVendorCreditsContactCompany, [EnumMember(Value = "applied_vendor_credits,contact,company,accounting_period")] AppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember(Value = "applied_vendor_credits,contact,company,accounting_period,payment_term")] + AppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "applied_vendor_credits,contact,company,employee")] AppliedVendorCreditsContactCompanyEmployee, [EnumMember(Value = "applied_vendor_credits,contact,company,employee,accounting_period")] AppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + AppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "applied_vendor_credits,contact,company,employee,payment_term")] + AppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "applied_vendor_credits,contact,company,payment_term")] + AppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember(Value = "applied_vendor_credits,contact,employee")] AppliedVendorCreditsContactEmployee, [EnumMember(Value = "applied_vendor_credits,contact,employee,accounting_period")] AppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember(Value = "applied_vendor_credits,contact,employee,accounting_period,payment_term")] + AppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "applied_vendor_credits,contact,employee,payment_term")] + AppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember(Value = "applied_vendor_credits,contact,payment_term")] + AppliedVendorCreditsContactPaymentTerm, + [EnumMember(Value = "applied_vendor_credits,employee")] AppliedVendorCreditsEmployee, [EnumMember(Value = "applied_vendor_credits,employee,accounting_period")] AppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember(Value = "applied_vendor_credits,employee,accounting_period,payment_term")] + AppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "applied_vendor_credits,employee,payment_term")] + AppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember(Value = "applied_vendor_credits,payment_term")] + AppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "company")] Company, [EnumMember(Value = "company,accounting_period")] CompanyAccountingPeriod, + [EnumMember(Value = "company,accounting_period,payment_term")] + CompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "company,employee")] CompanyEmployee, [EnumMember(Value = "company,employee,accounting_period")] CompanyEmployeeAccountingPeriod, + [EnumMember(Value = "company,employee,accounting_period,payment_term")] + CompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "company,employee,payment_term")] + CompanyEmployeePaymentTerm, + + [EnumMember(Value = "company,payment_term")] + CompanyPaymentTerm, + [EnumMember(Value = "contact")] Contact, [EnumMember(Value = "contact,accounting_period")] ContactAccountingPeriod, + [EnumMember(Value = "contact,accounting_period,payment_term")] + ContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "contact,company")] ContactCompany, [EnumMember(Value = "contact,company,accounting_period")] ContactCompanyAccountingPeriod, + [EnumMember(Value = "contact,company,accounting_period,payment_term")] + ContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "contact,company,employee")] ContactCompanyEmployee, [EnumMember(Value = "contact,company,employee,accounting_period")] ContactCompanyEmployeeAccountingPeriod, + [EnumMember(Value = "contact,company,employee,accounting_period,payment_term")] + ContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "contact,company,employee,payment_term")] + ContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "contact,company,payment_term")] + ContactCompanyPaymentTerm, + [EnumMember(Value = "contact,employee")] ContactEmployee, [EnumMember(Value = "contact,employee,accounting_period")] ContactEmployeeAccountingPeriod, + [EnumMember(Value = "contact,employee,accounting_period,payment_term")] + ContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "contact,employee,payment_term")] + ContactEmployeePaymentTerm, + + [EnumMember(Value = "contact,payment_term")] + ContactPaymentTerm, + [EnumMember(Value = "employee")] Employee, [EnumMember(Value = "employee,accounting_period")] EmployeeAccountingPeriod, + [EnumMember(Value = "employee,accounting_period,payment_term")] + EmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "employee,payment_term")] + EmployeePaymentTerm, + [EnumMember(Value = "line_items")] LineItems, [EnumMember(Value = "line_items,accounting_period")] LineItemsAccountingPeriod, + [EnumMember(Value = "line_items,accounting_period,payment_term")] + LineItemsAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,applied_credit_notes")] LineItemsAppliedCreditNotes, [EnumMember(Value = "line_items,applied_credit_notes,accounting_period")] LineItemsAppliedCreditNotesAccountingPeriod, + [EnumMember(Value = "line_items,applied_credit_notes,accounting_period,payment_term")] + LineItemsAppliedCreditNotesAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,applied_credit_notes,applied_vendor_credits")] LineItemsAppliedCreditNotesAppliedVendorCredits, [EnumMember(Value = "line_items,applied_credit_notes,applied_vendor_credits,accounting_period")] LineItemsAppliedCreditNotesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "line_items,applied_credit_notes,applied_vendor_credits,accounting_period,payment_term" + )] + LineItemsAppliedCreditNotesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,applied_credit_notes,applied_vendor_credits,company")] LineItemsAppliedCreditNotesAppliedVendorCreditsCompany, @@ -2446,6 +5060,11 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "line_items,applied_credit_notes,applied_vendor_credits,company,accounting_period,payment_term" + )] + LineItemsAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,applied_credit_notes,applied_vendor_credits,company,employee")] LineItemsAppliedCreditNotesAppliedVendorCreditsCompanyEmployee, @@ -2454,6 +5073,21 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + LineItemsAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,applied_credit_notes,applied_vendor_credits,company,employee,payment_term" + )] + LineItemsAppliedCreditNotesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "line_items,applied_credit_notes,applied_vendor_credits,company,payment_term" + )] + LineItemsAppliedCreditNotesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember(Value = "line_items,applied_credit_notes,applied_vendor_credits,contact")] LineItemsAppliedCreditNotesAppliedVendorCreditsContact, @@ -2462,6 +5096,11 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "line_items,applied_credit_notes,applied_vendor_credits,contact,accounting_period,payment_term" + )] + LineItemsAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,applied_credit_notes,applied_vendor_credits,contact,company")] LineItemsAppliedCreditNotesAppliedVendorCreditsContactCompany, @@ -2470,6 +5109,11 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "line_items,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + LineItemsAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "line_items,applied_credit_notes,applied_vendor_credits,contact,company,employee" )] @@ -2480,6 +5124,21 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + LineItemsAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,applied_credit_notes,applied_vendor_credits,contact,company,employee,payment_term" + )] + LineItemsAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "line_items,applied_credit_notes,applied_vendor_credits,contact,company,payment_term" + )] + LineItemsAppliedCreditNotesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember(Value = "line_items,applied_credit_notes,applied_vendor_credits,contact,employee")] LineItemsAppliedCreditNotesAppliedVendorCreditsContactEmployee, @@ -2488,6 +5147,21 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + LineItemsAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,applied_credit_notes,applied_vendor_credits,contact,employee,payment_term" + )] + LineItemsAppliedCreditNotesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "line_items,applied_credit_notes,applied_vendor_credits,contact,payment_term" + )] + LineItemsAppliedCreditNotesAppliedVendorCreditsContactPaymentTerm, + [EnumMember(Value = "line_items,applied_credit_notes,applied_vendor_credits,employee")] LineItemsAppliedCreditNotesAppliedVendorCreditsEmployee, @@ -2496,30 +5170,65 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,applied_credit_notes,applied_vendor_credits,employee,accounting_period,payment_term" + )] + LineItemsAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,applied_credit_notes,applied_vendor_credits,employee,payment_term" + )] + LineItemsAppliedCreditNotesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember(Value = "line_items,applied_credit_notes,applied_vendor_credits,payment_term")] + LineItemsAppliedCreditNotesAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "line_items,applied_credit_notes,company")] LineItemsAppliedCreditNotesCompany, [EnumMember(Value = "line_items,applied_credit_notes,company,accounting_period")] LineItemsAppliedCreditNotesCompanyAccountingPeriod, + [EnumMember(Value = "line_items,applied_credit_notes,company,accounting_period,payment_term")] + LineItemsAppliedCreditNotesCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,applied_credit_notes,company,employee")] LineItemsAppliedCreditNotesCompanyEmployee, [EnumMember(Value = "line_items,applied_credit_notes,company,employee,accounting_period")] LineItemsAppliedCreditNotesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,applied_credit_notes,company,employee,accounting_period,payment_term" + )] + LineItemsAppliedCreditNotesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "line_items,applied_credit_notes,company,employee,payment_term")] + LineItemsAppliedCreditNotesCompanyEmployeePaymentTerm, + + [EnumMember(Value = "line_items,applied_credit_notes,company,payment_term")] + LineItemsAppliedCreditNotesCompanyPaymentTerm, + [EnumMember(Value = "line_items,applied_credit_notes,contact")] LineItemsAppliedCreditNotesContact, [EnumMember(Value = "line_items,applied_credit_notes,contact,accounting_period")] LineItemsAppliedCreditNotesContactAccountingPeriod, + [EnumMember(Value = "line_items,applied_credit_notes,contact,accounting_period,payment_term")] + LineItemsAppliedCreditNotesContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,applied_credit_notes,contact,company")] LineItemsAppliedCreditNotesContactCompany, [EnumMember(Value = "line_items,applied_credit_notes,contact,company,accounting_period")] LineItemsAppliedCreditNotesContactCompanyAccountingPeriod, + [EnumMember( + Value = "line_items,applied_credit_notes,contact,company,accounting_period,payment_term" + )] + LineItemsAppliedCreditNotesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,applied_credit_notes,contact,company,employee")] LineItemsAppliedCreditNotesContactCompanyEmployee, @@ -2528,17 +5237,48 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsAppliedCreditNotesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,applied_credit_notes,contact,company,employee,accounting_period,payment_term" + )] + LineItemsAppliedCreditNotesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "line_items,applied_credit_notes,contact,company,employee,payment_term")] + LineItemsAppliedCreditNotesContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "line_items,applied_credit_notes,contact,company,payment_term")] + LineItemsAppliedCreditNotesContactCompanyPaymentTerm, + [EnumMember(Value = "line_items,applied_credit_notes,contact,employee")] LineItemsAppliedCreditNotesContactEmployee, [EnumMember(Value = "line_items,applied_credit_notes,contact,employee,accounting_period")] LineItemsAppliedCreditNotesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,applied_credit_notes,contact,employee,accounting_period,payment_term" + )] + LineItemsAppliedCreditNotesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "line_items,applied_credit_notes,contact,employee,payment_term")] + LineItemsAppliedCreditNotesContactEmployeePaymentTerm, + + [EnumMember(Value = "line_items,applied_credit_notes,contact,payment_term")] + LineItemsAppliedCreditNotesContactPaymentTerm, + [EnumMember(Value = "line_items,applied_credit_notes,employee")] LineItemsAppliedCreditNotesEmployee, - [EnumMember(Value = "line_items,applied_credit_notes,employee,accounting_period")] - LineItemsAppliedCreditNotesEmployeeAccountingPeriod, + [EnumMember(Value = "line_items,applied_credit_notes,employee,accounting_period")] + LineItemsAppliedCreditNotesEmployeeAccountingPeriod, + + [EnumMember(Value = "line_items,applied_credit_notes,employee,accounting_period,payment_term")] + LineItemsAppliedCreditNotesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "line_items,applied_credit_notes,employee,payment_term")] + LineItemsAppliedCreditNotesEmployeePaymentTerm, + + [EnumMember(Value = "line_items,applied_credit_notes,payment_term")] + LineItemsAppliedCreditNotesPaymentTerm, [EnumMember(Value = "line_items,applied_vendor_credits")] LineItemsAppliedVendorCredits, @@ -2546,30 +5286,55 @@ public enum InvoicesRetrieveRequestExpand [EnumMember(Value = "line_items,applied_vendor_credits,accounting_period")] LineItemsAppliedVendorCreditsAccountingPeriod, + [EnumMember(Value = "line_items,applied_vendor_credits,accounting_period,payment_term")] + LineItemsAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,applied_vendor_credits,company")] LineItemsAppliedVendorCreditsCompany, [EnumMember(Value = "line_items,applied_vendor_credits,company,accounting_period")] LineItemsAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember(Value = "line_items,applied_vendor_credits,company,accounting_period,payment_term")] + LineItemsAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,applied_vendor_credits,company,employee")] LineItemsAppliedVendorCreditsCompanyEmployee, [EnumMember(Value = "line_items,applied_vendor_credits,company,employee,accounting_period")] LineItemsAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + LineItemsAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "line_items,applied_vendor_credits,company,employee,payment_term")] + LineItemsAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember(Value = "line_items,applied_vendor_credits,company,payment_term")] + LineItemsAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember(Value = "line_items,applied_vendor_credits,contact")] LineItemsAppliedVendorCreditsContact, [EnumMember(Value = "line_items,applied_vendor_credits,contact,accounting_period")] LineItemsAppliedVendorCreditsContactAccountingPeriod, + [EnumMember(Value = "line_items,applied_vendor_credits,contact,accounting_period,payment_term")] + LineItemsAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,applied_vendor_credits,contact,company")] LineItemsAppliedVendorCreditsContactCompany, [EnumMember(Value = "line_items,applied_vendor_credits,contact,company,accounting_period")] LineItemsAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "line_items,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + LineItemsAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,applied_vendor_credits,contact,company,employee")] LineItemsAppliedVendorCreditsContactCompanyEmployee, @@ -2578,72 +5343,158 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + LineItemsAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "line_items,applied_vendor_credits,contact,company,employee,payment_term")] + LineItemsAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "line_items,applied_vendor_credits,contact,company,payment_term")] + LineItemsAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember(Value = "line_items,applied_vendor_credits,contact,employee")] LineItemsAppliedVendorCreditsContactEmployee, [EnumMember(Value = "line_items,applied_vendor_credits,contact,employee,accounting_period")] LineItemsAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + LineItemsAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "line_items,applied_vendor_credits,contact,employee,payment_term")] + LineItemsAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember(Value = "line_items,applied_vendor_credits,contact,payment_term")] + LineItemsAppliedVendorCreditsContactPaymentTerm, + [EnumMember(Value = "line_items,applied_vendor_credits,employee")] LineItemsAppliedVendorCreditsEmployee, [EnumMember(Value = "line_items,applied_vendor_credits,employee,accounting_period")] LineItemsAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,applied_vendor_credits,employee,accounting_period,payment_term" + )] + LineItemsAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "line_items,applied_vendor_credits,employee,payment_term")] + LineItemsAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember(Value = "line_items,applied_vendor_credits,payment_term")] + LineItemsAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "line_items,company")] LineItemsCompany, [EnumMember(Value = "line_items,company,accounting_period")] LineItemsCompanyAccountingPeriod, + [EnumMember(Value = "line_items,company,accounting_period,payment_term")] + LineItemsCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,company,employee")] LineItemsCompanyEmployee, [EnumMember(Value = "line_items,company,employee,accounting_period")] LineItemsCompanyEmployeeAccountingPeriod, + [EnumMember(Value = "line_items,company,employee,accounting_period,payment_term")] + LineItemsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "line_items,company,employee,payment_term")] + LineItemsCompanyEmployeePaymentTerm, + + [EnumMember(Value = "line_items,company,payment_term")] + LineItemsCompanyPaymentTerm, + [EnumMember(Value = "line_items,contact")] LineItemsContact, [EnumMember(Value = "line_items,contact,accounting_period")] LineItemsContactAccountingPeriod, + [EnumMember(Value = "line_items,contact,accounting_period,payment_term")] + LineItemsContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,contact,company")] LineItemsContactCompany, [EnumMember(Value = "line_items,contact,company,accounting_period")] LineItemsContactCompanyAccountingPeriod, + [EnumMember(Value = "line_items,contact,company,accounting_period,payment_term")] + LineItemsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,contact,company,employee")] LineItemsContactCompanyEmployee, [EnumMember(Value = "line_items,contact,company,employee,accounting_period")] LineItemsContactCompanyEmployeeAccountingPeriod, + [EnumMember(Value = "line_items,contact,company,employee,accounting_period,payment_term")] + LineItemsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "line_items,contact,company,employee,payment_term")] + LineItemsContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "line_items,contact,company,payment_term")] + LineItemsContactCompanyPaymentTerm, + [EnumMember(Value = "line_items,contact,employee")] LineItemsContactEmployee, [EnumMember(Value = "line_items,contact,employee,accounting_period")] LineItemsContactEmployeeAccountingPeriod, + [EnumMember(Value = "line_items,contact,employee,accounting_period,payment_term")] + LineItemsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "line_items,contact,employee,payment_term")] + LineItemsContactEmployeePaymentTerm, + + [EnumMember(Value = "line_items,contact,payment_term")] + LineItemsContactPaymentTerm, + [EnumMember(Value = "line_items,employee")] LineItemsEmployee, [EnumMember(Value = "line_items,employee,accounting_period")] LineItemsEmployeeAccountingPeriod, + [EnumMember(Value = "line_items,employee,accounting_period,payment_term")] + LineItemsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "line_items,employee,payment_term")] + LineItemsEmployeePaymentTerm, + + [EnumMember(Value = "line_items,payment_term")] + LineItemsPaymentTerm, + [EnumMember(Value = "line_items,purchase_orders")] LineItemsPurchaseOrders, [EnumMember(Value = "line_items,purchase_orders,accounting_period")] LineItemsPurchaseOrdersAccountingPeriod, + [EnumMember(Value = "line_items,purchase_orders,accounting_period,payment_term")] + LineItemsPurchaseOrdersAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,purchase_orders,applied_credit_notes")] LineItemsPurchaseOrdersAppliedCreditNotes, [EnumMember(Value = "line_items,purchase_orders,applied_credit_notes,accounting_period")] LineItemsPurchaseOrdersAppliedCreditNotesAccountingPeriod, + [EnumMember( + Value = "line_items,purchase_orders,applied_credit_notes,accounting_period,payment_term" + )] + LineItemsPurchaseOrdersAppliedCreditNotesAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits")] LineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCredits, @@ -2652,6 +5503,11 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,accounting_period,payment_term" + )] + LineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company" )] @@ -2662,6 +5518,11 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company,accounting_period,payment_term" + )] + LineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee" )] @@ -2672,6 +5533,21 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + LineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,payment_term" + )] + LineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company,payment_term" + )] + LineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember( Value = "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact" )] @@ -2682,6 +5558,11 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,accounting_period,payment_term" + )] + LineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company" )] @@ -2692,6 +5573,11 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + LineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee" )] @@ -2702,6 +5588,21 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + LineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,payment_term" + )] + LineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,payment_term" + )] + LineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee" )] @@ -2712,6 +5613,21 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + LineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,payment_term" + )] + LineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,payment_term" + )] + LineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactPaymentTerm, + [EnumMember( Value = "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,employee" )] @@ -2722,6 +5638,21 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period,payment_term" + )] + LineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,payment_term" + )] + LineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,payment_term" + )] + LineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "line_items,purchase_orders,applied_credit_notes,company")] LineItemsPurchaseOrdersAppliedCreditNotesCompany, @@ -2730,6 +5661,11 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsPurchaseOrdersAppliedCreditNotesCompanyAccountingPeriod, + [EnumMember( + Value = "line_items,purchase_orders,applied_credit_notes,company,accounting_period,payment_term" + )] + LineItemsPurchaseOrdersAppliedCreditNotesCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,purchase_orders,applied_credit_notes,company,employee")] LineItemsPurchaseOrdersAppliedCreditNotesCompanyEmployee, @@ -2738,6 +5674,19 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsPurchaseOrdersAppliedCreditNotesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,purchase_orders,applied_credit_notes,company,employee,accounting_period,payment_term" + )] + LineItemsPurchaseOrdersAppliedCreditNotesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,purchase_orders,applied_credit_notes,company,employee,payment_term" + )] + LineItemsPurchaseOrdersAppliedCreditNotesCompanyEmployeePaymentTerm, + + [EnumMember(Value = "line_items,purchase_orders,applied_credit_notes,company,payment_term")] + LineItemsPurchaseOrdersAppliedCreditNotesCompanyPaymentTerm, + [EnumMember(Value = "line_items,purchase_orders,applied_credit_notes,contact")] LineItemsPurchaseOrdersAppliedCreditNotesContact, @@ -2746,6 +5695,11 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsPurchaseOrdersAppliedCreditNotesContactAccountingPeriod, + [EnumMember( + Value = "line_items,purchase_orders,applied_credit_notes,contact,accounting_period,payment_term" + )] + LineItemsPurchaseOrdersAppliedCreditNotesContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,purchase_orders,applied_credit_notes,contact,company")] LineItemsPurchaseOrdersAppliedCreditNotesContactCompany, @@ -2754,6 +5708,11 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsPurchaseOrdersAppliedCreditNotesContactCompanyAccountingPeriod, + [EnumMember( + Value = "line_items,purchase_orders,applied_credit_notes,contact,company,accounting_period,payment_term" + )] + LineItemsPurchaseOrdersAppliedCreditNotesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,purchase_orders,applied_credit_notes,contact,company,employee")] LineItemsPurchaseOrdersAppliedCreditNotesContactCompanyEmployee, @@ -2762,6 +5721,21 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsPurchaseOrdersAppliedCreditNotesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,purchase_orders,applied_credit_notes,contact,company,employee,accounting_period,payment_term" + )] + LineItemsPurchaseOrdersAppliedCreditNotesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,purchase_orders,applied_credit_notes,contact,company,employee,payment_term" + )] + LineItemsPurchaseOrdersAppliedCreditNotesContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "line_items,purchase_orders,applied_credit_notes,contact,company,payment_term" + )] + LineItemsPurchaseOrdersAppliedCreditNotesContactCompanyPaymentTerm, + [EnumMember(Value = "line_items,purchase_orders,applied_credit_notes,contact,employee")] LineItemsPurchaseOrdersAppliedCreditNotesContactEmployee, @@ -2770,6 +5744,19 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsPurchaseOrdersAppliedCreditNotesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,purchase_orders,applied_credit_notes,contact,employee,accounting_period,payment_term" + )] + LineItemsPurchaseOrdersAppliedCreditNotesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,purchase_orders,applied_credit_notes,contact,employee,payment_term" + )] + LineItemsPurchaseOrdersAppliedCreditNotesContactEmployeePaymentTerm, + + [EnumMember(Value = "line_items,purchase_orders,applied_credit_notes,contact,payment_term")] + LineItemsPurchaseOrdersAppliedCreditNotesContactPaymentTerm, + [EnumMember(Value = "line_items,purchase_orders,applied_credit_notes,employee")] LineItemsPurchaseOrdersAppliedCreditNotesEmployee, @@ -2778,12 +5765,28 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsPurchaseOrdersAppliedCreditNotesEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,purchase_orders,applied_credit_notes,employee,accounting_period,payment_term" + )] + LineItemsPurchaseOrdersAppliedCreditNotesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "line_items,purchase_orders,applied_credit_notes,employee,payment_term")] + LineItemsPurchaseOrdersAppliedCreditNotesEmployeePaymentTerm, + + [EnumMember(Value = "line_items,purchase_orders,applied_credit_notes,payment_term")] + LineItemsPurchaseOrdersAppliedCreditNotesPaymentTerm, + [EnumMember(Value = "line_items,purchase_orders,applied_vendor_credits")] LineItemsPurchaseOrdersAppliedVendorCredits, [EnumMember(Value = "line_items,purchase_orders,applied_vendor_credits,accounting_period")] LineItemsPurchaseOrdersAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "line_items,purchase_orders,applied_vendor_credits,accounting_period,payment_term" + )] + LineItemsPurchaseOrdersAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,purchase_orders,applied_vendor_credits,company")] LineItemsPurchaseOrdersAppliedVendorCreditsCompany, @@ -2792,6 +5795,11 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsPurchaseOrdersAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "line_items,purchase_orders,applied_vendor_credits,company,accounting_period,payment_term" + )] + LineItemsPurchaseOrdersAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,purchase_orders,applied_vendor_credits,company,employee")] LineItemsPurchaseOrdersAppliedVendorCreditsCompanyEmployee, @@ -2800,6 +5808,19 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsPurchaseOrdersAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,purchase_orders,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + LineItemsPurchaseOrdersAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,purchase_orders,applied_vendor_credits,company,employee,payment_term" + )] + LineItemsPurchaseOrdersAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember(Value = "line_items,purchase_orders,applied_vendor_credits,company,payment_term")] + LineItemsPurchaseOrdersAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember(Value = "line_items,purchase_orders,applied_vendor_credits,contact")] LineItemsPurchaseOrdersAppliedVendorCreditsContact, @@ -2808,6 +5829,11 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsPurchaseOrdersAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "line_items,purchase_orders,applied_vendor_credits,contact,accounting_period,payment_term" + )] + LineItemsPurchaseOrdersAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,purchase_orders,applied_vendor_credits,contact,company")] LineItemsPurchaseOrdersAppliedVendorCreditsContactCompany, @@ -2816,6 +5842,11 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsPurchaseOrdersAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "line_items,purchase_orders,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + LineItemsPurchaseOrdersAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "line_items,purchase_orders,applied_vendor_credits,contact,company,employee" )] @@ -2826,6 +5857,21 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,purchase_orders,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + LineItemsPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,purchase_orders,applied_vendor_credits,contact,company,employee,payment_term" + )] + LineItemsPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "line_items,purchase_orders,applied_vendor_credits,contact,company,payment_term" + )] + LineItemsPurchaseOrdersAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember(Value = "line_items,purchase_orders,applied_vendor_credits,contact,employee")] LineItemsPurchaseOrdersAppliedVendorCreditsContactEmployee, @@ -2834,6 +5880,19 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsPurchaseOrdersAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,purchase_orders,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + LineItemsPurchaseOrdersAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,purchase_orders,applied_vendor_credits,contact,employee,payment_term" + )] + LineItemsPurchaseOrdersAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember(Value = "line_items,purchase_orders,applied_vendor_credits,contact,payment_term")] + LineItemsPurchaseOrdersAppliedVendorCreditsContactPaymentTerm, + [EnumMember(Value = "line_items,purchase_orders,applied_vendor_credits,employee")] LineItemsPurchaseOrdersAppliedVendorCreditsEmployee, @@ -2842,60 +5901,132 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsPurchaseOrdersAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,purchase_orders,applied_vendor_credits,employee,accounting_period,payment_term" + )] + LineItemsPurchaseOrdersAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "line_items,purchase_orders,applied_vendor_credits,employee,payment_term")] + LineItemsPurchaseOrdersAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember(Value = "line_items,purchase_orders,applied_vendor_credits,payment_term")] + LineItemsPurchaseOrdersAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "line_items,purchase_orders,company")] LineItemsPurchaseOrdersCompany, [EnumMember(Value = "line_items,purchase_orders,company,accounting_period")] LineItemsPurchaseOrdersCompanyAccountingPeriod, + [EnumMember(Value = "line_items,purchase_orders,company,accounting_period,payment_term")] + LineItemsPurchaseOrdersCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,purchase_orders,company,employee")] LineItemsPurchaseOrdersCompanyEmployee, [EnumMember(Value = "line_items,purchase_orders,company,employee,accounting_period")] LineItemsPurchaseOrdersCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,purchase_orders,company,employee,accounting_period,payment_term" + )] + LineItemsPurchaseOrdersCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "line_items,purchase_orders,company,employee,payment_term")] + LineItemsPurchaseOrdersCompanyEmployeePaymentTerm, + + [EnumMember(Value = "line_items,purchase_orders,company,payment_term")] + LineItemsPurchaseOrdersCompanyPaymentTerm, + [EnumMember(Value = "line_items,purchase_orders,contact")] LineItemsPurchaseOrdersContact, [EnumMember(Value = "line_items,purchase_orders,contact,accounting_period")] LineItemsPurchaseOrdersContactAccountingPeriod, + [EnumMember(Value = "line_items,purchase_orders,contact,accounting_period,payment_term")] + LineItemsPurchaseOrdersContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,purchase_orders,contact,company")] LineItemsPurchaseOrdersContactCompany, [EnumMember(Value = "line_items,purchase_orders,contact,company,accounting_period")] LineItemsPurchaseOrdersContactCompanyAccountingPeriod, + [EnumMember( + Value = "line_items,purchase_orders,contact,company,accounting_period,payment_term" + )] + LineItemsPurchaseOrdersContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,purchase_orders,contact,company,employee")] LineItemsPurchaseOrdersContactCompanyEmployee, [EnumMember(Value = "line_items,purchase_orders,contact,company,employee,accounting_period")] LineItemsPurchaseOrdersContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,purchase_orders,contact,company,employee,accounting_period,payment_term" + )] + LineItemsPurchaseOrdersContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "line_items,purchase_orders,contact,company,employee,payment_term")] + LineItemsPurchaseOrdersContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "line_items,purchase_orders,contact,company,payment_term")] + LineItemsPurchaseOrdersContactCompanyPaymentTerm, + [EnumMember(Value = "line_items,purchase_orders,contact,employee")] LineItemsPurchaseOrdersContactEmployee, [EnumMember(Value = "line_items,purchase_orders,contact,employee,accounting_period")] LineItemsPurchaseOrdersContactEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,purchase_orders,contact,employee,accounting_period,payment_term" + )] + LineItemsPurchaseOrdersContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "line_items,purchase_orders,contact,employee,payment_term")] + LineItemsPurchaseOrdersContactEmployeePaymentTerm, + + [EnumMember(Value = "line_items,purchase_orders,contact,payment_term")] + LineItemsPurchaseOrdersContactPaymentTerm, + [EnumMember(Value = "line_items,purchase_orders,employee")] LineItemsPurchaseOrdersEmployee, [EnumMember(Value = "line_items,purchase_orders,employee,accounting_period")] LineItemsPurchaseOrdersEmployeeAccountingPeriod, + [EnumMember(Value = "line_items,purchase_orders,employee,accounting_period,payment_term")] + LineItemsPurchaseOrdersEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "line_items,purchase_orders,employee,payment_term")] + LineItemsPurchaseOrdersEmployeePaymentTerm, + + [EnumMember(Value = "line_items,purchase_orders,payment_term")] + LineItemsPurchaseOrdersPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories")] LineItemsTrackingCategories, [EnumMember(Value = "line_items,tracking_categories,accounting_period")] LineItemsTrackingCategoriesAccountingPeriod, + [EnumMember(Value = "line_items,tracking_categories,accounting_period,payment_term")] + LineItemsTrackingCategoriesAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,applied_credit_notes")] LineItemsTrackingCategoriesAppliedCreditNotes, [EnumMember(Value = "line_items,tracking_categories,applied_credit_notes,accounting_period")] LineItemsTrackingCategoriesAppliedCreditNotesAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,applied_credit_notes,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesAppliedCreditNotesAccountingPeriodPaymentTerm, + [EnumMember( Value = "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits" )] @@ -2906,6 +6037,11 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company" )] @@ -2916,6 +6052,11 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee" )] @@ -2926,6 +6067,21 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee,payment_term" + )] + LineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company,payment_term" + )] + LineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember( Value = "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact" )] @@ -2936,6 +6092,11 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company" )] @@ -2946,6 +6107,11 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee" )] @@ -2956,6 +6122,21 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee,payment_term" + )] + LineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,payment_term" + )] + LineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee" )] @@ -2966,6 +6147,21 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee,payment_term" + )] + LineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,payment_term" + )] + LineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactPaymentTerm, + [EnumMember( Value = "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,employee" )] @@ -2976,6 +6172,21 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,employee,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,employee,payment_term" + )] + LineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,payment_term" + )] + LineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,applied_credit_notes,company")] LineItemsTrackingCategoriesAppliedCreditNotesCompany, @@ -2984,6 +6195,11 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsTrackingCategoriesAppliedCreditNotesCompanyAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,applied_credit_notes,company,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesAppliedCreditNotesCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,applied_credit_notes,company,employee")] LineItemsTrackingCategoriesAppliedCreditNotesCompanyEmployee, @@ -2992,6 +6208,19 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsTrackingCategoriesAppliedCreditNotesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,applied_credit_notes,company,employee,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesAppliedCreditNotesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,applied_credit_notes,company,employee,payment_term" + )] + LineItemsTrackingCategoriesAppliedCreditNotesCompanyEmployeePaymentTerm, + + [EnumMember(Value = "line_items,tracking_categories,applied_credit_notes,company,payment_term")] + LineItemsTrackingCategoriesAppliedCreditNotesCompanyPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,applied_credit_notes,contact")] LineItemsTrackingCategoriesAppliedCreditNotesContact, @@ -3000,6 +6229,11 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsTrackingCategoriesAppliedCreditNotesContactAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,applied_credit_notes,contact,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesAppliedCreditNotesContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,applied_credit_notes,contact,company")] LineItemsTrackingCategoriesAppliedCreditNotesContactCompany, @@ -3008,6 +6242,11 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsTrackingCategoriesAppliedCreditNotesContactCompanyAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,applied_credit_notes,contact,company,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesAppliedCreditNotesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "line_items,tracking_categories,applied_credit_notes,contact,company,employee" )] @@ -3018,6 +6257,21 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsTrackingCategoriesAppliedCreditNotesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,applied_credit_notes,contact,company,employee,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesAppliedCreditNotesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,applied_credit_notes,contact,company,employee,payment_term" + )] + LineItemsTrackingCategoriesAppliedCreditNotesContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,applied_credit_notes,contact,company,payment_term" + )] + LineItemsTrackingCategoriesAppliedCreditNotesContactCompanyPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,applied_credit_notes,contact,employee")] LineItemsTrackingCategoriesAppliedCreditNotesContactEmployee, @@ -3026,6 +6280,19 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsTrackingCategoriesAppliedCreditNotesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,applied_credit_notes,contact,employee,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesAppliedCreditNotesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,applied_credit_notes,contact,employee,payment_term" + )] + LineItemsTrackingCategoriesAppliedCreditNotesContactEmployeePaymentTerm, + + [EnumMember(Value = "line_items,tracking_categories,applied_credit_notes,contact,payment_term")] + LineItemsTrackingCategoriesAppliedCreditNotesContactPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,applied_credit_notes,employee")] LineItemsTrackingCategoriesAppliedCreditNotesEmployee, @@ -3034,12 +6301,30 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsTrackingCategoriesAppliedCreditNotesEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,applied_credit_notes,employee,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesAppliedCreditNotesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,applied_credit_notes,employee,payment_term" + )] + LineItemsTrackingCategoriesAppliedCreditNotesEmployeePaymentTerm, + + [EnumMember(Value = "line_items,tracking_categories,applied_credit_notes,payment_term")] + LineItemsTrackingCategoriesAppliedCreditNotesPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,applied_vendor_credits")] LineItemsTrackingCategoriesAppliedVendorCredits, [EnumMember(Value = "line_items,tracking_categories,applied_vendor_credits,accounting_period")] LineItemsTrackingCategoriesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,applied_vendor_credits,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,applied_vendor_credits,company")] LineItemsTrackingCategoriesAppliedVendorCreditsCompany, @@ -3048,6 +6333,11 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsTrackingCategoriesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,applied_vendor_credits,company,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,applied_vendor_credits,company,employee")] LineItemsTrackingCategoriesAppliedVendorCreditsCompanyEmployee, @@ -3056,6 +6346,21 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsTrackingCategoriesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,applied_vendor_credits,company,employee,payment_term" + )] + LineItemsTrackingCategoriesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,applied_vendor_credits,company,payment_term" + )] + LineItemsTrackingCategoriesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,applied_vendor_credits,contact")] LineItemsTrackingCategoriesAppliedVendorCreditsContact, @@ -3064,6 +6369,11 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsTrackingCategoriesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,applied_vendor_credits,contact,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,applied_vendor_credits,contact,company")] LineItemsTrackingCategoriesAppliedVendorCreditsContactCompany, @@ -3072,6 +6382,11 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsTrackingCategoriesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "line_items,tracking_categories,applied_vendor_credits,contact,company,employee" )] @@ -3082,6 +6397,21 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsTrackingCategoriesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,applied_vendor_credits,contact,company,employee,payment_term" + )] + LineItemsTrackingCategoriesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,applied_vendor_credits,contact,company,payment_term" + )] + LineItemsTrackingCategoriesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,applied_vendor_credits,contact,employee")] LineItemsTrackingCategoriesAppliedVendorCreditsContactEmployee, @@ -3090,6 +6420,21 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsTrackingCategoriesAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,applied_vendor_credits,contact,employee,payment_term" + )] + LineItemsTrackingCategoriesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,applied_vendor_credits,contact,payment_term" + )] + LineItemsTrackingCategoriesAppliedVendorCreditsContactPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,applied_vendor_credits,employee")] LineItemsTrackingCategoriesAppliedVendorCreditsEmployee, @@ -3098,30 +6443,65 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsTrackingCategoriesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,applied_vendor_credits,employee,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,applied_vendor_credits,employee,payment_term" + )] + LineItemsTrackingCategoriesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember(Value = "line_items,tracking_categories,applied_vendor_credits,payment_term")] + LineItemsTrackingCategoriesAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,company")] LineItemsTrackingCategoriesCompany, [EnumMember(Value = "line_items,tracking_categories,company,accounting_period")] LineItemsTrackingCategoriesCompanyAccountingPeriod, + [EnumMember(Value = "line_items,tracking_categories,company,accounting_period,payment_term")] + LineItemsTrackingCategoriesCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,company,employee")] LineItemsTrackingCategoriesCompanyEmployee, [EnumMember(Value = "line_items,tracking_categories,company,employee,accounting_period")] LineItemsTrackingCategoriesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,company,employee,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "line_items,tracking_categories,company,employee,payment_term")] + LineItemsTrackingCategoriesCompanyEmployeePaymentTerm, + + [EnumMember(Value = "line_items,tracking_categories,company,payment_term")] + LineItemsTrackingCategoriesCompanyPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,contact")] LineItemsTrackingCategoriesContact, [EnumMember(Value = "line_items,tracking_categories,contact,accounting_period")] LineItemsTrackingCategoriesContactAccountingPeriod, + [EnumMember(Value = "line_items,tracking_categories,contact,accounting_period,payment_term")] + LineItemsTrackingCategoriesContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,contact,company")] LineItemsTrackingCategoriesContactCompany, [EnumMember(Value = "line_items,tracking_categories,contact,company,accounting_period")] LineItemsTrackingCategoriesContactCompanyAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,contact,company,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,contact,company,employee")] LineItemsTrackingCategoriesContactCompanyEmployee, @@ -3130,24 +6510,60 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsTrackingCategoriesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,contact,company,employee,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "line_items,tracking_categories,contact,company,employee,payment_term")] + LineItemsTrackingCategoriesContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "line_items,tracking_categories,contact,company,payment_term")] + LineItemsTrackingCategoriesContactCompanyPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,contact,employee")] LineItemsTrackingCategoriesContactEmployee, [EnumMember(Value = "line_items,tracking_categories,contact,employee,accounting_period")] LineItemsTrackingCategoriesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,contact,employee,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "line_items,tracking_categories,contact,employee,payment_term")] + LineItemsTrackingCategoriesContactEmployeePaymentTerm, + + [EnumMember(Value = "line_items,tracking_categories,contact,payment_term")] + LineItemsTrackingCategoriesContactPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,employee")] LineItemsTrackingCategoriesEmployee, [EnumMember(Value = "line_items,tracking_categories,employee,accounting_period")] LineItemsTrackingCategoriesEmployeeAccountingPeriod, + [EnumMember(Value = "line_items,tracking_categories,employee,accounting_period,payment_term")] + LineItemsTrackingCategoriesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "line_items,tracking_categories,employee,payment_term")] + LineItemsTrackingCategoriesEmployeePaymentTerm, + + [EnumMember(Value = "line_items,tracking_categories,payment_term")] + LineItemsTrackingCategoriesPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,purchase_orders")] LineItemsTrackingCategoriesPurchaseOrders, [EnumMember(Value = "line_items,tracking_categories,purchase_orders,accounting_period")] LineItemsTrackingCategoriesPurchaseOrdersAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes")] LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotes, @@ -3156,6 +6572,11 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAccountingPeriodPaymentTerm, + [EnumMember( Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits" )] @@ -3166,6 +6587,11 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company" )] @@ -3176,6 +6602,11 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee" )] @@ -3186,6 +6617,21 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember( Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact" )] @@ -3196,6 +6642,11 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company" )] @@ -3206,6 +6657,11 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee" )] @@ -3216,6 +6672,21 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee" )] @@ -3226,6 +6697,21 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactPaymentTerm, + [EnumMember( Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee" )] @@ -3236,6 +6722,21 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsPaymentTerm, + [EnumMember( Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,company" )] @@ -3246,6 +6747,11 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,company,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,company,employee" )] @@ -3256,6 +6762,21 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,company,employee,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,company,employee,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,company,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyPaymentTerm, + [EnumMember( Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,contact" )] @@ -3266,6 +6787,11 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company" )] @@ -3276,6 +6802,11 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee" )] @@ -3286,6 +6817,21 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyPaymentTerm, + [EnumMember( Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,employee" )] @@ -3296,6 +6842,21 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,employee,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,employee,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactEmployeePaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactPaymentTerm, + [EnumMember( Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,employee" )] @@ -3306,6 +6867,21 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,employee,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,employee,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesEmployeePaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_credit_notes,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,purchase_orders,applied_vendor_credits")] LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCredits, @@ -3314,6 +6890,11 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_vendor_credits,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "line_items,tracking_categories,purchase_orders,applied_vendor_credits,company" )] @@ -3324,6 +6905,11 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_vendor_credits,company,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "line_items,tracking_categories,purchase_orders,applied_vendor_credits,company,employee" )] @@ -3334,6 +6920,21 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_vendor_credits,company,employee,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_vendor_credits,company,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember( Value = "line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact" )] @@ -3344,45 +6945,100 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company" )] LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompany, [EnumMember( - Value = "line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,accounting_period" + Value = "line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,accounting_period" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyAccountingPeriod, + + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyEmployee, + + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee,accounting_period" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyPaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactEmployee, + + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee,accounting_period" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactEmployeeAccountingPeriod, + + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee,payment_term" )] - LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyAccountingPeriod, + LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactEmployeePaymentTerm, [EnumMember( - Value = "line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee" + Value = "line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,payment_term" )] - LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyEmployee, + LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactPaymentTerm, [EnumMember( - Value = "line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee,accounting_period" + Value = "line_items,tracking_categories,purchase_orders,applied_vendor_credits,employee" )] - LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsEmployee, [EnumMember( - Value = "line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee" + Value = "line_items,tracking_categories,purchase_orders,applied_vendor_credits,employee,accounting_period" )] - LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactEmployee, + LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsEmployeeAccountingPeriod, [EnumMember( - Value = "line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee,accounting_period" + Value = "line_items,tracking_categories,purchase_orders,applied_vendor_credits,employee,accounting_period,payment_term" )] - LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactEmployeeAccountingPeriod, + LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, [EnumMember( - Value = "line_items,tracking_categories,purchase_orders,applied_vendor_credits,employee" + Value = "line_items,tracking_categories,purchase_orders,applied_vendor_credits,employee,payment_term" )] - LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsEmployee, + LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsEmployeePaymentTerm, [EnumMember( - Value = "line_items,tracking_categories,purchase_orders,applied_vendor_credits,employee,accounting_period" + Value = "line_items,tracking_categories,purchase_orders,applied_vendor_credits,payment_term" )] - LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsEmployeeAccountingPeriod, + LineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsPaymentTerm, [EnumMember(Value = "line_items,tracking_categories,purchase_orders,company")] LineItemsTrackingCategoriesPurchaseOrdersCompany, @@ -3390,6 +7046,11 @@ public enum InvoicesRetrieveRequestExpand [EnumMember(Value = "line_items,tracking_categories,purchase_orders,company,accounting_period")] LineItemsTrackingCategoriesPurchaseOrdersCompanyAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,company,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,purchase_orders,company,employee")] LineItemsTrackingCategoriesPurchaseOrdersCompanyEmployee, @@ -3398,12 +7059,30 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsTrackingCategoriesPurchaseOrdersCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,company,employee,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,company,employee,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersCompanyEmployeePaymentTerm, + + [EnumMember(Value = "line_items,tracking_categories,purchase_orders,company,payment_term")] + LineItemsTrackingCategoriesPurchaseOrdersCompanyPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,purchase_orders,contact")] LineItemsTrackingCategoriesPurchaseOrdersContact, [EnumMember(Value = "line_items,tracking_categories,purchase_orders,contact,accounting_period")] LineItemsTrackingCategoriesPurchaseOrdersContactAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,contact,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,purchase_orders,contact,company")] LineItemsTrackingCategoriesPurchaseOrdersContactCompany, @@ -3412,6 +7091,11 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsTrackingCategoriesPurchaseOrdersContactCompanyAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,contact,company,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,purchase_orders,contact,company,employee")] LineItemsTrackingCategoriesPurchaseOrdersContactCompanyEmployee, @@ -3420,6 +7104,21 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsTrackingCategoriesPurchaseOrdersContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,contact,company,employee,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,contact,company,employee,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,contact,company,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersContactCompanyPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,purchase_orders,contact,employee")] LineItemsTrackingCategoriesPurchaseOrdersContactEmployee, @@ -3428,6 +7127,19 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsTrackingCategoriesPurchaseOrdersContactEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,contact,employee,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,contact,employee,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersContactEmployeePaymentTerm, + + [EnumMember(Value = "line_items,tracking_categories,purchase_orders,contact,payment_term")] + LineItemsTrackingCategoriesPurchaseOrdersContactPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,purchase_orders,employee")] LineItemsTrackingCategoriesPurchaseOrdersEmployee, @@ -3436,24 +7148,49 @@ public enum InvoicesRetrieveRequestExpand )] LineItemsTrackingCategoriesPurchaseOrdersEmployeeAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,purchase_orders,employee,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesPurchaseOrdersEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "line_items,tracking_categories,purchase_orders,employee,payment_term")] + LineItemsTrackingCategoriesPurchaseOrdersEmployeePaymentTerm, + + [EnumMember(Value = "line_items,tracking_categories,purchase_orders,payment_term")] + LineItemsTrackingCategoriesPurchaseOrdersPaymentTerm, + + [EnumMember(Value = "payment_term")] + PaymentTerm, + [EnumMember(Value = "payments")] Payments, [EnumMember(Value = "payments,accounting_period")] PaymentsAccountingPeriod, + [EnumMember(Value = "payments,accounting_period,payment_term")] + PaymentsAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_credit_notes")] PaymentsAppliedCreditNotes, [EnumMember(Value = "payments,applied_credit_notes,accounting_period")] PaymentsAppliedCreditNotesAccountingPeriod, + [EnumMember(Value = "payments,applied_credit_notes,accounting_period,payment_term")] + PaymentsAppliedCreditNotesAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_credit_notes,applied_vendor_credits")] PaymentsAppliedCreditNotesAppliedVendorCredits, [EnumMember(Value = "payments,applied_credit_notes,applied_vendor_credits,accounting_period")] PaymentsAppliedCreditNotesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "payments,applied_credit_notes,applied_vendor_credits,accounting_period,payment_term" + )] + PaymentsAppliedCreditNotesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_credit_notes,applied_vendor_credits,company")] PaymentsAppliedCreditNotesAppliedVendorCreditsCompany, @@ -3462,6 +7199,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_credit_notes,applied_vendor_credits,company,accounting_period,payment_term" + )] + PaymentsAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_credit_notes,applied_vendor_credits,company,employee")] PaymentsAppliedCreditNotesAppliedVendorCreditsCompanyEmployee, @@ -3470,6 +7212,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_credit_notes,applied_vendor_credits,company,employee,payment_term" + )] + PaymentsAppliedCreditNotesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_credit_notes,applied_vendor_credits,company,payment_term" + )] + PaymentsAppliedCreditNotesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember(Value = "payments,applied_credit_notes,applied_vendor_credits,contact")] PaymentsAppliedCreditNotesAppliedVendorCreditsContact, @@ -3478,6 +7235,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "payments,applied_credit_notes,applied_vendor_credits,contact,accounting_period,payment_term" + )] + PaymentsAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_credit_notes,applied_vendor_credits,contact,company")] PaymentsAppliedCreditNotesAppliedVendorCreditsContactCompany, @@ -3486,6 +7248,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + PaymentsAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_credit_notes,applied_vendor_credits,contact,company,employee" )] @@ -3496,6 +7263,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_credit_notes,applied_vendor_credits,contact,company,employee,payment_term" + )] + PaymentsAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_credit_notes,applied_vendor_credits,contact,company,payment_term" + )] + PaymentsAppliedCreditNotesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember(Value = "payments,applied_credit_notes,applied_vendor_credits,contact,employee")] PaymentsAppliedCreditNotesAppliedVendorCreditsContactEmployee, @@ -3504,6 +7286,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + PaymentsAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_credit_notes,applied_vendor_credits,contact,employee,payment_term" + )] + PaymentsAppliedCreditNotesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_credit_notes,applied_vendor_credits,contact,payment_term" + )] + PaymentsAppliedCreditNotesAppliedVendorCreditsContactPaymentTerm, + [EnumMember(Value = "payments,applied_credit_notes,applied_vendor_credits,employee")] PaymentsAppliedCreditNotesAppliedVendorCreditsEmployee, @@ -3512,60 +7309,134 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_credit_notes,applied_vendor_credits,employee,accounting_period,payment_term" + )] + PaymentsAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_credit_notes,applied_vendor_credits,employee,payment_term" + )] + PaymentsAppliedCreditNotesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember(Value = "payments,applied_credit_notes,applied_vendor_credits,payment_term")] + PaymentsAppliedCreditNotesAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "payments,applied_credit_notes,company")] PaymentsAppliedCreditNotesCompany, [EnumMember(Value = "payments,applied_credit_notes,company,accounting_period")] PaymentsAppliedCreditNotesCompanyAccountingPeriod, + [EnumMember(Value = "payments,applied_credit_notes,company,accounting_period,payment_term")] + PaymentsAppliedCreditNotesCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_credit_notes,company,employee")] PaymentsAppliedCreditNotesCompanyEmployee, [EnumMember(Value = "payments,applied_credit_notes,company,employee,accounting_period")] PaymentsAppliedCreditNotesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_credit_notes,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedCreditNotesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,applied_credit_notes,company,employee,payment_term")] + PaymentsAppliedCreditNotesCompanyEmployeePaymentTerm, + + [EnumMember(Value = "payments,applied_credit_notes,company,payment_term")] + PaymentsAppliedCreditNotesCompanyPaymentTerm, + [EnumMember(Value = "payments,applied_credit_notes,contact")] PaymentsAppliedCreditNotesContact, [EnumMember(Value = "payments,applied_credit_notes,contact,accounting_period")] PaymentsAppliedCreditNotesContactAccountingPeriod, + [EnumMember(Value = "payments,applied_credit_notes,contact,accounting_period,payment_term")] + PaymentsAppliedCreditNotesContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_credit_notes,contact,company")] PaymentsAppliedCreditNotesContactCompany, [EnumMember(Value = "payments,applied_credit_notes,contact,company,accounting_period")] PaymentsAppliedCreditNotesContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_credit_notes,contact,company,accounting_period,payment_term" + )] + PaymentsAppliedCreditNotesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_credit_notes,contact,company,employee")] PaymentsAppliedCreditNotesContactCompanyEmployee, [EnumMember(Value = "payments,applied_credit_notes,contact,company,employee,accounting_period")] PaymentsAppliedCreditNotesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_credit_notes,contact,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedCreditNotesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,applied_credit_notes,contact,company,employee,payment_term")] + PaymentsAppliedCreditNotesContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "payments,applied_credit_notes,contact,company,payment_term")] + PaymentsAppliedCreditNotesContactCompanyPaymentTerm, + [EnumMember(Value = "payments,applied_credit_notes,contact,employee")] PaymentsAppliedCreditNotesContactEmployee, [EnumMember(Value = "payments,applied_credit_notes,contact,employee,accounting_period")] PaymentsAppliedCreditNotesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_credit_notes,contact,employee,accounting_period,payment_term" + )] + PaymentsAppliedCreditNotesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,applied_credit_notes,contact,employee,payment_term")] + PaymentsAppliedCreditNotesContactEmployeePaymentTerm, + + [EnumMember(Value = "payments,applied_credit_notes,contact,payment_term")] + PaymentsAppliedCreditNotesContactPaymentTerm, + [EnumMember(Value = "payments,applied_credit_notes,employee")] PaymentsAppliedCreditNotesEmployee, [EnumMember(Value = "payments,applied_credit_notes,employee,accounting_period")] PaymentsAppliedCreditNotesEmployeeAccountingPeriod, + [EnumMember(Value = "payments,applied_credit_notes,employee,accounting_period,payment_term")] + PaymentsAppliedCreditNotesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,applied_credit_notes,employee,payment_term")] + PaymentsAppliedCreditNotesEmployeePaymentTerm, + + [EnumMember(Value = "payments,applied_credit_notes,payment_term")] + PaymentsAppliedCreditNotesPaymentTerm, + [EnumMember(Value = "payments,applied_payments")] PaymentsAppliedPayments, [EnumMember(Value = "payments,applied_payments,accounting_period")] PaymentsAppliedPaymentsAccountingPeriod, + [EnumMember(Value = "payments,applied_payments,accounting_period,payment_term")] + PaymentsAppliedPaymentsAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_payments,applied_credit_notes")] PaymentsAppliedPaymentsAppliedCreditNotes, [EnumMember(Value = "payments,applied_payments,applied_credit_notes,accounting_period")] PaymentsAppliedPaymentsAppliedCreditNotesAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,applied_credit_notes,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsAppliedCreditNotesAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_payments,applied_credit_notes,applied_vendor_credits")] PaymentsAppliedPaymentsAppliedCreditNotesAppliedVendorCredits, @@ -3574,6 +7445,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsAppliedCreditNotesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,applied_credit_notes,applied_vendor_credits,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsAppliedCreditNotesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,applied_credit_notes,applied_vendor_credits,company" )] @@ -3584,6 +7460,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,applied_credit_notes,applied_vendor_credits,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,applied_credit_notes,applied_vendor_credits,company,employee" )] @@ -3594,6 +7475,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,applied_credit_notes,applied_vendor_credits,company,employee,payment_term" + )] + PaymentsAppliedPaymentsAppliedCreditNotesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,applied_credit_notes,applied_vendor_credits,company,payment_term" + )] + PaymentsAppliedPaymentsAppliedCreditNotesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,applied_credit_notes,applied_vendor_credits,contact" )] @@ -3604,6 +7500,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,applied_credit_notes,applied_vendor_credits,contact,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,applied_credit_notes,applied_vendor_credits,contact,company" )] @@ -3614,6 +7515,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,applied_credit_notes,applied_vendor_credits,contact,company,employee" )] @@ -3624,6 +7530,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,applied_credit_notes,applied_vendor_credits,contact,company,employee,payment_term" + )] + PaymentsAppliedPaymentsAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,applied_credit_notes,applied_vendor_credits,contact,company,payment_term" + )] + PaymentsAppliedPaymentsAppliedCreditNotesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,applied_credit_notes,applied_vendor_credits,contact,employee" )] @@ -3634,6 +7555,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,applied_credit_notes,applied_vendor_credits,contact,employee,payment_term" + )] + PaymentsAppliedPaymentsAppliedCreditNotesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,applied_credit_notes,applied_vendor_credits,contact,payment_term" + )] + PaymentsAppliedPaymentsAppliedCreditNotesAppliedVendorCreditsContactPaymentTerm, + [EnumMember( Value = "payments,applied_payments,applied_credit_notes,applied_vendor_credits,employee" )] @@ -3644,12 +7580,32 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,applied_credit_notes,applied_vendor_credits,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,applied_credit_notes,applied_vendor_credits,employee,payment_term" + )] + PaymentsAppliedPaymentsAppliedCreditNotesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,applied_credit_notes,applied_vendor_credits,payment_term" + )] + PaymentsAppliedPaymentsAppliedCreditNotesAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "payments,applied_payments,applied_credit_notes,company")] PaymentsAppliedPaymentsAppliedCreditNotesCompany, [EnumMember(Value = "payments,applied_payments,applied_credit_notes,company,accounting_period")] PaymentsAppliedPaymentsAppliedCreditNotesCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,applied_credit_notes,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsAppliedCreditNotesCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_payments,applied_credit_notes,company,employee")] PaymentsAppliedPaymentsAppliedCreditNotesCompanyEmployee, @@ -3658,12 +7614,30 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsAppliedCreditNotesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,applied_credit_notes,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsAppliedCreditNotesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,applied_credit_notes,company,employee,payment_term" + )] + PaymentsAppliedPaymentsAppliedCreditNotesCompanyEmployeePaymentTerm, + + [EnumMember(Value = "payments,applied_payments,applied_credit_notes,company,payment_term")] + PaymentsAppliedPaymentsAppliedCreditNotesCompanyPaymentTerm, + [EnumMember(Value = "payments,applied_payments,applied_credit_notes,contact")] PaymentsAppliedPaymentsAppliedCreditNotesContact, [EnumMember(Value = "payments,applied_payments,applied_credit_notes,contact,accounting_period")] PaymentsAppliedPaymentsAppliedCreditNotesContactAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,applied_credit_notes,contact,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsAppliedCreditNotesContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_payments,applied_credit_notes,contact,company")] PaymentsAppliedPaymentsAppliedCreditNotesContactCompany, @@ -3672,6 +7646,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsAppliedCreditNotesContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,applied_credit_notes,contact,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsAppliedCreditNotesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_payments,applied_credit_notes,contact,company,employee")] PaymentsAppliedPaymentsAppliedCreditNotesContactCompanyEmployee, @@ -3680,6 +7659,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsAppliedCreditNotesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,applied_credit_notes,contact,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsAppliedCreditNotesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,applied_credit_notes,contact,company,employee,payment_term" + )] + PaymentsAppliedPaymentsAppliedCreditNotesContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,applied_credit_notes,contact,company,payment_term" + )] + PaymentsAppliedPaymentsAppliedCreditNotesContactCompanyPaymentTerm, + [EnumMember(Value = "payments,applied_payments,applied_credit_notes,contact,employee")] PaymentsAppliedPaymentsAppliedCreditNotesContactEmployee, @@ -3688,6 +7682,19 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsAppliedCreditNotesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,applied_credit_notes,contact,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsAppliedCreditNotesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,applied_credit_notes,contact,employee,payment_term" + )] + PaymentsAppliedPaymentsAppliedCreditNotesContactEmployeePaymentTerm, + + [EnumMember(Value = "payments,applied_payments,applied_credit_notes,contact,payment_term")] + PaymentsAppliedPaymentsAppliedCreditNotesContactPaymentTerm, + [EnumMember(Value = "payments,applied_payments,applied_credit_notes,employee")] PaymentsAppliedPaymentsAppliedCreditNotesEmployee, @@ -3696,12 +7703,28 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsAppliedCreditNotesEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,applied_credit_notes,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsAppliedCreditNotesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,applied_payments,applied_credit_notes,employee,payment_term")] + PaymentsAppliedPaymentsAppliedCreditNotesEmployeePaymentTerm, + + [EnumMember(Value = "payments,applied_payments,applied_credit_notes,payment_term")] + PaymentsAppliedPaymentsAppliedCreditNotesPaymentTerm, + [EnumMember(Value = "payments,applied_payments,applied_vendor_credits")] PaymentsAppliedPaymentsAppliedVendorCredits, [EnumMember(Value = "payments,applied_payments,applied_vendor_credits,accounting_period")] PaymentsAppliedPaymentsAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,applied_vendor_credits,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_payments,applied_vendor_credits,company")] PaymentsAppliedPaymentsAppliedVendorCreditsCompany, @@ -3710,6 +7733,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,applied_vendor_credits,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_payments,applied_vendor_credits,company,employee")] PaymentsAppliedPaymentsAppliedVendorCreditsCompanyEmployee, @@ -3718,6 +7746,19 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,applied_vendor_credits,company,employee,payment_term" + )] + PaymentsAppliedPaymentsAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember(Value = "payments,applied_payments,applied_vendor_credits,company,payment_term")] + PaymentsAppliedPaymentsAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember(Value = "payments,applied_payments,applied_vendor_credits,contact")] PaymentsAppliedPaymentsAppliedVendorCreditsContact, @@ -3726,6 +7767,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,applied_vendor_credits,contact,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_payments,applied_vendor_credits,contact,company")] PaymentsAppliedPaymentsAppliedVendorCreditsContactCompany, @@ -3734,6 +7780,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,applied_vendor_credits,contact,company,employee" )] @@ -3744,6 +7795,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,applied_vendor_credits,contact,company,employee,payment_term" + )] + PaymentsAppliedPaymentsAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,applied_vendor_credits,contact,company,payment_term" + )] + PaymentsAppliedPaymentsAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember(Value = "payments,applied_payments,applied_vendor_credits,contact,employee")] PaymentsAppliedPaymentsAppliedVendorCreditsContactEmployee, @@ -3752,13 +7818,37 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,applied_vendor_credits,contact,employee,payment_term" + )] + PaymentsAppliedPaymentsAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember(Value = "payments,applied_payments,applied_vendor_credits,contact,payment_term")] + PaymentsAppliedPaymentsAppliedVendorCreditsContactPaymentTerm, + [EnumMember(Value = "payments,applied_payments,applied_vendor_credits,employee")] PaymentsAppliedPaymentsAppliedVendorCreditsEmployee, [EnumMember( - Value = "payments,applied_payments,applied_vendor_credits,employee,accounting_period" + Value = "payments,applied_payments,applied_vendor_credits,employee,accounting_period" + )] + PaymentsAppliedPaymentsAppliedVendorCreditsEmployeeAccountingPeriod, + + [EnumMember( + Value = "payments,applied_payments,applied_vendor_credits,employee,accounting_period,payment_term" )] - PaymentsAppliedPaymentsAppliedVendorCreditsEmployeeAccountingPeriod, + PaymentsAppliedPaymentsAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,applied_payments,applied_vendor_credits,employee,payment_term")] + PaymentsAppliedPaymentsAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember(Value = "payments,applied_payments,applied_vendor_credits,payment_term")] + PaymentsAppliedPaymentsAppliedVendorCreditsPaymentTerm, [EnumMember(Value = "payments,applied_payments,company")] PaymentsAppliedPaymentsCompany, @@ -3766,48 +7856,99 @@ public enum InvoicesRetrieveRequestExpand [EnumMember(Value = "payments,applied_payments,company,accounting_period")] PaymentsAppliedPaymentsCompanyAccountingPeriod, + [EnumMember(Value = "payments,applied_payments,company,accounting_period,payment_term")] + PaymentsAppliedPaymentsCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_payments,company,employee")] PaymentsAppliedPaymentsCompanyEmployee, [EnumMember(Value = "payments,applied_payments,company,employee,accounting_period")] PaymentsAppliedPaymentsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,applied_payments,company,employee,payment_term")] + PaymentsAppliedPaymentsCompanyEmployeePaymentTerm, + + [EnumMember(Value = "payments,applied_payments,company,payment_term")] + PaymentsAppliedPaymentsCompanyPaymentTerm, + [EnumMember(Value = "payments,applied_payments,contact")] PaymentsAppliedPaymentsContact, [EnumMember(Value = "payments,applied_payments,contact,accounting_period")] PaymentsAppliedPaymentsContactAccountingPeriod, + [EnumMember(Value = "payments,applied_payments,contact,accounting_period,payment_term")] + PaymentsAppliedPaymentsContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_payments,contact,company")] PaymentsAppliedPaymentsContactCompany, [EnumMember(Value = "payments,applied_payments,contact,company,accounting_period")] PaymentsAppliedPaymentsContactCompanyAccountingPeriod, + [EnumMember(Value = "payments,applied_payments,contact,company,accounting_period,payment_term")] + PaymentsAppliedPaymentsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_payments,contact,company,employee")] PaymentsAppliedPaymentsContactCompanyEmployee, [EnumMember(Value = "payments,applied_payments,contact,company,employee,accounting_period")] PaymentsAppliedPaymentsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,contact,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,applied_payments,contact,company,employee,payment_term")] + PaymentsAppliedPaymentsContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "payments,applied_payments,contact,company,payment_term")] + PaymentsAppliedPaymentsContactCompanyPaymentTerm, + [EnumMember(Value = "payments,applied_payments,contact,employee")] PaymentsAppliedPaymentsContactEmployee, [EnumMember(Value = "payments,applied_payments,contact,employee,accounting_period")] PaymentsAppliedPaymentsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,contact,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,applied_payments,contact,employee,payment_term")] + PaymentsAppliedPaymentsContactEmployeePaymentTerm, + + [EnumMember(Value = "payments,applied_payments,contact,payment_term")] + PaymentsAppliedPaymentsContactPaymentTerm, + [EnumMember(Value = "payments,applied_payments,employee")] PaymentsAppliedPaymentsEmployee, [EnumMember(Value = "payments,applied_payments,employee,accounting_period")] PaymentsAppliedPaymentsEmployeeAccountingPeriod, + [EnumMember(Value = "payments,applied_payments,employee,accounting_period,payment_term")] + PaymentsAppliedPaymentsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,applied_payments,employee,payment_term")] + PaymentsAppliedPaymentsEmployeePaymentTerm, + [EnumMember(Value = "payments,applied_payments,line_items")] PaymentsAppliedPaymentsLineItems, [EnumMember(Value = "payments,applied_payments,line_items,accounting_period")] PaymentsAppliedPaymentsLineItemsAccountingPeriod, + [EnumMember(Value = "payments,applied_payments,line_items,accounting_period,payment_term")] + PaymentsAppliedPaymentsLineItemsAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_payments,line_items,applied_credit_notes")] PaymentsAppliedPaymentsLineItemsAppliedCreditNotes, @@ -3816,6 +7957,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsAppliedCreditNotesAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,applied_credit_notes,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedCreditNotesAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits" )] @@ -3826,6 +7972,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,company" )] @@ -3836,6 +7987,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,company,employee" )] @@ -3846,6 +8002,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,company,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,company,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact" )] @@ -3856,6 +8027,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,company" )] @@ -3866,6 +8042,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,company,employee" )] @@ -3876,6 +8057,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,company,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,company,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,employee" )] @@ -3886,6 +8082,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,employee" )] @@ -3896,6 +8107,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "payments,applied_payments,line_items,applied_credit_notes,company")] PaymentsAppliedPaymentsLineItemsAppliedCreditNotesCompany, @@ -3904,6 +8130,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsAppliedCreditNotesCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,applied_credit_notes,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedCreditNotesCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,applied_credit_notes,company,employee" )] @@ -3914,6 +8145,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsAppliedCreditNotesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,applied_credit_notes,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedCreditNotesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,applied_credit_notes,company,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedCreditNotesCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,applied_credit_notes,company,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedCreditNotesCompanyPaymentTerm, + [EnumMember(Value = "payments,applied_payments,line_items,applied_credit_notes,contact")] PaymentsAppliedPaymentsLineItemsAppliedCreditNotesContact, @@ -3922,6 +8168,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsAppliedCreditNotesContactAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,applied_credit_notes,contact,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedCreditNotesContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,applied_credit_notes,contact,company" )] @@ -3932,6 +8183,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsAppliedCreditNotesContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,applied_credit_notes,contact,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedCreditNotesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,applied_credit_notes,contact,company,employee" )] @@ -3942,6 +8198,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsAppliedCreditNotesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,applied_credit_notes,contact,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedCreditNotesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,applied_credit_notes,contact,company,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedCreditNotesContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,applied_credit_notes,contact,company,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedCreditNotesContactCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,applied_credit_notes,contact,employee" )] @@ -3952,6 +8223,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsAppliedCreditNotesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,applied_credit_notes,contact,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedCreditNotesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,applied_credit_notes,contact,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedCreditNotesContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,applied_credit_notes,contact,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedCreditNotesContactPaymentTerm, + [EnumMember(Value = "payments,applied_payments,line_items,applied_credit_notes,employee")] PaymentsAppliedPaymentsLineItemsAppliedCreditNotesEmployee, @@ -3960,6 +8246,19 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsAppliedCreditNotesEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,applied_credit_notes,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedCreditNotesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,applied_credit_notes,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedCreditNotesEmployeePaymentTerm, + + [EnumMember(Value = "payments,applied_payments,line_items,applied_credit_notes,payment_term")] + PaymentsAppliedPaymentsLineItemsAppliedCreditNotesPaymentTerm, + [EnumMember(Value = "payments,applied_payments,line_items,applied_vendor_credits")] PaymentsAppliedPaymentsLineItemsAppliedVendorCredits, @@ -3968,6 +8267,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,applied_vendor_credits,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_payments,line_items,applied_vendor_credits,company")] PaymentsAppliedPaymentsLineItemsAppliedVendorCreditsCompany, @@ -3976,6 +8280,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,applied_vendor_credits,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,applied_vendor_credits,company,employee" )] @@ -3986,6 +8295,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,applied_vendor_credits,company,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,applied_vendor_credits,company,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember(Value = "payments,applied_payments,line_items,applied_vendor_credits,contact")] PaymentsAppliedPaymentsLineItemsAppliedVendorCreditsContact, @@ -3994,6 +8318,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,applied_vendor_credits,contact,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,applied_vendor_credits,contact,company" )] @@ -4004,6 +8333,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,applied_vendor_credits,contact,company,employee" )] @@ -4014,6 +8348,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,applied_vendor_credits,contact,company,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,applied_vendor_credits,contact,company,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,applied_vendor_credits,contact,employee" )] @@ -4024,6 +8373,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,applied_vendor_credits,contact,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,applied_vendor_credits,contact,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedVendorCreditsContactPaymentTerm, + [EnumMember(Value = "payments,applied_payments,line_items,applied_vendor_credits,employee")] PaymentsAppliedPaymentsLineItemsAppliedVendorCreditsEmployee, @@ -4032,30 +8396,69 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,applied_vendor_credits,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,applied_vendor_credits,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember(Value = "payments,applied_payments,line_items,applied_vendor_credits,payment_term")] + PaymentsAppliedPaymentsLineItemsAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "payments,applied_payments,line_items,company")] PaymentsAppliedPaymentsLineItemsCompany, [EnumMember(Value = "payments,applied_payments,line_items,company,accounting_period")] PaymentsAppliedPaymentsLineItemsCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_payments,line_items,company,employee")] PaymentsAppliedPaymentsLineItemsCompanyEmployee, [EnumMember(Value = "payments,applied_payments,line_items,company,employee,accounting_period")] PaymentsAppliedPaymentsLineItemsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,applied_payments,line_items,company,employee,payment_term")] + PaymentsAppliedPaymentsLineItemsCompanyEmployeePaymentTerm, + + [EnumMember(Value = "payments,applied_payments,line_items,company,payment_term")] + PaymentsAppliedPaymentsLineItemsCompanyPaymentTerm, + [EnumMember(Value = "payments,applied_payments,line_items,contact")] PaymentsAppliedPaymentsLineItemsContact, [EnumMember(Value = "payments,applied_payments,line_items,contact,accounting_period")] PaymentsAppliedPaymentsLineItemsContactAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,contact,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_payments,line_items,contact,company")] PaymentsAppliedPaymentsLineItemsContactCompany, [EnumMember(Value = "payments,applied_payments,line_items,contact,company,accounting_period")] PaymentsAppliedPaymentsLineItemsContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,contact,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_payments,line_items,contact,company,employee")] PaymentsAppliedPaymentsLineItemsContactCompanyEmployee, @@ -4064,24 +8467,64 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,contact,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,contact,company,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "payments,applied_payments,line_items,contact,company,payment_term")] + PaymentsAppliedPaymentsLineItemsContactCompanyPaymentTerm, + [EnumMember(Value = "payments,applied_payments,line_items,contact,employee")] PaymentsAppliedPaymentsLineItemsContactEmployee, [EnumMember(Value = "payments,applied_payments,line_items,contact,employee,accounting_period")] PaymentsAppliedPaymentsLineItemsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,contact,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,applied_payments,line_items,contact,employee,payment_term")] + PaymentsAppliedPaymentsLineItemsContactEmployeePaymentTerm, + + [EnumMember(Value = "payments,applied_payments,line_items,contact,payment_term")] + PaymentsAppliedPaymentsLineItemsContactPaymentTerm, + [EnumMember(Value = "payments,applied_payments,line_items,employee")] PaymentsAppliedPaymentsLineItemsEmployee, [EnumMember(Value = "payments,applied_payments,line_items,employee,accounting_period")] PaymentsAppliedPaymentsLineItemsEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,applied_payments,line_items,employee,payment_term")] + PaymentsAppliedPaymentsLineItemsEmployeePaymentTerm, + + [EnumMember(Value = "payments,applied_payments,line_items,payment_term")] + PaymentsAppliedPaymentsLineItemsPaymentTerm, + [EnumMember(Value = "payments,applied_payments,line_items,purchase_orders")] PaymentsAppliedPaymentsLineItemsPurchaseOrders, [EnumMember(Value = "payments,applied_payments,line_items,purchase_orders,accounting_period")] PaymentsAppliedPaymentsLineItemsPurchaseOrdersAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes" )] @@ -4092,6 +8535,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits" )] @@ -4102,6 +8550,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company" )] @@ -4112,6 +8565,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee" )] @@ -4122,6 +8580,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact" )] @@ -4132,6 +8605,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company" )] @@ -4142,6 +8620,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee" )] @@ -4152,25 +8635,70 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee" )] PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployee, [EnumMember( - Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period" + Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, + + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,employee" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployee, + + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriod, + + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period,payment_term" )] - PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, [EnumMember( - Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,employee" + Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,payment_term" )] - PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployee, + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeePaymentTerm, [EnumMember( - Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period" + Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,payment_term" )] - PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriod, + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsPaymentTerm, [EnumMember( Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,company" @@ -4182,6 +8710,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,company,employee" )] @@ -4192,6 +8725,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,company,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,company,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,contact" )] @@ -4202,6 +8750,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,contact,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,contact,company" )] @@ -4212,6 +8765,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,contact,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,contact,company,employee" )] @@ -4222,6 +8780,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,contact,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,contact,company,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,contact,company,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,contact,employee" )] @@ -4232,6 +8805,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,contact,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,contact,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,contact,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,employee" )] @@ -4242,6 +8830,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedCreditNotesPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits" )] @@ -4252,6 +8855,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,company" )] @@ -4262,6 +8870,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,company,employee" )] @@ -4272,6 +8885,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,company,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,company,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,contact" )] @@ -4282,6 +8910,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,company" )] @@ -4292,6 +8925,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,company,employee" )] @@ -4302,6 +8940,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,company,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,company,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,employee" )] @@ -4312,6 +8965,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,employee" )] @@ -4322,6 +8990,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "payments,applied_payments,line_items,purchase_orders,company")] PaymentsAppliedPaymentsLineItemsPurchaseOrdersCompany, @@ -4330,6 +9013,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsPurchaseOrdersCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_payments,line_items,purchase_orders,company,employee")] PaymentsAppliedPaymentsLineItemsPurchaseOrdersCompanyEmployee, @@ -4338,6 +9026,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsPurchaseOrdersCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,company,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,company,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersCompanyPaymentTerm, + [EnumMember(Value = "payments,applied_payments,line_items,purchase_orders,contact")] PaymentsAppliedPaymentsLineItemsPurchaseOrdersContact, @@ -4346,6 +9049,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsPurchaseOrdersContactAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,contact,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_payments,line_items,purchase_orders,contact,company")] PaymentsAppliedPaymentsLineItemsPurchaseOrdersContactCompany, @@ -4354,6 +9062,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsPurchaseOrdersContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,contact,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,purchase_orders,contact,company,employee" )] @@ -4364,6 +9077,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsPurchaseOrdersContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,contact,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,contact,company,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,contact,company,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersContactCompanyPaymentTerm, + [EnumMember(Value = "payments,applied_payments,line_items,purchase_orders,contact,employee")] PaymentsAppliedPaymentsLineItemsPurchaseOrdersContactEmployee, @@ -4372,6 +9100,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsPurchaseOrdersContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,contact,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,contact,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,contact,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersContactPaymentTerm, + [EnumMember(Value = "payments,applied_payments,line_items,purchase_orders,employee")] PaymentsAppliedPaymentsLineItemsPurchaseOrdersEmployee, @@ -4380,6 +9123,19 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsPurchaseOrdersEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,purchase_orders,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersEmployeePaymentTerm, + + [EnumMember(Value = "payments,applied_payments,line_items,purchase_orders,payment_term")] + PaymentsAppliedPaymentsLineItemsPurchaseOrdersPaymentTerm, + [EnumMember(Value = "payments,applied_payments,line_items,tracking_categories")] PaymentsAppliedPaymentsLineItemsTrackingCategories, @@ -4388,6 +9144,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes" )] @@ -4398,6 +9159,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits" )] @@ -4408,6 +9174,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company" )] @@ -4418,6 +9189,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee" )] @@ -4428,6 +9204,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact" )] @@ -4438,6 +9229,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company" )] @@ -4448,6 +9244,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee" )] @@ -4458,6 +9259,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee" )] @@ -4468,6 +9284,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,employee" )] @@ -4478,6 +9309,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,company" )] @@ -4488,6 +9334,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,company,employee" )] @@ -4498,6 +9349,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,company,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,company,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,contact" )] @@ -4508,6 +9374,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,contact,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,contact,company" )] @@ -4518,6 +9389,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,contact,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,contact,company,employee" )] @@ -4528,6 +9404,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,contact,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,contact,company,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,contact,company,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,contact,employee" )] @@ -4538,6 +9429,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,contact,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,contact,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,contact,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,employee" )] @@ -4548,6 +9454,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedCreditNotesPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits" )] @@ -4558,6 +9479,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,company" )] @@ -4568,6 +9494,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,company,employee" )] @@ -4578,6 +9509,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,company,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,company,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,contact" )] @@ -4588,6 +9534,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,company" )] @@ -4598,6 +9549,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,company,employee" )] @@ -4608,6 +9564,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,company,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,company,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,employee" )] @@ -4618,6 +9589,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,employee" )] @@ -4628,6 +9614,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "payments,applied_payments,line_items,tracking_categories,company")] PaymentsAppliedPaymentsLineItemsTrackingCategoriesCompany, @@ -4636,6 +9637,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,company,employee" )] @@ -4646,6 +9652,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,company,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,company,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesCompanyPaymentTerm, + [EnumMember(Value = "payments,applied_payments,line_items,tracking_categories,contact")] PaymentsAppliedPaymentsLineItemsTrackingCategoriesContact, @@ -4654,6 +9675,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesContactAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,contact,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_payments,line_items,tracking_categories,contact,company")] PaymentsAppliedPaymentsLineItemsTrackingCategoriesContactCompany, @@ -4662,6 +9688,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,contact,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,contact,company,employee" )] @@ -4672,6 +9703,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,contact,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,contact,company,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,contact,company,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesContactCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,contact,employee" )] @@ -4682,6 +9728,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,contact,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,contact,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,contact,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesContactPaymentTerm, + [EnumMember(Value = "payments,applied_payments,line_items,tracking_categories,employee")] PaymentsAppliedPaymentsLineItemsTrackingCategoriesEmployee, @@ -4690,6 +9751,19 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesEmployeePaymentTerm, + + [EnumMember(Value = "payments,applied_payments,line_items,tracking_categories,payment_term")] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPaymentTerm, + [EnumMember(Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders")] PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrders, @@ -4698,6 +9772,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes" )] @@ -4708,6 +9787,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits" )] @@ -4718,6 +9802,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company" )] @@ -4728,6 +9817,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee" )] @@ -4738,6 +9832,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact" )] @@ -4748,6 +9857,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company" )] @@ -4758,6 +9872,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee" )] @@ -4768,6 +9887,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee" )] @@ -4778,6 +9912,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee" )] @@ -4788,6 +9937,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company" )] @@ -4798,6 +9962,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company,employee" )] @@ -4808,6 +9977,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact" )] @@ -4818,6 +10002,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company" )] @@ -4828,6 +10017,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee" )] @@ -4838,6 +10032,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,employee" )] @@ -4848,6 +10057,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,employee" )] @@ -4858,6 +10082,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits" )] @@ -4868,6 +10107,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,company" )] @@ -4878,6 +10122,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,company,employee" )] @@ -4888,6 +10137,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,company,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,company,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact" )] @@ -4898,6 +10162,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company" )] @@ -4908,6 +10177,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee" )] @@ -4918,6 +10192,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee" )] @@ -4928,6 +10217,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,employee" )] @@ -4938,6 +10242,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,company" )] @@ -4948,6 +10267,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,company,employee" )] @@ -4958,6 +10282,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,company,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,company,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,contact" )] @@ -4969,24 +10308,49 @@ public enum InvoicesRetrieveRequestExpand PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersContactAccountingPeriod, [EnumMember( - Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,contact,company" + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,contact,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersContactAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,contact,company" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersContactCompany, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,contact,company,accounting_period" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersContactCompanyAccountingPeriod, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,contact,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersContactCompanyAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,contact,company,employee" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersContactCompanyEmployee, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,contact,company,employee,accounting_period" )] - PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersContactCompany, + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersContactCompanyEmployeeAccountingPeriod, [EnumMember( - Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,contact,company,accounting_period" + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,contact,company,employee,accounting_period,payment_term" )] - PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersContactCompanyAccountingPeriod, + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersContactCompanyEmployeeAccountingPeriodPaymentTerm, [EnumMember( - Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,contact,company,employee" + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,contact,company,employee,payment_term" )] - PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersContactCompanyEmployee, + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersContactCompanyEmployeePaymentTerm, [EnumMember( - Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,contact,company,employee,accounting_period" + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,contact,company,payment_term" )] - PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersContactCompanyEmployeeAccountingPeriod, + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersContactCompanyPaymentTerm, [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,contact,employee" @@ -4998,6 +10362,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,contact,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,contact,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,contact,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersContactPaymentTerm, + [EnumMember( Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,employee" )] @@ -5008,12 +10387,33 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,employee,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,line_items,tracking_categories,purchase_orders,payment_term" + )] + PaymentsAppliedPaymentsLineItemsTrackingCategoriesPurchaseOrdersPaymentTerm, + + [EnumMember(Value = "payments,applied_payments,payment_term")] + PaymentsAppliedPaymentsPaymentTerm, + [EnumMember(Value = "payments,applied_payments,purchase_orders")] PaymentsAppliedPaymentsPurchaseOrders, [EnumMember(Value = "payments,applied_payments,purchase_orders,accounting_period")] PaymentsAppliedPaymentsPurchaseOrdersAccountingPeriod, + [EnumMember(Value = "payments,applied_payments,purchase_orders,accounting_period,payment_term")] + PaymentsAppliedPaymentsPurchaseOrdersAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_payments,purchase_orders,applied_credit_notes")] PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotes, @@ -5022,6 +10422,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_credit_notes,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits" )] @@ -5032,6 +10437,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,company" )] @@ -5042,6 +10452,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee" )] @@ -5052,6 +10467,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,company,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact" )] @@ -5062,6 +10492,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company" )] @@ -5072,6 +10507,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee" )] @@ -5082,6 +10522,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee" )] @@ -5092,6 +10547,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactPaymentTerm, + [EnumMember( Value = "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,employee" )] @@ -5102,6 +10572,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "payments,applied_payments,purchase_orders,applied_credit_notes,company")] PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesCompany, @@ -5110,6 +10595,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_credit_notes,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,purchase_orders,applied_credit_notes,company,employee" )] @@ -5120,6 +10610,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_credit_notes,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_credit_notes,company,employee,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_credit_notes,company,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesCompanyPaymentTerm, + [EnumMember(Value = "payments,applied_payments,purchase_orders,applied_credit_notes,contact")] PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesContact, @@ -5128,6 +10633,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesContactAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_credit_notes,contact,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,purchase_orders,applied_credit_notes,contact,company" )] @@ -5138,6 +10648,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_credit_notes,contact,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,purchase_orders,applied_credit_notes,contact,company,employee" )] @@ -5148,6 +10663,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_credit_notes,contact,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_credit_notes,contact,company,employee,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_credit_notes,contact,company,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesContactCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,purchase_orders,applied_credit_notes,contact,employee" )] @@ -5158,6 +10688,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_credit_notes,contact,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_credit_notes,contact,employee,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_credit_notes,contact,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesContactPaymentTerm, + [EnumMember(Value = "payments,applied_payments,purchase_orders,applied_credit_notes,employee")] PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesEmployee, @@ -5166,6 +10711,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_credit_notes,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_credit_notes,employee,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_credit_notes,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedCreditNotesPaymentTerm, + [EnumMember(Value = "payments,applied_payments,purchase_orders,applied_vendor_credits")] PaymentsAppliedPaymentsPurchaseOrdersAppliedVendorCredits, @@ -5174,6 +10734,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsPurchaseOrdersAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_vendor_credits,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_payments,purchase_orders,applied_vendor_credits,company")] PaymentsAppliedPaymentsPurchaseOrdersAppliedVendorCreditsCompany, @@ -5182,6 +10747,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsPurchaseOrdersAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_vendor_credits,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,purchase_orders,applied_vendor_credits,company,employee" )] @@ -5192,6 +10762,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsPurchaseOrdersAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_vendor_credits,company,employee,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_vendor_credits,company,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember(Value = "payments,applied_payments,purchase_orders,applied_vendor_credits,contact")] PaymentsAppliedPaymentsPurchaseOrdersAppliedVendorCreditsContact, @@ -5200,6 +10785,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsPurchaseOrdersAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_vendor_credits,contact,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,purchase_orders,applied_vendor_credits,contact,company" )] @@ -5210,6 +10800,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsPurchaseOrdersAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,purchase_orders,applied_vendor_credits,contact,company,employee" )] @@ -5220,6 +10815,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_vendor_credits,contact,company,employee,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_vendor_credits,contact,company,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,purchase_orders,applied_vendor_credits,contact,employee" )] @@ -5230,6 +10840,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsPurchaseOrdersAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_vendor_credits,contact,employee,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_vendor_credits,contact,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedVendorCreditsContactPaymentTerm, + [EnumMember( Value = "payments,applied_payments,purchase_orders,applied_vendor_credits,employee" )] @@ -5240,12 +10865,32 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsPurchaseOrdersAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_vendor_credits,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_vendor_credits,employee,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,purchase_orders,applied_vendor_credits,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "payments,applied_payments,purchase_orders,company")] PaymentsAppliedPaymentsPurchaseOrdersCompany, [EnumMember(Value = "payments,applied_payments,purchase_orders,company,accounting_period")] PaymentsAppliedPaymentsPurchaseOrdersCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,purchase_orders,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_payments,purchase_orders,company,employee")] PaymentsAppliedPaymentsPurchaseOrdersCompanyEmployee, @@ -5254,12 +10899,28 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsPurchaseOrdersCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,purchase_orders,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,applied_payments,purchase_orders,company,employee,payment_term")] + PaymentsAppliedPaymentsPurchaseOrdersCompanyEmployeePaymentTerm, + + [EnumMember(Value = "payments,applied_payments,purchase_orders,company,payment_term")] + PaymentsAppliedPaymentsPurchaseOrdersCompanyPaymentTerm, + [EnumMember(Value = "payments,applied_payments,purchase_orders,contact")] PaymentsAppliedPaymentsPurchaseOrdersContact, [EnumMember(Value = "payments,applied_payments,purchase_orders,contact,accounting_period")] PaymentsAppliedPaymentsPurchaseOrdersContactAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,purchase_orders,contact,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_payments,purchase_orders,contact,company")] PaymentsAppliedPaymentsPurchaseOrdersContactCompany, @@ -5268,6 +10929,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsPurchaseOrdersContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,purchase_orders,contact,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_payments,purchase_orders,contact,company,employee")] PaymentsAppliedPaymentsPurchaseOrdersContactCompanyEmployee, @@ -5276,6 +10942,19 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsPurchaseOrdersContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,purchase_orders,contact,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,purchase_orders,contact,company,employee,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "payments,applied_payments,purchase_orders,contact,company,payment_term")] + PaymentsAppliedPaymentsPurchaseOrdersContactCompanyPaymentTerm, + [EnumMember(Value = "payments,applied_payments,purchase_orders,contact,employee")] PaymentsAppliedPaymentsPurchaseOrdersContactEmployee, @@ -5284,18 +10963,45 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsPurchaseOrdersContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,purchase_orders,contact,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,applied_payments,purchase_orders,contact,employee,payment_term")] + PaymentsAppliedPaymentsPurchaseOrdersContactEmployeePaymentTerm, + + [EnumMember(Value = "payments,applied_payments,purchase_orders,contact,payment_term")] + PaymentsAppliedPaymentsPurchaseOrdersContactPaymentTerm, + [EnumMember(Value = "payments,applied_payments,purchase_orders,employee")] PaymentsAppliedPaymentsPurchaseOrdersEmployee, [EnumMember(Value = "payments,applied_payments,purchase_orders,employee,accounting_period")] PaymentsAppliedPaymentsPurchaseOrdersEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,purchase_orders,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsPurchaseOrdersEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,applied_payments,purchase_orders,employee,payment_term")] + PaymentsAppliedPaymentsPurchaseOrdersEmployeePaymentTerm, + + [EnumMember(Value = "payments,applied_payments,purchase_orders,payment_term")] + PaymentsAppliedPaymentsPurchaseOrdersPaymentTerm, + [EnumMember(Value = "payments,applied_payments,tracking_categories")] PaymentsAppliedPaymentsTrackingCategories, [EnumMember(Value = "payments,applied_payments,tracking_categories,accounting_period")] PaymentsAppliedPaymentsTrackingCategoriesAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_payments,tracking_categories,applied_credit_notes")] PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotes, @@ -5304,6 +11010,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_credit_notes,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits" )] @@ -5314,6 +11025,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,company" )] @@ -5324,6 +11040,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee" )] @@ -5334,6 +11055,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,company,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact" )] @@ -5344,6 +11080,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company" )] @@ -5354,25 +11095,60 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee" )] PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployee, [EnumMember( - Value = "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period" + Value = "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactEmployee, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period,payment_term" )] - PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, [EnumMember( - Value = "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee" + Value = "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee,payment_term" )] - PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactEmployee, + PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactEmployeePaymentTerm, [EnumMember( - Value = "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period" + Value = "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,payment_term" )] - PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, + PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactPaymentTerm, [EnumMember( Value = "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,employee" @@ -5384,6 +11160,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,employee,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,applied_credit_notes,company" )] @@ -5394,6 +11185,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_credit_notes,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,applied_credit_notes,company,employee" )] @@ -5404,6 +11200,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_credit_notes,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_credit_notes,company,employee,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_credit_notes,company,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,applied_credit_notes,contact" )] @@ -5414,6 +11225,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesContactAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_credit_notes,contact,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,applied_credit_notes,contact,company" )] @@ -5424,6 +11240,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_credit_notes,contact,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,applied_credit_notes,contact,company,employee" )] @@ -5434,6 +11255,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_credit_notes,contact,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_credit_notes,contact,company,employee,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_credit_notes,contact,company,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesContactCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,applied_credit_notes,contact,employee" )] @@ -5444,6 +11280,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_credit_notes,contact,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_credit_notes,contact,employee,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_credit_notes,contact,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesContactPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,applied_credit_notes,employee" )] @@ -5454,6 +11305,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_credit_notes,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_credit_notes,employee,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_credit_notes,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedCreditNotesPaymentTerm, + [EnumMember(Value = "payments,applied_payments,tracking_categories,applied_vendor_credits")] PaymentsAppliedPaymentsTrackingCategoriesAppliedVendorCredits, @@ -5462,6 +11328,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_vendor_credits,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,applied_vendor_credits,company" )] @@ -5472,6 +11343,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_vendor_credits,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,applied_vendor_credits,company,employee" )] @@ -5482,6 +11358,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_vendor_credits,company,employee,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_vendor_credits,company,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,applied_vendor_credits,contact" )] @@ -5492,6 +11383,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_vendor_credits,contact,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,applied_vendor_credits,contact,company" )] @@ -5502,6 +11398,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,applied_vendor_credits,contact,company,employee" )] @@ -5512,6 +11413,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_vendor_credits,contact,company,employee,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_vendor_credits,contact,company,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,applied_vendor_credits,contact,employee" )] @@ -5522,6 +11438,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_vendor_credits,contact,employee,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_vendor_credits,contact,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedVendorCreditsContactPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,applied_vendor_credits,employee" )] @@ -5532,12 +11463,32 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_vendor_credits,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_vendor_credits,employee,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,applied_vendor_credits,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "payments,applied_payments,tracking_categories,company")] PaymentsAppliedPaymentsTrackingCategoriesCompany, [EnumMember(Value = "payments,applied_payments,tracking_categories,company,accounting_period")] PaymentsAppliedPaymentsTrackingCategoriesCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_payments,tracking_categories,company,employee")] PaymentsAppliedPaymentsTrackingCategoriesCompanyEmployee, @@ -5546,12 +11497,30 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,company,employee,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesCompanyEmployeePaymentTerm, + + [EnumMember(Value = "payments,applied_payments,tracking_categories,company,payment_term")] + PaymentsAppliedPaymentsTrackingCategoriesCompanyPaymentTerm, + [EnumMember(Value = "payments,applied_payments,tracking_categories,contact")] PaymentsAppliedPaymentsTrackingCategoriesContact, [EnumMember(Value = "payments,applied_payments,tracking_categories,contact,accounting_period")] PaymentsAppliedPaymentsTrackingCategoriesContactAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,contact,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_payments,tracking_categories,contact,company")] PaymentsAppliedPaymentsTrackingCategoriesContactCompany, @@ -5560,6 +11529,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,contact,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_payments,tracking_categories,contact,company,employee")] PaymentsAppliedPaymentsTrackingCategoriesContactCompanyEmployee, @@ -5568,6 +11542,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,contact,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,contact,company,employee,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,contact,company,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesContactCompanyPaymentTerm, + [EnumMember(Value = "payments,applied_payments,tracking_categories,contact,employee")] PaymentsAppliedPaymentsTrackingCategoriesContactEmployee, @@ -5576,12 +11565,36 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,contact,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,contact,employee,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesContactEmployeePaymentTerm, + + [EnumMember(Value = "payments,applied_payments,tracking_categories,contact,payment_term")] + PaymentsAppliedPaymentsTrackingCategoriesContactPaymentTerm, + [EnumMember(Value = "payments,applied_payments,tracking_categories,employee")] PaymentsAppliedPaymentsTrackingCategoriesEmployee, [EnumMember(Value = "payments,applied_payments,tracking_categories,employee,accounting_period")] PaymentsAppliedPaymentsTrackingCategoriesEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,applied_payments,tracking_categories,employee,payment_term")] + PaymentsAppliedPaymentsTrackingCategoriesEmployeePaymentTerm, + + [EnumMember(Value = "payments,applied_payments,tracking_categories,payment_term")] + PaymentsAppliedPaymentsTrackingCategoriesPaymentTerm, + [EnumMember(Value = "payments,applied_payments,tracking_categories,purchase_orders")] PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrders, @@ -5590,6 +11603,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes" )] @@ -5600,6 +11618,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits" )] @@ -5610,6 +11633,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company" )] @@ -5620,6 +11648,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee" )] @@ -5630,6 +11663,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact" )] @@ -5640,6 +11688,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company" )] @@ -5650,6 +11703,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee" )] @@ -5660,6 +11718,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee" )] @@ -5670,6 +11743,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee" )] @@ -5680,6 +11768,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,company" )] @@ -5690,6 +11793,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,company,employee" )] @@ -5700,6 +11808,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,company,employee,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,company,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact" )] @@ -5711,44 +11834,99 @@ public enum InvoicesRetrieveRequestExpand PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactAccountingPeriod, [EnumMember( - Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company" + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompany, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company,accounting_period" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyAccountingPeriod, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyEmployee, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee,accounting_period" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyEmployeeAccountingPeriod, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,employee" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactEmployee, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,employee,accounting_period" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactEmployeeAccountingPeriod, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,employee,accounting_period,payment_term" )] - PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompany, + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactEmployeeAccountingPeriodPaymentTerm, [EnumMember( - Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company,accounting_period" + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,employee,payment_term" )] - PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyAccountingPeriod, + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactEmployeePaymentTerm, [EnumMember( - Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee" + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,payment_term" )] - PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyEmployee, + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactPaymentTerm, [EnumMember( - Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee,accounting_period" + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,employee" )] - PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyEmployeeAccountingPeriod, + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesEmployee, [EnumMember( - Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,employee" + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,employee,accounting_period" )] - PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactEmployee, + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesEmployeeAccountingPeriod, [EnumMember( - Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,employee,accounting_period" + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,employee,accounting_period,payment_term" )] - PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactEmployeeAccountingPeriod, + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesEmployeeAccountingPeriodPaymentTerm, [EnumMember( - Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,employee" + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,employee,payment_term" )] - PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesEmployee, + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesEmployeePaymentTerm, [EnumMember( - Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,employee,accounting_period" + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,payment_term" )] - PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesEmployeeAccountingPeriod, + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesPaymentTerm, [EnumMember( Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits" @@ -5760,6 +11938,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,company" )] @@ -5770,6 +11953,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,company,employee" )] @@ -5780,6 +11968,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,company,employee,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,company,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact" )] @@ -5790,6 +11993,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,company" )] @@ -5800,6 +12008,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee" )] @@ -5810,6 +12023,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee" )] @@ -5820,6 +12048,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,employee" )] @@ -5830,6 +12073,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,employee,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "payments,applied_payments,tracking_categories,purchase_orders,company")] PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersCompany, @@ -5838,6 +12096,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,purchase_orders,company,employee" )] @@ -5848,6 +12111,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,company,employee,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,company,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersCompanyPaymentTerm, + [EnumMember(Value = "payments,applied_payments,tracking_categories,purchase_orders,contact")] PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersContact, @@ -5856,6 +12134,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersContactAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,contact,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,purchase_orders,contact,company" )] @@ -5866,6 +12149,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,contact,company,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,purchase_orders,contact,company,employee" )] @@ -5876,6 +12164,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,contact,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,contact,company,employee,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,contact,company,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersContactCompanyPaymentTerm, + [EnumMember( Value = "payments,applied_payments,tracking_categories,purchase_orders,contact,employee" )] @@ -5886,6 +12189,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,contact,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,contact,employee,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,contact,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersContactPaymentTerm, + [EnumMember(Value = "payments,applied_payments,tracking_categories,purchase_orders,employee")] PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersEmployee, @@ -5894,36 +12212,76 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,employee,accounting_period,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,employee,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersEmployeePaymentTerm, + + [EnumMember( + Value = "payments,applied_payments,tracking_categories,purchase_orders,payment_term" + )] + PaymentsAppliedPaymentsTrackingCategoriesPurchaseOrdersPaymentTerm, + [EnumMember(Value = "payments,applied_vendor_credits")] PaymentsAppliedVendorCredits, [EnumMember(Value = "payments,applied_vendor_credits,accounting_period")] PaymentsAppliedVendorCreditsAccountingPeriod, + [EnumMember(Value = "payments,applied_vendor_credits,accounting_period,payment_term")] + PaymentsAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_vendor_credits,company")] PaymentsAppliedVendorCreditsCompany, [EnumMember(Value = "payments,applied_vendor_credits,company,accounting_period")] PaymentsAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember(Value = "payments,applied_vendor_credits,company,accounting_period,payment_term")] + PaymentsAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_vendor_credits,company,employee")] PaymentsAppliedVendorCreditsCompanyEmployee, [EnumMember(Value = "payments,applied_vendor_credits,company,employee,accounting_period")] PaymentsAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,applied_vendor_credits,company,employee,payment_term")] + PaymentsAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember(Value = "payments,applied_vendor_credits,company,payment_term")] + PaymentsAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember(Value = "payments,applied_vendor_credits,contact")] PaymentsAppliedVendorCreditsContact, [EnumMember(Value = "payments,applied_vendor_credits,contact,accounting_period")] PaymentsAppliedVendorCreditsContactAccountingPeriod, + [EnumMember(Value = "payments,applied_vendor_credits,contact,accounting_period,payment_term")] + PaymentsAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_vendor_credits,contact,company")] PaymentsAppliedVendorCreditsContactCompany, [EnumMember(Value = "payments,applied_vendor_credits,contact,company,accounting_period")] PaymentsAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + PaymentsAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,applied_vendor_credits,contact,company,employee")] PaymentsAppliedVendorCreditsContactCompanyEmployee, @@ -5932,72 +12290,151 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + PaymentsAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,applied_vendor_credits,contact,company,employee,payment_term")] + PaymentsAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "payments,applied_vendor_credits,contact,company,payment_term")] + PaymentsAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember(Value = "payments,applied_vendor_credits,contact,employee")] PaymentsAppliedVendorCreditsContactEmployee, [EnumMember(Value = "payments,applied_vendor_credits,contact,employee,accounting_period")] PaymentsAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + PaymentsAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,applied_vendor_credits,contact,employee,payment_term")] + PaymentsAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember(Value = "payments,applied_vendor_credits,contact,payment_term")] + PaymentsAppliedVendorCreditsContactPaymentTerm, + [EnumMember(Value = "payments,applied_vendor_credits,employee")] PaymentsAppliedVendorCreditsEmployee, [EnumMember(Value = "payments,applied_vendor_credits,employee,accounting_period")] PaymentsAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember(Value = "payments,applied_vendor_credits,employee,accounting_period,payment_term")] + PaymentsAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,applied_vendor_credits,employee,payment_term")] + PaymentsAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember(Value = "payments,applied_vendor_credits,payment_term")] + PaymentsAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "payments,company")] PaymentsCompany, [EnumMember(Value = "payments,company,accounting_period")] PaymentsCompanyAccountingPeriod, + [EnumMember(Value = "payments,company,accounting_period,payment_term")] + PaymentsCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,company,employee")] PaymentsCompanyEmployee, [EnumMember(Value = "payments,company,employee,accounting_period")] PaymentsCompanyEmployeeAccountingPeriod, + [EnumMember(Value = "payments,company,employee,accounting_period,payment_term")] + PaymentsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,company,employee,payment_term")] + PaymentsCompanyEmployeePaymentTerm, + + [EnumMember(Value = "payments,company,payment_term")] + PaymentsCompanyPaymentTerm, + [EnumMember(Value = "payments,contact")] PaymentsContact, [EnumMember(Value = "payments,contact,accounting_period")] PaymentsContactAccountingPeriod, + [EnumMember(Value = "payments,contact,accounting_period,payment_term")] + PaymentsContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,contact,company")] PaymentsContactCompany, [EnumMember(Value = "payments,contact,company,accounting_period")] PaymentsContactCompanyAccountingPeriod, + [EnumMember(Value = "payments,contact,company,accounting_period,payment_term")] + PaymentsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,contact,company,employee")] PaymentsContactCompanyEmployee, [EnumMember(Value = "payments,contact,company,employee,accounting_period")] PaymentsContactCompanyEmployeeAccountingPeriod, + [EnumMember(Value = "payments,contact,company,employee,accounting_period,payment_term")] + PaymentsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,contact,company,employee,payment_term")] + PaymentsContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "payments,contact,company,payment_term")] + PaymentsContactCompanyPaymentTerm, + [EnumMember(Value = "payments,contact,employee")] PaymentsContactEmployee, [EnumMember(Value = "payments,contact,employee,accounting_period")] PaymentsContactEmployeeAccountingPeriod, + [EnumMember(Value = "payments,contact,employee,accounting_period,payment_term")] + PaymentsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,contact,employee,payment_term")] + PaymentsContactEmployeePaymentTerm, + + [EnumMember(Value = "payments,contact,payment_term")] + PaymentsContactPaymentTerm, + [EnumMember(Value = "payments,employee")] PaymentsEmployee, [EnumMember(Value = "payments,employee,accounting_period")] PaymentsEmployeeAccountingPeriod, + [EnumMember(Value = "payments,employee,accounting_period,payment_term")] + PaymentsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,employee,payment_term")] + PaymentsEmployeePaymentTerm, + [EnumMember(Value = "payments,line_items")] PaymentsLineItems, [EnumMember(Value = "payments,line_items,accounting_period")] PaymentsLineItemsAccountingPeriod, + [EnumMember(Value = "payments,line_items,accounting_period,payment_term")] + PaymentsLineItemsAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,line_items,applied_credit_notes")] PaymentsLineItemsAppliedCreditNotes, [EnumMember(Value = "payments,line_items,applied_credit_notes,accounting_period")] PaymentsLineItemsAppliedCreditNotesAccountingPeriod, + [EnumMember(Value = "payments,line_items,applied_credit_notes,accounting_period,payment_term")] + PaymentsLineItemsAppliedCreditNotesAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,line_items,applied_credit_notes,applied_vendor_credits")] PaymentsLineItemsAppliedCreditNotesAppliedVendorCredits, @@ -6006,6 +12443,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "payments,line_items,applied_credit_notes,applied_vendor_credits,accounting_period,payment_term" + )] + PaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,line_items,applied_credit_notes,applied_vendor_credits,company")] PaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsCompany, @@ -6014,6 +12456,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "payments,line_items,applied_credit_notes,applied_vendor_credits,company,accounting_period,payment_term" + )] + PaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,line_items,applied_credit_notes,applied_vendor_credits,company,employee" )] @@ -6024,6 +12471,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + PaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,applied_credit_notes,applied_vendor_credits,company,employee,payment_term" + )] + PaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,applied_credit_notes,applied_vendor_credits,company,payment_term" + )] + PaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember(Value = "payments,line_items,applied_credit_notes,applied_vendor_credits,contact")] PaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContact, @@ -6032,6 +12494,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "payments,line_items,applied_credit_notes,applied_vendor_credits,contact,accounting_period,payment_term" + )] + PaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,line_items,applied_credit_notes,applied_vendor_credits,contact,company" )] @@ -6042,6 +12509,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,line_items,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + PaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,line_items,applied_credit_notes,applied_vendor_credits,contact,company,employee" )] @@ -6052,6 +12524,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + PaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,applied_credit_notes,applied_vendor_credits,contact,company,employee,payment_term" + )] + PaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,applied_credit_notes,applied_vendor_credits,contact,company,payment_term" + )] + PaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "payments,line_items,applied_credit_notes,applied_vendor_credits,contact,employee" )] @@ -6062,6 +12549,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + PaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,applied_credit_notes,applied_vendor_credits,contact,employee,payment_term" + )] + PaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,applied_credit_notes,applied_vendor_credits,contact,payment_term" + )] + PaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsContactPaymentTerm, + [EnumMember(Value = "payments,line_items,applied_credit_notes,applied_vendor_credits,employee")] PaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsEmployee, @@ -6070,12 +12572,32 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,applied_credit_notes,applied_vendor_credits,employee,accounting_period,payment_term" + )] + PaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,applied_credit_notes,applied_vendor_credits,employee,payment_term" + )] + PaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,applied_credit_notes,applied_vendor_credits,payment_term" + )] + PaymentsLineItemsAppliedCreditNotesAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "payments,line_items,applied_credit_notes,company")] PaymentsLineItemsAppliedCreditNotesCompany, [EnumMember(Value = "payments,line_items,applied_credit_notes,company,accounting_period")] PaymentsLineItemsAppliedCreditNotesCompanyAccountingPeriod, + [EnumMember( + Value = "payments,line_items,applied_credit_notes,company,accounting_period,payment_term" + )] + PaymentsLineItemsAppliedCreditNotesCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,line_items,applied_credit_notes,company,employee")] PaymentsLineItemsAppliedCreditNotesCompanyEmployee, @@ -6084,12 +12606,28 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsAppliedCreditNotesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,applied_credit_notes,company,employee,accounting_period,payment_term" + )] + PaymentsLineItemsAppliedCreditNotesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,line_items,applied_credit_notes,company,employee,payment_term")] + PaymentsLineItemsAppliedCreditNotesCompanyEmployeePaymentTerm, + + [EnumMember(Value = "payments,line_items,applied_credit_notes,company,payment_term")] + PaymentsLineItemsAppliedCreditNotesCompanyPaymentTerm, + [EnumMember(Value = "payments,line_items,applied_credit_notes,contact")] PaymentsLineItemsAppliedCreditNotesContact, [EnumMember(Value = "payments,line_items,applied_credit_notes,contact,accounting_period")] PaymentsLineItemsAppliedCreditNotesContactAccountingPeriod, + [EnumMember( + Value = "payments,line_items,applied_credit_notes,contact,accounting_period,payment_term" + )] + PaymentsLineItemsAppliedCreditNotesContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,line_items,applied_credit_notes,contact,company")] PaymentsLineItemsAppliedCreditNotesContactCompany, @@ -6098,6 +12636,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsAppliedCreditNotesContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,line_items,applied_credit_notes,contact,company,accounting_period,payment_term" + )] + PaymentsLineItemsAppliedCreditNotesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,line_items,applied_credit_notes,contact,company,employee")] PaymentsLineItemsAppliedCreditNotesContactCompanyEmployee, @@ -6106,6 +12649,19 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsAppliedCreditNotesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,applied_credit_notes,contact,company,employee,accounting_period,payment_term" + )] + PaymentsLineItemsAppliedCreditNotesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,applied_credit_notes,contact,company,employee,payment_term" + )] + PaymentsLineItemsAppliedCreditNotesContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "payments,line_items,applied_credit_notes,contact,company,payment_term")] + PaymentsLineItemsAppliedCreditNotesContactCompanyPaymentTerm, + [EnumMember(Value = "payments,line_items,applied_credit_notes,contact,employee")] PaymentsLineItemsAppliedCreditNotesContactEmployee, @@ -6114,24 +12670,56 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsAppliedCreditNotesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,applied_credit_notes,contact,employee,accounting_period,payment_term" + )] + PaymentsLineItemsAppliedCreditNotesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,line_items,applied_credit_notes,contact,employee,payment_term")] + PaymentsLineItemsAppliedCreditNotesContactEmployeePaymentTerm, + + [EnumMember(Value = "payments,line_items,applied_credit_notes,contact,payment_term")] + PaymentsLineItemsAppliedCreditNotesContactPaymentTerm, + [EnumMember(Value = "payments,line_items,applied_credit_notes,employee")] PaymentsLineItemsAppliedCreditNotesEmployee, [EnumMember(Value = "payments,line_items,applied_credit_notes,employee,accounting_period")] PaymentsLineItemsAppliedCreditNotesEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,applied_credit_notes,employee,accounting_period,payment_term" + )] + PaymentsLineItemsAppliedCreditNotesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,line_items,applied_credit_notes,employee,payment_term")] + PaymentsLineItemsAppliedCreditNotesEmployeePaymentTerm, + + [EnumMember(Value = "payments,line_items,applied_credit_notes,payment_term")] + PaymentsLineItemsAppliedCreditNotesPaymentTerm, + [EnumMember(Value = "payments,line_items,applied_vendor_credits")] PaymentsLineItemsAppliedVendorCredits, [EnumMember(Value = "payments,line_items,applied_vendor_credits,accounting_period")] PaymentsLineItemsAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "payments,line_items,applied_vendor_credits,accounting_period,payment_term" + )] + PaymentsLineItemsAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,line_items,applied_vendor_credits,company")] PaymentsLineItemsAppliedVendorCreditsCompany, [EnumMember(Value = "payments,line_items,applied_vendor_credits,company,accounting_period")] PaymentsLineItemsAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "payments,line_items,applied_vendor_credits,company,accounting_period,payment_term" + )] + PaymentsLineItemsAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,line_items,applied_vendor_credits,company,employee")] PaymentsLineItemsAppliedVendorCreditsCompanyEmployee, @@ -6140,12 +12728,28 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + PaymentsLineItemsAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,line_items,applied_vendor_credits,company,employee,payment_term")] + PaymentsLineItemsAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember(Value = "payments,line_items,applied_vendor_credits,company,payment_term")] + PaymentsLineItemsAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember(Value = "payments,line_items,applied_vendor_credits,contact")] PaymentsLineItemsAppliedVendorCreditsContact, [EnumMember(Value = "payments,line_items,applied_vendor_credits,contact,accounting_period")] PaymentsLineItemsAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "payments,line_items,applied_vendor_credits,contact,accounting_period,payment_term" + )] + PaymentsLineItemsAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,line_items,applied_vendor_credits,contact,company")] PaymentsLineItemsAppliedVendorCreditsContactCompany, @@ -6154,13 +12758,31 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,line_items,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + PaymentsLineItemsAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,line_items,applied_vendor_credits,contact,company,employee")] PaymentsLineItemsAppliedVendorCreditsContactCompanyEmployee, [EnumMember( Value = "payments,line_items,applied_vendor_credits,contact,company,employee,accounting_period" )] - PaymentsLineItemsAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + PaymentsLineItemsAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + + [EnumMember( + Value = "payments,line_items,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + PaymentsLineItemsAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,applied_vendor_credits,contact,company,employee,payment_term" + )] + PaymentsLineItemsAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "payments,line_items,applied_vendor_credits,contact,company,payment_term")] + PaymentsLineItemsAppliedVendorCreditsContactCompanyPaymentTerm, [EnumMember(Value = "payments,line_items,applied_vendor_credits,contact,employee")] PaymentsLineItemsAppliedVendorCreditsContactEmployee, @@ -6170,60 +12792,132 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + PaymentsLineItemsAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,line_items,applied_vendor_credits,contact,employee,payment_term")] + PaymentsLineItemsAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember(Value = "payments,line_items,applied_vendor_credits,contact,payment_term")] + PaymentsLineItemsAppliedVendorCreditsContactPaymentTerm, + [EnumMember(Value = "payments,line_items,applied_vendor_credits,employee")] PaymentsLineItemsAppliedVendorCreditsEmployee, [EnumMember(Value = "payments,line_items,applied_vendor_credits,employee,accounting_period")] PaymentsLineItemsAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,applied_vendor_credits,employee,accounting_period,payment_term" + )] + PaymentsLineItemsAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,line_items,applied_vendor_credits,employee,payment_term")] + PaymentsLineItemsAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember(Value = "payments,line_items,applied_vendor_credits,payment_term")] + PaymentsLineItemsAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "payments,line_items,company")] PaymentsLineItemsCompany, [EnumMember(Value = "payments,line_items,company,accounting_period")] PaymentsLineItemsCompanyAccountingPeriod, + [EnumMember(Value = "payments,line_items,company,accounting_period,payment_term")] + PaymentsLineItemsCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,line_items,company,employee")] PaymentsLineItemsCompanyEmployee, [EnumMember(Value = "payments,line_items,company,employee,accounting_period")] PaymentsLineItemsCompanyEmployeeAccountingPeriod, + [EnumMember(Value = "payments,line_items,company,employee,accounting_period,payment_term")] + PaymentsLineItemsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,line_items,company,employee,payment_term")] + PaymentsLineItemsCompanyEmployeePaymentTerm, + + [EnumMember(Value = "payments,line_items,company,payment_term")] + PaymentsLineItemsCompanyPaymentTerm, + [EnumMember(Value = "payments,line_items,contact")] PaymentsLineItemsContact, [EnumMember(Value = "payments,line_items,contact,accounting_period")] PaymentsLineItemsContactAccountingPeriod, + [EnumMember(Value = "payments,line_items,contact,accounting_period,payment_term")] + PaymentsLineItemsContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,line_items,contact,company")] PaymentsLineItemsContactCompany, [EnumMember(Value = "payments,line_items,contact,company,accounting_period")] PaymentsLineItemsContactCompanyAccountingPeriod, + [EnumMember(Value = "payments,line_items,contact,company,accounting_period,payment_term")] + PaymentsLineItemsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,line_items,contact,company,employee")] PaymentsLineItemsContactCompanyEmployee, [EnumMember(Value = "payments,line_items,contact,company,employee,accounting_period")] PaymentsLineItemsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,contact,company,employee,accounting_period,payment_term" + )] + PaymentsLineItemsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,line_items,contact,company,employee,payment_term")] + PaymentsLineItemsContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "payments,line_items,contact,company,payment_term")] + PaymentsLineItemsContactCompanyPaymentTerm, + [EnumMember(Value = "payments,line_items,contact,employee")] PaymentsLineItemsContactEmployee, [EnumMember(Value = "payments,line_items,contact,employee,accounting_period")] PaymentsLineItemsContactEmployeeAccountingPeriod, + [EnumMember(Value = "payments,line_items,contact,employee,accounting_period,payment_term")] + PaymentsLineItemsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,line_items,contact,employee,payment_term")] + PaymentsLineItemsContactEmployeePaymentTerm, + + [EnumMember(Value = "payments,line_items,contact,payment_term")] + PaymentsLineItemsContactPaymentTerm, + [EnumMember(Value = "payments,line_items,employee")] PaymentsLineItemsEmployee, [EnumMember(Value = "payments,line_items,employee,accounting_period")] PaymentsLineItemsEmployeeAccountingPeriod, + [EnumMember(Value = "payments,line_items,employee,accounting_period,payment_term")] + PaymentsLineItemsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,line_items,employee,payment_term")] + PaymentsLineItemsEmployeePaymentTerm, + + [EnumMember(Value = "payments,line_items,payment_term")] + PaymentsLineItemsPaymentTerm, + [EnumMember(Value = "payments,line_items,purchase_orders")] PaymentsLineItemsPurchaseOrders, [EnumMember(Value = "payments,line_items,purchase_orders,accounting_period")] PaymentsLineItemsPurchaseOrdersAccountingPeriod, + [EnumMember(Value = "payments,line_items,purchase_orders,accounting_period,payment_term")] + PaymentsLineItemsPurchaseOrdersAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,line_items,purchase_orders,applied_credit_notes")] PaymentsLineItemsPurchaseOrdersAppliedCreditNotes, @@ -6232,6 +12926,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsPurchaseOrdersAppliedCreditNotesAccountingPeriod, + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_credit_notes,accounting_period,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedCreditNotesAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits" )] @@ -6242,6 +12941,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,accounting_period,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company" )] @@ -6252,6 +12956,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company,accounting_period,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee" )] @@ -6262,6 +12971,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember( Value = "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact" )] @@ -6272,6 +12996,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,accounting_period,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company" )] @@ -6282,6 +13011,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee" )] @@ -6292,6 +13026,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee" )] @@ -6302,6 +13051,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactPaymentTerm, + [EnumMember( Value = "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,employee" )] @@ -6312,6 +13076,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "payments,line_items,purchase_orders,applied_credit_notes,company")] PaymentsLineItemsPurchaseOrdersAppliedCreditNotesCompany, @@ -6320,6 +13099,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsPurchaseOrdersAppliedCreditNotesCompanyAccountingPeriod, + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_credit_notes,company,accounting_period,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedCreditNotesCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,line_items,purchase_orders,applied_credit_notes,company,employee" )] @@ -6330,6 +13114,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsPurchaseOrdersAppliedCreditNotesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_credit_notes,company,employee,accounting_period,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedCreditNotesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_credit_notes,company,employee,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedCreditNotesCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_credit_notes,company,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedCreditNotesCompanyPaymentTerm, + [EnumMember(Value = "payments,line_items,purchase_orders,applied_credit_notes,contact")] PaymentsLineItemsPurchaseOrdersAppliedCreditNotesContact, @@ -6338,6 +13137,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactAccountingPeriod, + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_credit_notes,contact,accounting_period,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,line_items,purchase_orders,applied_credit_notes,contact,company")] PaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactCompany, @@ -6346,6 +13150,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_credit_notes,contact,company,accounting_period,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,line_items,purchase_orders,applied_credit_notes,contact,company,employee" )] @@ -6356,6 +13165,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_credit_notes,contact,company,employee,accounting_period,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_credit_notes,contact,company,employee,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_credit_notes,contact,company,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactCompanyPaymentTerm, + [EnumMember( Value = "payments,line_items,purchase_orders,applied_credit_notes,contact,employee" )] @@ -6366,6 +13190,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_credit_notes,contact,employee,accounting_period,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_credit_notes,contact,employee,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_credit_notes,contact,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedCreditNotesContactPaymentTerm, + [EnumMember(Value = "payments,line_items,purchase_orders,applied_credit_notes,employee")] PaymentsLineItemsPurchaseOrdersAppliedCreditNotesEmployee, @@ -6374,6 +13213,19 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsPurchaseOrdersAppliedCreditNotesEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_credit_notes,employee,accounting_period,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedCreditNotesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_credit_notes,employee,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedCreditNotesEmployeePaymentTerm, + + [EnumMember(Value = "payments,line_items,purchase_orders,applied_credit_notes,payment_term")] + PaymentsLineItemsPurchaseOrdersAppliedCreditNotesPaymentTerm, + [EnumMember(Value = "payments,line_items,purchase_orders,applied_vendor_credits")] PaymentsLineItemsPurchaseOrdersAppliedVendorCredits, @@ -6382,6 +13234,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsPurchaseOrdersAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_vendor_credits,accounting_period,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,line_items,purchase_orders,applied_vendor_credits,company")] PaymentsLineItemsPurchaseOrdersAppliedVendorCreditsCompany, @@ -6390,6 +13247,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsPurchaseOrdersAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_vendor_credits,company,accounting_period,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,line_items,purchase_orders,applied_vendor_credits,company,employee" )] @@ -6400,6 +13262,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsPurchaseOrdersAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_vendor_credits,company,employee,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_vendor_credits,company,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember(Value = "payments,line_items,purchase_orders,applied_vendor_credits,contact")] PaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContact, @@ -6408,6 +13285,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_vendor_credits,contact,accounting_period,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,line_items,purchase_orders,applied_vendor_credits,contact,company" )] @@ -6418,6 +13300,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,line_items,purchase_orders,applied_vendor_credits,contact,company,employee" )] @@ -6428,6 +13315,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_vendor_credits,contact,company,employee,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_vendor_credits,contact,company,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "payments,line_items,purchase_orders,applied_vendor_credits,contact,employee" )] @@ -6438,6 +13340,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_vendor_credits,contact,employee,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_vendor_credits,contact,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedVendorCreditsContactPaymentTerm, + [EnumMember(Value = "payments,line_items,purchase_orders,applied_vendor_credits,employee")] PaymentsLineItemsPurchaseOrdersAppliedVendorCreditsEmployee, @@ -6446,30 +13363,69 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsPurchaseOrdersAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_vendor_credits,employee,accounting_period,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,purchase_orders,applied_vendor_credits,employee,payment_term" + )] + PaymentsLineItemsPurchaseOrdersAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember(Value = "payments,line_items,purchase_orders,applied_vendor_credits,payment_term")] + PaymentsLineItemsPurchaseOrdersAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "payments,line_items,purchase_orders,company")] PaymentsLineItemsPurchaseOrdersCompany, [EnumMember(Value = "payments,line_items,purchase_orders,company,accounting_period")] PaymentsLineItemsPurchaseOrdersCompanyAccountingPeriod, + [EnumMember( + Value = "payments,line_items,purchase_orders,company,accounting_period,payment_term" + )] + PaymentsLineItemsPurchaseOrdersCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,line_items,purchase_orders,company,employee")] PaymentsLineItemsPurchaseOrdersCompanyEmployee, [EnumMember(Value = "payments,line_items,purchase_orders,company,employee,accounting_period")] PaymentsLineItemsPurchaseOrdersCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,purchase_orders,company,employee,accounting_period,payment_term" + )] + PaymentsLineItemsPurchaseOrdersCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,line_items,purchase_orders,company,employee,payment_term")] + PaymentsLineItemsPurchaseOrdersCompanyEmployeePaymentTerm, + + [EnumMember(Value = "payments,line_items,purchase_orders,company,payment_term")] + PaymentsLineItemsPurchaseOrdersCompanyPaymentTerm, + [EnumMember(Value = "payments,line_items,purchase_orders,contact")] PaymentsLineItemsPurchaseOrdersContact, [EnumMember(Value = "payments,line_items,purchase_orders,contact,accounting_period")] PaymentsLineItemsPurchaseOrdersContactAccountingPeriod, + [EnumMember( + Value = "payments,line_items,purchase_orders,contact,accounting_period,payment_term" + )] + PaymentsLineItemsPurchaseOrdersContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,line_items,purchase_orders,contact,company")] PaymentsLineItemsPurchaseOrdersContactCompany, [EnumMember(Value = "payments,line_items,purchase_orders,contact,company,accounting_period")] PaymentsLineItemsPurchaseOrdersContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,line_items,purchase_orders,contact,company,accounting_period,payment_term" + )] + PaymentsLineItemsPurchaseOrdersContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,line_items,purchase_orders,contact,company,employee")] PaymentsLineItemsPurchaseOrdersContactCompanyEmployee, @@ -6478,24 +13434,62 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsPurchaseOrdersContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,purchase_orders,contact,company,employee,accounting_period,payment_term" + )] + PaymentsLineItemsPurchaseOrdersContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,purchase_orders,contact,company,employee,payment_term" + )] + PaymentsLineItemsPurchaseOrdersContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "payments,line_items,purchase_orders,contact,company,payment_term")] + PaymentsLineItemsPurchaseOrdersContactCompanyPaymentTerm, + [EnumMember(Value = "payments,line_items,purchase_orders,contact,employee")] PaymentsLineItemsPurchaseOrdersContactEmployee, [EnumMember(Value = "payments,line_items,purchase_orders,contact,employee,accounting_period")] PaymentsLineItemsPurchaseOrdersContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,purchase_orders,contact,employee,accounting_period,payment_term" + )] + PaymentsLineItemsPurchaseOrdersContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,line_items,purchase_orders,contact,employee,payment_term")] + PaymentsLineItemsPurchaseOrdersContactEmployeePaymentTerm, + + [EnumMember(Value = "payments,line_items,purchase_orders,contact,payment_term")] + PaymentsLineItemsPurchaseOrdersContactPaymentTerm, + [EnumMember(Value = "payments,line_items,purchase_orders,employee")] PaymentsLineItemsPurchaseOrdersEmployee, [EnumMember(Value = "payments,line_items,purchase_orders,employee,accounting_period")] PaymentsLineItemsPurchaseOrdersEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,purchase_orders,employee,accounting_period,payment_term" + )] + PaymentsLineItemsPurchaseOrdersEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,line_items,purchase_orders,employee,payment_term")] + PaymentsLineItemsPurchaseOrdersEmployeePaymentTerm, + + [EnumMember(Value = "payments,line_items,purchase_orders,payment_term")] + PaymentsLineItemsPurchaseOrdersPaymentTerm, + [EnumMember(Value = "payments,line_items,tracking_categories")] PaymentsLineItemsTrackingCategories, [EnumMember(Value = "payments,line_items,tracking_categories,accounting_period")] PaymentsLineItemsTrackingCategoriesAccountingPeriod, + [EnumMember(Value = "payments,line_items,tracking_categories,accounting_period,payment_term")] + PaymentsLineItemsTrackingCategoriesAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,line_items,tracking_categories,applied_credit_notes")] PaymentsLineItemsTrackingCategoriesAppliedCreditNotes, @@ -6504,6 +13498,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_credit_notes,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits" )] @@ -6514,6 +13513,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company" )] @@ -6524,6 +13528,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee" )] @@ -6535,44 +13544,99 @@ public enum InvoicesRetrieveRequestExpand PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, [EnumMember( - Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact" + Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyPaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact" + )] + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContact, + + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,accounting_period" + )] + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriod, + + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company" + )] + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompany, + + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period" + )] + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriod, + + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee" + )] + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployee, + + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period" + )] + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" )] - PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContact, + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, [EnumMember( - Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,accounting_period" + Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee,payment_term" )] - PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriod, + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, [EnumMember( - Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company" + Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,payment_term" )] - PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompany, + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyPaymentTerm, [EnumMember( - Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period" + Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee" )] - PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriod, + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactEmployee, [EnumMember( - Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee" + Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period" )] - PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployee, + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, [EnumMember( - Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period" + Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period,payment_term" )] - PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, [EnumMember( - Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee" + Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee,payment_term" )] - PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactEmployee, + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactEmployeePaymentTerm, [EnumMember( - Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period" + Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,payment_term" )] - PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactPaymentTerm, [EnumMember( Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,employee" @@ -6584,6 +13648,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,employee,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,employee,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "payments,line_items,tracking_categories,applied_credit_notes,company")] PaymentsLineItemsTrackingCategoriesAppliedCreditNotesCompany, @@ -6592,6 +13671,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsTrackingCategoriesAppliedCreditNotesCompanyAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_credit_notes,company,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,line_items,tracking_categories,applied_credit_notes,company,employee" )] @@ -6602,6 +13686,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsTrackingCategoriesAppliedCreditNotesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_credit_notes,company,employee,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_credit_notes,company,employee,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_credit_notes,company,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesCompanyPaymentTerm, + [EnumMember(Value = "payments,line_items,tracking_categories,applied_credit_notes,contact")] PaymentsLineItemsTrackingCategoriesAppliedCreditNotesContact, @@ -6610,6 +13709,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_credit_notes,contact,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,line_items,tracking_categories,applied_credit_notes,contact,company" )] @@ -6620,6 +13724,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_credit_notes,contact,company,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,line_items,tracking_categories,applied_credit_notes,contact,company,employee" )] @@ -6630,6 +13739,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_credit_notes,contact,company,employee,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_credit_notes,contact,company,employee,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_credit_notes,contact,company,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactCompanyPaymentTerm, + [EnumMember( Value = "payments,line_items,tracking_categories,applied_credit_notes,contact,employee" )] @@ -6640,6 +13764,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_credit_notes,contact,employee,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_credit_notes,contact,employee,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_credit_notes,contact,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesContactPaymentTerm, + [EnumMember(Value = "payments,line_items,tracking_categories,applied_credit_notes,employee")] PaymentsLineItemsTrackingCategoriesAppliedCreditNotesEmployee, @@ -6648,6 +13787,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsTrackingCategoriesAppliedCreditNotesEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_credit_notes,employee,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_credit_notes,employee,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_credit_notes,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedCreditNotesPaymentTerm, + [EnumMember(Value = "payments,line_items,tracking_categories,applied_vendor_credits")] PaymentsLineItemsTrackingCategoriesAppliedVendorCredits, @@ -6656,6 +13810,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsTrackingCategoriesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_vendor_credits,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,line_items,tracking_categories,applied_vendor_credits,company")] PaymentsLineItemsTrackingCategoriesAppliedVendorCreditsCompany, @@ -6664,6 +13823,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsTrackingCategoriesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_vendor_credits,company,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,line_items,tracking_categories,applied_vendor_credits,company,employee" )] @@ -6674,6 +13838,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsTrackingCategoriesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_vendor_credits,company,employee,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_vendor_credits,company,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember(Value = "payments,line_items,tracking_categories,applied_vendor_credits,contact")] PaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContact, @@ -6682,6 +13861,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_vendor_credits,contact,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,line_items,tracking_categories,applied_vendor_credits,contact,company" )] @@ -6692,6 +13876,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,line_items,tracking_categories,applied_vendor_credits,contact,company,employee" )] @@ -6702,6 +13891,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_vendor_credits,contact,company,employee,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_vendor_credits,contact,company,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "payments,line_items,tracking_categories,applied_vendor_credits,contact,employee" )] @@ -6712,6 +13916,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_vendor_credits,contact,employee,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_vendor_credits,contact,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedVendorCreditsContactPaymentTerm, + [EnumMember(Value = "payments,line_items,tracking_categories,applied_vendor_credits,employee")] PaymentsLineItemsTrackingCategoriesAppliedVendorCreditsEmployee, @@ -6720,12 +13939,32 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsTrackingCategoriesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_vendor_credits,employee,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_vendor_credits,employee,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,applied_vendor_credits,payment_term" + )] + PaymentsLineItemsTrackingCategoriesAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "payments,line_items,tracking_categories,company")] PaymentsLineItemsTrackingCategoriesCompany, [EnumMember(Value = "payments,line_items,tracking_categories,company,accounting_period")] PaymentsLineItemsTrackingCategoriesCompanyAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,company,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,line_items,tracking_categories,company,employee")] PaymentsLineItemsTrackingCategoriesCompanyEmployee, @@ -6734,12 +13973,28 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsTrackingCategoriesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,company,employee,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,line_items,tracking_categories,company,employee,payment_term")] + PaymentsLineItemsTrackingCategoriesCompanyEmployeePaymentTerm, + + [EnumMember(Value = "payments,line_items,tracking_categories,company,payment_term")] + PaymentsLineItemsTrackingCategoriesCompanyPaymentTerm, + [EnumMember(Value = "payments,line_items,tracking_categories,contact")] PaymentsLineItemsTrackingCategoriesContact, [EnumMember(Value = "payments,line_items,tracking_categories,contact,accounting_period")] PaymentsLineItemsTrackingCategoriesContactAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,contact,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,line_items,tracking_categories,contact,company")] PaymentsLineItemsTrackingCategoriesContactCompany, @@ -6748,6 +14003,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsTrackingCategoriesContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,contact,company,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,line_items,tracking_categories,contact,company,employee")] PaymentsLineItemsTrackingCategoriesContactCompanyEmployee, @@ -6756,6 +14016,19 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsTrackingCategoriesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,contact,company,employee,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,contact,company,employee,payment_term" + )] + PaymentsLineItemsTrackingCategoriesContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "payments,line_items,tracking_categories,contact,company,payment_term")] + PaymentsLineItemsTrackingCategoriesContactCompanyPaymentTerm, + [EnumMember(Value = "payments,line_items,tracking_categories,contact,employee")] PaymentsLineItemsTrackingCategoriesContactEmployee, @@ -6764,12 +14037,34 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsTrackingCategoriesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,contact,employee,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,line_items,tracking_categories,contact,employee,payment_term")] + PaymentsLineItemsTrackingCategoriesContactEmployeePaymentTerm, + + [EnumMember(Value = "payments,line_items,tracking_categories,contact,payment_term")] + PaymentsLineItemsTrackingCategoriesContactPaymentTerm, + [EnumMember(Value = "payments,line_items,tracking_categories,employee")] PaymentsLineItemsTrackingCategoriesEmployee, [EnumMember(Value = "payments,line_items,tracking_categories,employee,accounting_period")] PaymentsLineItemsTrackingCategoriesEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,employee,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,line_items,tracking_categories,employee,payment_term")] + PaymentsLineItemsTrackingCategoriesEmployeePaymentTerm, + + [EnumMember(Value = "payments,line_items,tracking_categories,payment_term")] + PaymentsLineItemsTrackingCategoriesPaymentTerm, + [EnumMember(Value = "payments,line_items,tracking_categories,purchase_orders")] PaymentsLineItemsTrackingCategoriesPurchaseOrders, @@ -6778,6 +14073,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsTrackingCategoriesPurchaseOrdersAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes" )] @@ -6788,6 +14088,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits" )] @@ -6798,6 +14103,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company" )] @@ -6808,6 +14118,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee" )] @@ -6818,6 +14133,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember( Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact" )] @@ -6828,6 +14158,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company" )] @@ -6838,6 +14173,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee" )] @@ -6848,6 +14188,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee" )] @@ -6858,6 +14213,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactPaymentTerm, + [EnumMember( Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee" )] @@ -6868,6 +14238,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsPaymentTerm, + [EnumMember( Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company" )] @@ -6878,6 +14263,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company,employee" )] @@ -6888,6 +14278,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company,employee,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company,employee,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyPaymentTerm, + [EnumMember( Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact" )] @@ -6898,6 +14303,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company" )] @@ -6908,6 +14318,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee" )] @@ -6918,6 +14333,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyPaymentTerm, + [EnumMember( Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,employee" )] @@ -6928,6 +14358,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,employee,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,employee,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactPaymentTerm, + [EnumMember( Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,employee" )] @@ -6938,6 +14383,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,employee,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,employee,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedCreditNotesPaymentTerm, + [EnumMember( Value = "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits" )] @@ -6946,7 +14406,12 @@ public enum InvoicesRetrieveRequestExpand [EnumMember( Value = "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,accounting_period" )] - PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsAccountingPeriod, + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsAccountingPeriod, + + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsAccountingPeriodPaymentTerm, [EnumMember( Value = "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,company" @@ -6958,6 +14423,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,company,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,company,employee" )] @@ -6968,6 +14438,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,company,employee,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,company,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember( Value = "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact" )] @@ -6978,6 +14463,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company" )] @@ -6988,6 +14478,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee" )] @@ -6998,6 +14493,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee" )] @@ -7008,6 +14518,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactPaymentTerm, + [EnumMember( Value = "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,employee" )] @@ -7018,6 +14543,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,employee,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,employee,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "payments,line_items,tracking_categories,purchase_orders,company")] PaymentsLineItemsTrackingCategoriesPurchaseOrdersCompany, @@ -7026,6 +14566,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsTrackingCategoriesPurchaseOrdersCompanyAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,company,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,line_items,tracking_categories,purchase_orders,company,employee")] PaymentsLineItemsTrackingCategoriesPurchaseOrdersCompanyEmployee, @@ -7034,6 +14579,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsTrackingCategoriesPurchaseOrdersCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,company,employee,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,company,employee,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,company,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersCompanyPaymentTerm, + [EnumMember(Value = "payments,line_items,tracking_categories,purchase_orders,contact")] PaymentsLineItemsTrackingCategoriesPurchaseOrdersContact, @@ -7042,6 +14602,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsTrackingCategoriesPurchaseOrdersContactAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,contact,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,line_items,tracking_categories,purchase_orders,contact,company")] PaymentsLineItemsTrackingCategoriesPurchaseOrdersContactCompany, @@ -7050,6 +14615,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsTrackingCategoriesPurchaseOrdersContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,contact,company,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,line_items,tracking_categories,purchase_orders,contact,company,employee" )] @@ -7060,6 +14630,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsTrackingCategoriesPurchaseOrdersContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,contact,company,employee,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,contact,company,employee,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,contact,company,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersContactCompanyPaymentTerm, + [EnumMember(Value = "payments,line_items,tracking_categories,purchase_orders,contact,employee")] PaymentsLineItemsTrackingCategoriesPurchaseOrdersContactEmployee, @@ -7068,6 +14653,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsTrackingCategoriesPurchaseOrdersContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,contact,employee,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,contact,employee,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,contact,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersContactPaymentTerm, + [EnumMember(Value = "payments,line_items,tracking_categories,purchase_orders,employee")] PaymentsLineItemsTrackingCategoriesPurchaseOrdersEmployee, @@ -7076,18 +14676,42 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsLineItemsTrackingCategoriesPurchaseOrdersEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,employee,accounting_period,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,line_items,tracking_categories,purchase_orders,employee,payment_term" + )] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersEmployeePaymentTerm, + + [EnumMember(Value = "payments,line_items,tracking_categories,purchase_orders,payment_term")] + PaymentsLineItemsTrackingCategoriesPurchaseOrdersPaymentTerm, + + [EnumMember(Value = "payments,payment_term")] + PaymentsPaymentTerm, + [EnumMember(Value = "payments,purchase_orders")] PaymentsPurchaseOrders, [EnumMember(Value = "payments,purchase_orders,accounting_period")] PaymentsPurchaseOrdersAccountingPeriod, + [EnumMember(Value = "payments,purchase_orders,accounting_period,payment_term")] + PaymentsPurchaseOrdersAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,purchase_orders,applied_credit_notes")] PaymentsPurchaseOrdersAppliedCreditNotes, [EnumMember(Value = "payments,purchase_orders,applied_credit_notes,accounting_period")] PaymentsPurchaseOrdersAppliedCreditNotesAccountingPeriod, + [EnumMember( + Value = "payments,purchase_orders,applied_credit_notes,accounting_period,payment_term" + )] + PaymentsPurchaseOrdersAppliedCreditNotesAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,purchase_orders,applied_credit_notes,applied_vendor_credits")] PaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCredits, @@ -7096,6 +14720,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,accounting_period,payment_term" + )] + PaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,company" )] @@ -7106,6 +14735,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,company,accounting_period,payment_term" + )] + PaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee" )] @@ -7116,6 +14750,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + PaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,payment_term" + )] + PaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,company,payment_term" + )] + PaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember( Value = "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact" )] @@ -7126,6 +14775,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,accounting_period,payment_term" + )] + PaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company" )] @@ -7136,6 +14790,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + PaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee" )] @@ -7146,6 +14805,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + PaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,payment_term" + )] + PaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,payment_term" + )] + PaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee" )] @@ -7156,6 +14830,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + PaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,payment_term" + )] + PaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,payment_term" + )] + PaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactPaymentTerm, + [EnumMember( Value = "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,employee" )] @@ -7166,12 +14855,32 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period,payment_term" + )] + PaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,payment_term" + )] + PaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,payment_term" + )] + PaymentsPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "payments,purchase_orders,applied_credit_notes,company")] PaymentsPurchaseOrdersAppliedCreditNotesCompany, [EnumMember(Value = "payments,purchase_orders,applied_credit_notes,company,accounting_period")] PaymentsPurchaseOrdersAppliedCreditNotesCompanyAccountingPeriod, + [EnumMember( + Value = "payments,purchase_orders,applied_credit_notes,company,accounting_period,payment_term" + )] + PaymentsPurchaseOrdersAppliedCreditNotesCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,purchase_orders,applied_credit_notes,company,employee")] PaymentsPurchaseOrdersAppliedCreditNotesCompanyEmployee, @@ -7180,12 +14889,30 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsPurchaseOrdersAppliedCreditNotesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,purchase_orders,applied_credit_notes,company,employee,accounting_period,payment_term" + )] + PaymentsPurchaseOrdersAppliedCreditNotesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,purchase_orders,applied_credit_notes,company,employee,payment_term" + )] + PaymentsPurchaseOrdersAppliedCreditNotesCompanyEmployeePaymentTerm, + + [EnumMember(Value = "payments,purchase_orders,applied_credit_notes,company,payment_term")] + PaymentsPurchaseOrdersAppliedCreditNotesCompanyPaymentTerm, + [EnumMember(Value = "payments,purchase_orders,applied_credit_notes,contact")] PaymentsPurchaseOrdersAppliedCreditNotesContact, [EnumMember(Value = "payments,purchase_orders,applied_credit_notes,contact,accounting_period")] PaymentsPurchaseOrdersAppliedCreditNotesContactAccountingPeriod, + [EnumMember( + Value = "payments,purchase_orders,applied_credit_notes,contact,accounting_period,payment_term" + )] + PaymentsPurchaseOrdersAppliedCreditNotesContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,purchase_orders,applied_credit_notes,contact,company")] PaymentsPurchaseOrdersAppliedCreditNotesContactCompany, @@ -7194,6 +14921,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsPurchaseOrdersAppliedCreditNotesContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,purchase_orders,applied_credit_notes,contact,company,accounting_period,payment_term" + )] + PaymentsPurchaseOrdersAppliedCreditNotesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,purchase_orders,applied_credit_notes,contact,company,employee")] PaymentsPurchaseOrdersAppliedCreditNotesContactCompanyEmployee, @@ -7202,6 +14934,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsPurchaseOrdersAppliedCreditNotesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,purchase_orders,applied_credit_notes,contact,company,employee,accounting_period,payment_term" + )] + PaymentsPurchaseOrdersAppliedCreditNotesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,purchase_orders,applied_credit_notes,contact,company,employee,payment_term" + )] + PaymentsPurchaseOrdersAppliedCreditNotesContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,purchase_orders,applied_credit_notes,contact,company,payment_term" + )] + PaymentsPurchaseOrdersAppliedCreditNotesContactCompanyPaymentTerm, + [EnumMember(Value = "payments,purchase_orders,applied_credit_notes,contact,employee")] PaymentsPurchaseOrdersAppliedCreditNotesContactEmployee, @@ -7210,18 +14957,47 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsPurchaseOrdersAppliedCreditNotesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,purchase_orders,applied_credit_notes,contact,employee,accounting_period,payment_term" + )] + PaymentsPurchaseOrdersAppliedCreditNotesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,purchase_orders,applied_credit_notes,contact,employee,payment_term" + )] + PaymentsPurchaseOrdersAppliedCreditNotesContactEmployeePaymentTerm, + + [EnumMember(Value = "payments,purchase_orders,applied_credit_notes,contact,payment_term")] + PaymentsPurchaseOrdersAppliedCreditNotesContactPaymentTerm, + [EnumMember(Value = "payments,purchase_orders,applied_credit_notes,employee")] PaymentsPurchaseOrdersAppliedCreditNotesEmployee, [EnumMember(Value = "payments,purchase_orders,applied_credit_notes,employee,accounting_period")] PaymentsPurchaseOrdersAppliedCreditNotesEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,purchase_orders,applied_credit_notes,employee,accounting_period,payment_term" + )] + PaymentsPurchaseOrdersAppliedCreditNotesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,purchase_orders,applied_credit_notes,employee,payment_term")] + PaymentsPurchaseOrdersAppliedCreditNotesEmployeePaymentTerm, + + [EnumMember(Value = "payments,purchase_orders,applied_credit_notes,payment_term")] + PaymentsPurchaseOrdersAppliedCreditNotesPaymentTerm, + [EnumMember(Value = "payments,purchase_orders,applied_vendor_credits")] PaymentsPurchaseOrdersAppliedVendorCredits, [EnumMember(Value = "payments,purchase_orders,applied_vendor_credits,accounting_period")] PaymentsPurchaseOrdersAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "payments,purchase_orders,applied_vendor_credits,accounting_period,payment_term" + )] + PaymentsPurchaseOrdersAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,purchase_orders,applied_vendor_credits,company")] PaymentsPurchaseOrdersAppliedVendorCreditsCompany, @@ -7230,6 +15006,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsPurchaseOrdersAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "payments,purchase_orders,applied_vendor_credits,company,accounting_period,payment_term" + )] + PaymentsPurchaseOrdersAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,purchase_orders,applied_vendor_credits,company,employee")] PaymentsPurchaseOrdersAppliedVendorCreditsCompanyEmployee, @@ -7238,6 +15019,19 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsPurchaseOrdersAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,purchase_orders,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + PaymentsPurchaseOrdersAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,purchase_orders,applied_vendor_credits,company,employee,payment_term" + )] + PaymentsPurchaseOrdersAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember(Value = "payments,purchase_orders,applied_vendor_credits,company,payment_term")] + PaymentsPurchaseOrdersAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember(Value = "payments,purchase_orders,applied_vendor_credits,contact")] PaymentsPurchaseOrdersAppliedVendorCreditsContact, @@ -7246,6 +15040,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsPurchaseOrdersAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "payments,purchase_orders,applied_vendor_credits,contact,accounting_period,payment_term" + )] + PaymentsPurchaseOrdersAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,purchase_orders,applied_vendor_credits,contact,company")] PaymentsPurchaseOrdersAppliedVendorCreditsContactCompany, @@ -7254,6 +15053,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsPurchaseOrdersAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,purchase_orders,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + PaymentsPurchaseOrdersAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,purchase_orders,applied_vendor_credits,contact,company,employee")] PaymentsPurchaseOrdersAppliedVendorCreditsContactCompanyEmployee, @@ -7262,6 +15066,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,purchase_orders,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + PaymentsPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,purchase_orders,applied_vendor_credits,contact,company,employee,payment_term" + )] + PaymentsPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,purchase_orders,applied_vendor_credits,contact,company,payment_term" + )] + PaymentsPurchaseOrdersAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember(Value = "payments,purchase_orders,applied_vendor_credits,contact,employee")] PaymentsPurchaseOrdersAppliedVendorCreditsContactEmployee, @@ -7270,6 +15089,19 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsPurchaseOrdersAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,purchase_orders,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + PaymentsPurchaseOrdersAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,purchase_orders,applied_vendor_credits,contact,employee,payment_term" + )] + PaymentsPurchaseOrdersAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember(Value = "payments,purchase_orders,applied_vendor_credits,contact,payment_term")] + PaymentsPurchaseOrdersAppliedVendorCreditsContactPaymentTerm, + [EnumMember(Value = "payments,purchase_orders,applied_vendor_credits,employee")] PaymentsPurchaseOrdersAppliedVendorCreditsEmployee, @@ -7278,60 +15110,126 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsPurchaseOrdersAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,purchase_orders,applied_vendor_credits,employee,accounting_period,payment_term" + )] + PaymentsPurchaseOrdersAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,purchase_orders,applied_vendor_credits,employee,payment_term")] + PaymentsPurchaseOrdersAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember(Value = "payments,purchase_orders,applied_vendor_credits,payment_term")] + PaymentsPurchaseOrdersAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "payments,purchase_orders,company")] PaymentsPurchaseOrdersCompany, [EnumMember(Value = "payments,purchase_orders,company,accounting_period")] PaymentsPurchaseOrdersCompanyAccountingPeriod, + [EnumMember(Value = "payments,purchase_orders,company,accounting_period,payment_term")] + PaymentsPurchaseOrdersCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,purchase_orders,company,employee")] PaymentsPurchaseOrdersCompanyEmployee, [EnumMember(Value = "payments,purchase_orders,company,employee,accounting_period")] PaymentsPurchaseOrdersCompanyEmployeeAccountingPeriod, + [EnumMember(Value = "payments,purchase_orders,company,employee,accounting_period,payment_term")] + PaymentsPurchaseOrdersCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,purchase_orders,company,employee,payment_term")] + PaymentsPurchaseOrdersCompanyEmployeePaymentTerm, + + [EnumMember(Value = "payments,purchase_orders,company,payment_term")] + PaymentsPurchaseOrdersCompanyPaymentTerm, + [EnumMember(Value = "payments,purchase_orders,contact")] PaymentsPurchaseOrdersContact, [EnumMember(Value = "payments,purchase_orders,contact,accounting_period")] PaymentsPurchaseOrdersContactAccountingPeriod, + [EnumMember(Value = "payments,purchase_orders,contact,accounting_period,payment_term")] + PaymentsPurchaseOrdersContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,purchase_orders,contact,company")] PaymentsPurchaseOrdersContactCompany, [EnumMember(Value = "payments,purchase_orders,contact,company,accounting_period")] PaymentsPurchaseOrdersContactCompanyAccountingPeriod, + [EnumMember(Value = "payments,purchase_orders,contact,company,accounting_period,payment_term")] + PaymentsPurchaseOrdersContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,purchase_orders,contact,company,employee")] PaymentsPurchaseOrdersContactCompanyEmployee, [EnumMember(Value = "payments,purchase_orders,contact,company,employee,accounting_period")] PaymentsPurchaseOrdersContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,purchase_orders,contact,company,employee,accounting_period,payment_term" + )] + PaymentsPurchaseOrdersContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,purchase_orders,contact,company,employee,payment_term")] + PaymentsPurchaseOrdersContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "payments,purchase_orders,contact,company,payment_term")] + PaymentsPurchaseOrdersContactCompanyPaymentTerm, + [EnumMember(Value = "payments,purchase_orders,contact,employee")] PaymentsPurchaseOrdersContactEmployee, [EnumMember(Value = "payments,purchase_orders,contact,employee,accounting_period")] PaymentsPurchaseOrdersContactEmployeeAccountingPeriod, + [EnumMember(Value = "payments,purchase_orders,contact,employee,accounting_period,payment_term")] + PaymentsPurchaseOrdersContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,purchase_orders,contact,employee,payment_term")] + PaymentsPurchaseOrdersContactEmployeePaymentTerm, + + [EnumMember(Value = "payments,purchase_orders,contact,payment_term")] + PaymentsPurchaseOrdersContactPaymentTerm, + [EnumMember(Value = "payments,purchase_orders,employee")] PaymentsPurchaseOrdersEmployee, [EnumMember(Value = "payments,purchase_orders,employee,accounting_period")] PaymentsPurchaseOrdersEmployeeAccountingPeriod, + [EnumMember(Value = "payments,purchase_orders,employee,accounting_period,payment_term")] + PaymentsPurchaseOrdersEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,purchase_orders,employee,payment_term")] + PaymentsPurchaseOrdersEmployeePaymentTerm, + + [EnumMember(Value = "payments,purchase_orders,payment_term")] + PaymentsPurchaseOrdersPaymentTerm, + [EnumMember(Value = "payments,tracking_categories")] PaymentsTrackingCategories, [EnumMember(Value = "payments,tracking_categories,accounting_period")] PaymentsTrackingCategoriesAccountingPeriod, + [EnumMember(Value = "payments,tracking_categories,accounting_period,payment_term")] + PaymentsTrackingCategoriesAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,tracking_categories,applied_credit_notes")] PaymentsTrackingCategoriesAppliedCreditNotes, [EnumMember(Value = "payments,tracking_categories,applied_credit_notes,accounting_period")] PaymentsTrackingCategoriesAppliedCreditNotesAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,applied_credit_notes,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesAppliedCreditNotesAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,tracking_categories,applied_credit_notes,applied_vendor_credits")] PaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCredits, @@ -7340,6 +15238,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,company" )] @@ -7350,6 +15253,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,company,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee" )] @@ -7358,7 +15266,22 @@ public enum InvoicesRetrieveRequestExpand [EnumMember( Value = "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period" )] - PaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + PaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + + [EnumMember( + Value = "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee,payment_term" + )] + PaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,company,payment_term" + )] + PaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyPaymentTerm, [EnumMember( Value = "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact" @@ -7370,6 +15293,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company" )] @@ -7380,6 +15308,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee" )] @@ -7390,6 +15323,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee,payment_term" + )] + PaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,payment_term" + )] + PaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee" )] @@ -7400,6 +15348,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee,payment_term" + )] + PaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,payment_term" + )] + PaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactPaymentTerm, + [EnumMember( Value = "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,employee" )] @@ -7410,6 +15373,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,employee,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,employee,payment_term" + )] + PaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,payment_term" + )] + PaymentsTrackingCategoriesAppliedCreditNotesAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "payments,tracking_categories,applied_credit_notes,company")] PaymentsTrackingCategoriesAppliedCreditNotesCompany, @@ -7418,6 +15396,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsTrackingCategoriesAppliedCreditNotesCompanyAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,applied_credit_notes,company,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesAppliedCreditNotesCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,tracking_categories,applied_credit_notes,company,employee")] PaymentsTrackingCategoriesAppliedCreditNotesCompanyEmployee, @@ -7426,6 +15409,19 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsTrackingCategoriesAppliedCreditNotesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,applied_credit_notes,company,employee,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesAppliedCreditNotesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,applied_credit_notes,company,employee,payment_term" + )] + PaymentsTrackingCategoriesAppliedCreditNotesCompanyEmployeePaymentTerm, + + [EnumMember(Value = "payments,tracking_categories,applied_credit_notes,company,payment_term")] + PaymentsTrackingCategoriesAppliedCreditNotesCompanyPaymentTerm, + [EnumMember(Value = "payments,tracking_categories,applied_credit_notes,contact")] PaymentsTrackingCategoriesAppliedCreditNotesContact, @@ -7434,6 +15430,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsTrackingCategoriesAppliedCreditNotesContactAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,applied_credit_notes,contact,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesAppliedCreditNotesContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,tracking_categories,applied_credit_notes,contact,company")] PaymentsTrackingCategoriesAppliedCreditNotesContactCompany, @@ -7442,6 +15443,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsTrackingCategoriesAppliedCreditNotesContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,applied_credit_notes,contact,company,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesAppliedCreditNotesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,tracking_categories,applied_credit_notes,contact,company,employee" )] @@ -7452,6 +15458,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsTrackingCategoriesAppliedCreditNotesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,applied_credit_notes,contact,company,employee,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesAppliedCreditNotesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,applied_credit_notes,contact,company,employee,payment_term" + )] + PaymentsTrackingCategoriesAppliedCreditNotesContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,applied_credit_notes,contact,company,payment_term" + )] + PaymentsTrackingCategoriesAppliedCreditNotesContactCompanyPaymentTerm, + [EnumMember(Value = "payments,tracking_categories,applied_credit_notes,contact,employee")] PaymentsTrackingCategoriesAppliedCreditNotesContactEmployee, @@ -7460,6 +15481,19 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsTrackingCategoriesAppliedCreditNotesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,applied_credit_notes,contact,employee,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesAppliedCreditNotesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,applied_credit_notes,contact,employee,payment_term" + )] + PaymentsTrackingCategoriesAppliedCreditNotesContactEmployeePaymentTerm, + + [EnumMember(Value = "payments,tracking_categories,applied_credit_notes,contact,payment_term")] + PaymentsTrackingCategoriesAppliedCreditNotesContactPaymentTerm, + [EnumMember(Value = "payments,tracking_categories,applied_credit_notes,employee")] PaymentsTrackingCategoriesAppliedCreditNotesEmployee, @@ -7468,12 +15502,28 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsTrackingCategoriesAppliedCreditNotesEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,applied_credit_notes,employee,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesAppliedCreditNotesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,tracking_categories,applied_credit_notes,employee,payment_term")] + PaymentsTrackingCategoriesAppliedCreditNotesEmployeePaymentTerm, + + [EnumMember(Value = "payments,tracking_categories,applied_credit_notes,payment_term")] + PaymentsTrackingCategoriesAppliedCreditNotesPaymentTerm, + [EnumMember(Value = "payments,tracking_categories,applied_vendor_credits")] PaymentsTrackingCategoriesAppliedVendorCredits, [EnumMember(Value = "payments,tracking_categories,applied_vendor_credits,accounting_period")] PaymentsTrackingCategoriesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,applied_vendor_credits,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,tracking_categories,applied_vendor_credits,company")] PaymentsTrackingCategoriesAppliedVendorCreditsCompany, @@ -7482,6 +15532,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsTrackingCategoriesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,applied_vendor_credits,company,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,tracking_categories,applied_vendor_credits,company,employee")] PaymentsTrackingCategoriesAppliedVendorCreditsCompanyEmployee, @@ -7490,6 +15545,19 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsTrackingCategoriesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,applied_vendor_credits,company,employee,payment_term" + )] + PaymentsTrackingCategoriesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember(Value = "payments,tracking_categories,applied_vendor_credits,company,payment_term")] + PaymentsTrackingCategoriesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember(Value = "payments,tracking_categories,applied_vendor_credits,contact")] PaymentsTrackingCategoriesAppliedVendorCreditsContact, @@ -7498,6 +15566,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsTrackingCategoriesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,applied_vendor_credits,contact,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,tracking_categories,applied_vendor_credits,contact,company")] PaymentsTrackingCategoriesAppliedVendorCreditsContactCompany, @@ -7506,6 +15579,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsTrackingCategoriesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,tracking_categories,applied_vendor_credits,contact,company,employee" )] @@ -7516,6 +15594,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsTrackingCategoriesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,applied_vendor_credits,contact,company,employee,payment_term" + )] + PaymentsTrackingCategoriesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,applied_vendor_credits,contact,company,payment_term" + )] + PaymentsTrackingCategoriesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember(Value = "payments,tracking_categories,applied_vendor_credits,contact,employee")] PaymentsTrackingCategoriesAppliedVendorCreditsContactEmployee, @@ -7524,6 +15617,19 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsTrackingCategoriesAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,applied_vendor_credits,contact,employee,payment_term" + )] + PaymentsTrackingCategoriesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember(Value = "payments,tracking_categories,applied_vendor_credits,contact,payment_term")] + PaymentsTrackingCategoriesAppliedVendorCreditsContactPaymentTerm, + [EnumMember(Value = "payments,tracking_categories,applied_vendor_credits,employee")] PaymentsTrackingCategoriesAppliedVendorCreditsEmployee, @@ -7532,54 +15638,125 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsTrackingCategoriesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,applied_vendor_credits,employee,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,applied_vendor_credits,employee,payment_term" + )] + PaymentsTrackingCategoriesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember(Value = "payments,tracking_categories,applied_vendor_credits,payment_term")] + PaymentsTrackingCategoriesAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "payments,tracking_categories,company")] PaymentsTrackingCategoriesCompany, [EnumMember(Value = "payments,tracking_categories,company,accounting_period")] PaymentsTrackingCategoriesCompanyAccountingPeriod, + [EnumMember(Value = "payments,tracking_categories,company,accounting_period,payment_term")] + PaymentsTrackingCategoriesCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,tracking_categories,company,employee")] PaymentsTrackingCategoriesCompanyEmployee, [EnumMember(Value = "payments,tracking_categories,company,employee,accounting_period")] PaymentsTrackingCategoriesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,company,employee,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,tracking_categories,company,employee,payment_term")] + PaymentsTrackingCategoriesCompanyEmployeePaymentTerm, + + [EnumMember(Value = "payments,tracking_categories,company,payment_term")] + PaymentsTrackingCategoriesCompanyPaymentTerm, + [EnumMember(Value = "payments,tracking_categories,contact")] PaymentsTrackingCategoriesContact, [EnumMember(Value = "payments,tracking_categories,contact,accounting_period")] PaymentsTrackingCategoriesContactAccountingPeriod, + [EnumMember(Value = "payments,tracking_categories,contact,accounting_period,payment_term")] + PaymentsTrackingCategoriesContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,tracking_categories,contact,company")] PaymentsTrackingCategoriesContactCompany, [EnumMember(Value = "payments,tracking_categories,contact,company,accounting_period")] PaymentsTrackingCategoriesContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,contact,company,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,tracking_categories,contact,company,employee")] PaymentsTrackingCategoriesContactCompanyEmployee, [EnumMember(Value = "payments,tracking_categories,contact,company,employee,accounting_period")] PaymentsTrackingCategoriesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,contact,company,employee,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,tracking_categories,contact,company,employee,payment_term")] + PaymentsTrackingCategoriesContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "payments,tracking_categories,contact,company,payment_term")] + PaymentsTrackingCategoriesContactCompanyPaymentTerm, + [EnumMember(Value = "payments,tracking_categories,contact,employee")] PaymentsTrackingCategoriesContactEmployee, [EnumMember(Value = "payments,tracking_categories,contact,employee,accounting_period")] PaymentsTrackingCategoriesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,contact,employee,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,tracking_categories,contact,employee,payment_term")] + PaymentsTrackingCategoriesContactEmployeePaymentTerm, + + [EnumMember(Value = "payments,tracking_categories,contact,payment_term")] + PaymentsTrackingCategoriesContactPaymentTerm, + [EnumMember(Value = "payments,tracking_categories,employee")] PaymentsTrackingCategoriesEmployee, [EnumMember(Value = "payments,tracking_categories,employee,accounting_period")] PaymentsTrackingCategoriesEmployeeAccountingPeriod, + [EnumMember(Value = "payments,tracking_categories,employee,accounting_period,payment_term")] + PaymentsTrackingCategoriesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,tracking_categories,employee,payment_term")] + PaymentsTrackingCategoriesEmployeePaymentTerm, + + [EnumMember(Value = "payments,tracking_categories,payment_term")] + PaymentsTrackingCategoriesPaymentTerm, + [EnumMember(Value = "payments,tracking_categories,purchase_orders")] PaymentsTrackingCategoriesPurchaseOrders, [EnumMember(Value = "payments,tracking_categories,purchase_orders,accounting_period")] PaymentsTrackingCategoriesPurchaseOrdersAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,tracking_categories,purchase_orders,applied_credit_notes")] PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotes, @@ -7588,6 +15765,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits" )] @@ -7598,6 +15780,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company" )] @@ -7608,6 +15795,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee" )] @@ -7618,6 +15810,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember( Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact" )] @@ -7628,6 +15835,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company" )] @@ -7638,6 +15850,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee" )] @@ -7648,6 +15865,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee" )] @@ -7658,6 +15890,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactPaymentTerm, + [EnumMember( Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee" )] @@ -7668,6 +15915,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsPaymentTerm, + [EnumMember( Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,company" )] @@ -7678,6 +15940,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,company,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,company,employee" )] @@ -7688,6 +15955,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,company,employee,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,company,employee,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,company,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyPaymentTerm, + [EnumMember( Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,contact" )] @@ -7698,6 +15980,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,contact,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company" )] @@ -7708,6 +15995,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee" )] @@ -7718,6 +16010,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyPaymentTerm, + [EnumMember( Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,contact,employee" )] @@ -7728,6 +16035,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,contact,employee,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,contact,employee,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,contact,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesContactPaymentTerm, + [EnumMember( Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,employee" )] @@ -7738,6 +16060,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,employee,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,employee,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesEmployeePaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_credit_notes,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedCreditNotesPaymentTerm, + [EnumMember(Value = "payments,tracking_categories,purchase_orders,applied_vendor_credits")] PaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCredits, @@ -7746,25 +16083,50 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_vendor_credits,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,tracking_categories,purchase_orders,applied_vendor_credits,company" )] - PaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompany, + PaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompany, + + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_vendor_credits,company,accounting_period" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyAccountingPeriod, + + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_vendor_credits,company,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_vendor_credits,company,employee" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyEmployee, + + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_vendor_credits,company,employee,accounting_period" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyEmployeeAccountingPeriod, [EnumMember( - Value = "payments,tracking_categories,purchase_orders,applied_vendor_credits,company,accounting_period" + Value = "payments,tracking_categories,purchase_orders,applied_vendor_credits,company,employee,accounting_period,payment_term" )] - PaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyAccountingPeriod, + PaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, [EnumMember( - Value = "payments,tracking_categories,purchase_orders,applied_vendor_credits,company,employee" + Value = "payments,tracking_categories,purchase_orders,applied_vendor_credits,company,employee,payment_term" )] - PaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyEmployee, + PaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyEmployeePaymentTerm, [EnumMember( - Value = "payments,tracking_categories,purchase_orders,applied_vendor_credits,company,employee,accounting_period" + Value = "payments,tracking_categories,purchase_orders,applied_vendor_credits,company,payment_term" )] - PaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + PaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyPaymentTerm, [EnumMember( Value = "payments,tracking_categories,purchase_orders,applied_vendor_credits,contact" @@ -7776,6 +16138,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,company" )] @@ -7786,6 +16153,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee" )] @@ -7796,6 +16168,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee" )] @@ -7806,6 +16193,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactPaymentTerm, + [EnumMember( Value = "payments,tracking_categories,purchase_orders,applied_vendor_credits,employee" )] @@ -7816,12 +16218,32 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_vendor_credits,employee,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_vendor_credits,employee,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,applied_vendor_credits,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "payments,tracking_categories,purchase_orders,company")] PaymentsTrackingCategoriesPurchaseOrdersCompany, [EnumMember(Value = "payments,tracking_categories,purchase_orders,company,accounting_period")] PaymentsTrackingCategoriesPurchaseOrdersCompanyAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,company,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,tracking_categories,purchase_orders,company,employee")] PaymentsTrackingCategoriesPurchaseOrdersCompanyEmployee, @@ -7830,12 +16252,30 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsTrackingCategoriesPurchaseOrdersCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,company,employee,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,company,employee,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersCompanyEmployeePaymentTerm, + + [EnumMember(Value = "payments,tracking_categories,purchase_orders,company,payment_term")] + PaymentsTrackingCategoriesPurchaseOrdersCompanyPaymentTerm, + [EnumMember(Value = "payments,tracking_categories,purchase_orders,contact")] PaymentsTrackingCategoriesPurchaseOrdersContact, [EnumMember(Value = "payments,tracking_categories,purchase_orders,contact,accounting_period")] PaymentsTrackingCategoriesPurchaseOrdersContactAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,contact,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,tracking_categories,purchase_orders,contact,company")] PaymentsTrackingCategoriesPurchaseOrdersContactCompany, @@ -7844,6 +16284,11 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsTrackingCategoriesPurchaseOrdersContactCompanyAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,contact,company,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "payments,tracking_categories,purchase_orders,contact,company,employee")] PaymentsTrackingCategoriesPurchaseOrdersContactCompanyEmployee, @@ -7852,6 +16297,21 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsTrackingCategoriesPurchaseOrdersContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,contact,company,employee,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,contact,company,employee,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,contact,company,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersContactCompanyPaymentTerm, + [EnumMember(Value = "payments,tracking_categories,purchase_orders,contact,employee")] PaymentsTrackingCategoriesPurchaseOrdersContactEmployee, @@ -7860,24 +16320,54 @@ public enum InvoicesRetrieveRequestExpand )] PaymentsTrackingCategoriesPurchaseOrdersContactEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,contact,employee,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,contact,employee,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersContactEmployeePaymentTerm, + + [EnumMember(Value = "payments,tracking_categories,purchase_orders,contact,payment_term")] + PaymentsTrackingCategoriesPurchaseOrdersContactPaymentTerm, + [EnumMember(Value = "payments,tracking_categories,purchase_orders,employee")] PaymentsTrackingCategoriesPurchaseOrdersEmployee, [EnumMember(Value = "payments,tracking_categories,purchase_orders,employee,accounting_period")] PaymentsTrackingCategoriesPurchaseOrdersEmployeeAccountingPeriod, + [EnumMember( + Value = "payments,tracking_categories,purchase_orders,employee,accounting_period,payment_term" + )] + PaymentsTrackingCategoriesPurchaseOrdersEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "payments,tracking_categories,purchase_orders,employee,payment_term")] + PaymentsTrackingCategoriesPurchaseOrdersEmployeePaymentTerm, + + [EnumMember(Value = "payments,tracking_categories,purchase_orders,payment_term")] + PaymentsTrackingCategoriesPurchaseOrdersPaymentTerm, + [EnumMember(Value = "purchase_orders")] PurchaseOrders, [EnumMember(Value = "purchase_orders,accounting_period")] PurchaseOrdersAccountingPeriod, + [EnumMember(Value = "purchase_orders,accounting_period,payment_term")] + PurchaseOrdersAccountingPeriodPaymentTerm, + [EnumMember(Value = "purchase_orders,applied_credit_notes")] PurchaseOrdersAppliedCreditNotes, [EnumMember(Value = "purchase_orders,applied_credit_notes,accounting_period")] PurchaseOrdersAppliedCreditNotesAccountingPeriod, + [EnumMember(Value = "purchase_orders,applied_credit_notes,accounting_period,payment_term")] + PurchaseOrdersAppliedCreditNotesAccountingPeriodPaymentTerm, + [EnumMember(Value = "purchase_orders,applied_credit_notes,applied_vendor_credits")] PurchaseOrdersAppliedCreditNotesAppliedVendorCredits, @@ -7886,6 +16376,11 @@ public enum InvoicesRetrieveRequestExpand )] PurchaseOrdersAppliedCreditNotesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "purchase_orders,applied_credit_notes,applied_vendor_credits,accounting_period,payment_term" + )] + PurchaseOrdersAppliedCreditNotesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember(Value = "purchase_orders,applied_credit_notes,applied_vendor_credits,company")] PurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompany, @@ -7894,6 +16389,11 @@ public enum InvoicesRetrieveRequestExpand )] PurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "purchase_orders,applied_credit_notes,applied_vendor_credits,company,accounting_period,payment_term" + )] + PurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee" )] @@ -7904,6 +16404,21 @@ public enum InvoicesRetrieveRequestExpand )] PurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + PurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,payment_term" + )] + PurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "purchase_orders,applied_credit_notes,applied_vendor_credits,company,payment_term" + )] + PurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember(Value = "purchase_orders,applied_credit_notes,applied_vendor_credits,contact")] PurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContact, @@ -7912,6 +16427,11 @@ public enum InvoicesRetrieveRequestExpand )] PurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "purchase_orders,applied_credit_notes,applied_vendor_credits,contact,accounting_period,payment_term" + )] + PurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company" )] @@ -7922,6 +16442,11 @@ public enum InvoicesRetrieveRequestExpand )] PurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + PurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee" )] @@ -7932,6 +16457,21 @@ public enum InvoicesRetrieveRequestExpand )] PurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + PurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,payment_term" + )] + PurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,payment_term" + )] + PurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee" )] @@ -7942,6 +16482,21 @@ public enum InvoicesRetrieveRequestExpand )] PurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + PurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,payment_term" + )] + PurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "purchase_orders,applied_credit_notes,applied_vendor_credits,contact,payment_term" + )] + PurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactPaymentTerm, + [EnumMember(Value = "purchase_orders,applied_credit_notes,applied_vendor_credits,employee")] PurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployee, @@ -7950,30 +16505,69 @@ public enum InvoicesRetrieveRequestExpand )] PurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period,payment_term" + )] + PurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "purchase_orders,applied_credit_notes,applied_vendor_credits,employee,payment_term" + )] + PurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember(Value = "purchase_orders,applied_credit_notes,applied_vendor_credits,payment_term")] + PurchaseOrdersAppliedCreditNotesAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "purchase_orders,applied_credit_notes,company")] PurchaseOrdersAppliedCreditNotesCompany, [EnumMember(Value = "purchase_orders,applied_credit_notes,company,accounting_period")] PurchaseOrdersAppliedCreditNotesCompanyAccountingPeriod, + [EnumMember( + Value = "purchase_orders,applied_credit_notes,company,accounting_period,payment_term" + )] + PurchaseOrdersAppliedCreditNotesCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "purchase_orders,applied_credit_notes,company,employee")] PurchaseOrdersAppliedCreditNotesCompanyEmployee, [EnumMember(Value = "purchase_orders,applied_credit_notes,company,employee,accounting_period")] PurchaseOrdersAppliedCreditNotesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "purchase_orders,applied_credit_notes,company,employee,accounting_period,payment_term" + )] + PurchaseOrdersAppliedCreditNotesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "purchase_orders,applied_credit_notes,company,employee,payment_term")] + PurchaseOrdersAppliedCreditNotesCompanyEmployeePaymentTerm, + + [EnumMember(Value = "purchase_orders,applied_credit_notes,company,payment_term")] + PurchaseOrdersAppliedCreditNotesCompanyPaymentTerm, + [EnumMember(Value = "purchase_orders,applied_credit_notes,contact")] PurchaseOrdersAppliedCreditNotesContact, [EnumMember(Value = "purchase_orders,applied_credit_notes,contact,accounting_period")] PurchaseOrdersAppliedCreditNotesContactAccountingPeriod, + [EnumMember( + Value = "purchase_orders,applied_credit_notes,contact,accounting_period,payment_term" + )] + PurchaseOrdersAppliedCreditNotesContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "purchase_orders,applied_credit_notes,contact,company")] PurchaseOrdersAppliedCreditNotesContactCompany, [EnumMember(Value = "purchase_orders,applied_credit_notes,contact,company,accounting_period")] PurchaseOrdersAppliedCreditNotesContactCompanyAccountingPeriod, + [EnumMember( + Value = "purchase_orders,applied_credit_notes,contact,company,accounting_period,payment_term" + )] + PurchaseOrdersAppliedCreditNotesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "purchase_orders,applied_credit_notes,contact,company,employee")] PurchaseOrdersAppliedCreditNotesContactCompanyEmployee, @@ -7982,30 +16576,73 @@ public enum InvoicesRetrieveRequestExpand )] PurchaseOrdersAppliedCreditNotesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "purchase_orders,applied_credit_notes,contact,company,employee,accounting_period,payment_term" + )] + PurchaseOrdersAppliedCreditNotesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "purchase_orders,applied_credit_notes,contact,company,employee,payment_term" + )] + PurchaseOrdersAppliedCreditNotesContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "purchase_orders,applied_credit_notes,contact,company,payment_term")] + PurchaseOrdersAppliedCreditNotesContactCompanyPaymentTerm, + [EnumMember(Value = "purchase_orders,applied_credit_notes,contact,employee")] PurchaseOrdersAppliedCreditNotesContactEmployee, [EnumMember(Value = "purchase_orders,applied_credit_notes,contact,employee,accounting_period")] PurchaseOrdersAppliedCreditNotesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "purchase_orders,applied_credit_notes,contact,employee,accounting_period,payment_term" + )] + PurchaseOrdersAppliedCreditNotesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "purchase_orders,applied_credit_notes,contact,employee,payment_term")] + PurchaseOrdersAppliedCreditNotesContactEmployeePaymentTerm, + + [EnumMember(Value = "purchase_orders,applied_credit_notes,contact,payment_term")] + PurchaseOrdersAppliedCreditNotesContactPaymentTerm, + [EnumMember(Value = "purchase_orders,applied_credit_notes,employee")] PurchaseOrdersAppliedCreditNotesEmployee, [EnumMember(Value = "purchase_orders,applied_credit_notes,employee,accounting_period")] PurchaseOrdersAppliedCreditNotesEmployeeAccountingPeriod, + [EnumMember( + Value = "purchase_orders,applied_credit_notes,employee,accounting_period,payment_term" + )] + PurchaseOrdersAppliedCreditNotesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "purchase_orders,applied_credit_notes,employee,payment_term")] + PurchaseOrdersAppliedCreditNotesEmployeePaymentTerm, + + [EnumMember(Value = "purchase_orders,applied_credit_notes,payment_term")] + PurchaseOrdersAppliedCreditNotesPaymentTerm, + [EnumMember(Value = "purchase_orders,applied_vendor_credits")] PurchaseOrdersAppliedVendorCredits, [EnumMember(Value = "purchase_orders,applied_vendor_credits,accounting_period")] PurchaseOrdersAppliedVendorCreditsAccountingPeriod, + [EnumMember(Value = "purchase_orders,applied_vendor_credits,accounting_period,payment_term")] + PurchaseOrdersAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember(Value = "purchase_orders,applied_vendor_credits,company")] PurchaseOrdersAppliedVendorCreditsCompany, [EnumMember(Value = "purchase_orders,applied_vendor_credits,company,accounting_period")] PurchaseOrdersAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "purchase_orders,applied_vendor_credits,company,accounting_period,payment_term" + )] + PurchaseOrdersAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "purchase_orders,applied_vendor_credits,company,employee")] PurchaseOrdersAppliedVendorCreditsCompanyEmployee, @@ -8014,18 +16651,39 @@ public enum InvoicesRetrieveRequestExpand )] PurchaseOrdersAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "purchase_orders,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + PurchaseOrdersAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "purchase_orders,applied_vendor_credits,company,employee,payment_term")] + PurchaseOrdersAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember(Value = "purchase_orders,applied_vendor_credits,company,payment_term")] + PurchaseOrdersAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember(Value = "purchase_orders,applied_vendor_credits,contact")] PurchaseOrdersAppliedVendorCreditsContact, [EnumMember(Value = "purchase_orders,applied_vendor_credits,contact,accounting_period")] PurchaseOrdersAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "purchase_orders,applied_vendor_credits,contact,accounting_period,payment_term" + )] + PurchaseOrdersAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "purchase_orders,applied_vendor_credits,contact,company")] PurchaseOrdersAppliedVendorCreditsContactCompany, [EnumMember(Value = "purchase_orders,applied_vendor_credits,contact,company,accounting_period")] PurchaseOrdersAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "purchase_orders,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + PurchaseOrdersAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "purchase_orders,applied_vendor_credits,contact,company,employee")] PurchaseOrdersAppliedVendorCreditsContactCompanyEmployee, @@ -8034,6 +16692,19 @@ public enum InvoicesRetrieveRequestExpand )] PurchaseOrdersAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "purchase_orders,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + PurchaseOrdersAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "purchase_orders,applied_vendor_credits,contact,company,employee,payment_term" + )] + PurchaseOrdersAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "purchase_orders,applied_vendor_credits,contact,company,payment_term")] + PurchaseOrdersAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember(Value = "purchase_orders,applied_vendor_credits,contact,employee")] PurchaseOrdersAppliedVendorCreditsContactEmployee, @@ -8042,66 +16713,139 @@ public enum InvoicesRetrieveRequestExpand )] PurchaseOrdersAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "purchase_orders,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + PurchaseOrdersAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "purchase_orders,applied_vendor_credits,contact,employee,payment_term")] + PurchaseOrdersAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember(Value = "purchase_orders,applied_vendor_credits,contact,payment_term")] + PurchaseOrdersAppliedVendorCreditsContactPaymentTerm, + [EnumMember(Value = "purchase_orders,applied_vendor_credits,employee")] PurchaseOrdersAppliedVendorCreditsEmployee, [EnumMember(Value = "purchase_orders,applied_vendor_credits,employee,accounting_period")] PurchaseOrdersAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "purchase_orders,applied_vendor_credits,employee,accounting_period,payment_term" + )] + PurchaseOrdersAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "purchase_orders,applied_vendor_credits,employee,payment_term")] + PurchaseOrdersAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember(Value = "purchase_orders,applied_vendor_credits,payment_term")] + PurchaseOrdersAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "purchase_orders,company")] PurchaseOrdersCompany, [EnumMember(Value = "purchase_orders,company,accounting_period")] PurchaseOrdersCompanyAccountingPeriod, + [EnumMember(Value = "purchase_orders,company,accounting_period,payment_term")] + PurchaseOrdersCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "purchase_orders,company,employee")] PurchaseOrdersCompanyEmployee, [EnumMember(Value = "purchase_orders,company,employee,accounting_period")] PurchaseOrdersCompanyEmployeeAccountingPeriod, + [EnumMember(Value = "purchase_orders,company,employee,accounting_period,payment_term")] + PurchaseOrdersCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "purchase_orders,company,employee,payment_term")] + PurchaseOrdersCompanyEmployeePaymentTerm, + + [EnumMember(Value = "purchase_orders,company,payment_term")] + PurchaseOrdersCompanyPaymentTerm, + [EnumMember(Value = "purchase_orders,contact")] PurchaseOrdersContact, [EnumMember(Value = "purchase_orders,contact,accounting_period")] PurchaseOrdersContactAccountingPeriod, + [EnumMember(Value = "purchase_orders,contact,accounting_period,payment_term")] + PurchaseOrdersContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "purchase_orders,contact,company")] PurchaseOrdersContactCompany, [EnumMember(Value = "purchase_orders,contact,company,accounting_period")] PurchaseOrdersContactCompanyAccountingPeriod, + [EnumMember(Value = "purchase_orders,contact,company,accounting_period,payment_term")] + PurchaseOrdersContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "purchase_orders,contact,company,employee")] PurchaseOrdersContactCompanyEmployee, [EnumMember(Value = "purchase_orders,contact,company,employee,accounting_period")] PurchaseOrdersContactCompanyEmployeeAccountingPeriod, + [EnumMember(Value = "purchase_orders,contact,company,employee,accounting_period,payment_term")] + PurchaseOrdersContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "purchase_orders,contact,company,employee,payment_term")] + PurchaseOrdersContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "purchase_orders,contact,company,payment_term")] + PurchaseOrdersContactCompanyPaymentTerm, + [EnumMember(Value = "purchase_orders,contact,employee")] PurchaseOrdersContactEmployee, [EnumMember(Value = "purchase_orders,contact,employee,accounting_period")] PurchaseOrdersContactEmployeeAccountingPeriod, + [EnumMember(Value = "purchase_orders,contact,employee,accounting_period,payment_term")] + PurchaseOrdersContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "purchase_orders,contact,employee,payment_term")] + PurchaseOrdersContactEmployeePaymentTerm, + + [EnumMember(Value = "purchase_orders,contact,payment_term")] + PurchaseOrdersContactPaymentTerm, + [EnumMember(Value = "purchase_orders,employee")] PurchaseOrdersEmployee, [EnumMember(Value = "purchase_orders,employee,accounting_period")] PurchaseOrdersEmployeeAccountingPeriod, + [EnumMember(Value = "purchase_orders,employee,accounting_period,payment_term")] + PurchaseOrdersEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "purchase_orders,employee,payment_term")] + PurchaseOrdersEmployeePaymentTerm, + + [EnumMember(Value = "purchase_orders,payment_term")] + PurchaseOrdersPaymentTerm, + [EnumMember(Value = "tracking_categories")] TrackingCategories, [EnumMember(Value = "tracking_categories,accounting_period")] TrackingCategoriesAccountingPeriod, + [EnumMember(Value = "tracking_categories,accounting_period,payment_term")] + TrackingCategoriesAccountingPeriodPaymentTerm, + [EnumMember(Value = "tracking_categories,applied_credit_notes")] TrackingCategoriesAppliedCreditNotes, [EnumMember(Value = "tracking_categories,applied_credit_notes,accounting_period")] TrackingCategoriesAppliedCreditNotesAccountingPeriod, + [EnumMember(Value = "tracking_categories,applied_credit_notes,accounting_period,payment_term")] + TrackingCategoriesAppliedCreditNotesAccountingPeriodPaymentTerm, + [EnumMember(Value = "tracking_categories,applied_credit_notes,applied_vendor_credits")] TrackingCategoriesAppliedCreditNotesAppliedVendorCredits, @@ -8110,6 +16854,11 @@ public enum InvoicesRetrieveRequestExpand )] TrackingCategoriesAppliedCreditNotesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "tracking_categories,applied_credit_notes,applied_vendor_credits,accounting_period,payment_term" + )] + TrackingCategoriesAppliedCreditNotesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember(Value = "tracking_categories,applied_credit_notes,applied_vendor_credits,company")] TrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompany, @@ -8118,6 +16867,11 @@ public enum InvoicesRetrieveRequestExpand )] TrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "tracking_categories,applied_credit_notes,applied_vendor_credits,company,accounting_period,payment_term" + )] + TrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee" )] @@ -8128,6 +16882,21 @@ public enum InvoicesRetrieveRequestExpand )] TrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + TrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee,payment_term" + )] + TrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "tracking_categories,applied_credit_notes,applied_vendor_credits,company,payment_term" + )] + TrackingCategoriesAppliedCreditNotesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember(Value = "tracking_categories,applied_credit_notes,applied_vendor_credits,contact")] TrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContact, @@ -8136,6 +16905,11 @@ public enum InvoicesRetrieveRequestExpand )] TrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "tracking_categories,applied_credit_notes,applied_vendor_credits,contact,accounting_period,payment_term" + )] + TrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company" )] @@ -8146,6 +16920,11 @@ public enum InvoicesRetrieveRequestExpand )] TrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + TrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee" )] @@ -8156,6 +16935,21 @@ public enum InvoicesRetrieveRequestExpand )] TrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + TrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee,payment_term" + )] + TrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,payment_term" + )] + TrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee" )] @@ -8166,13 +16960,43 @@ public enum InvoicesRetrieveRequestExpand )] TrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + TrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee,payment_term" + )] + TrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "tracking_categories,applied_credit_notes,applied_vendor_credits,contact,payment_term" + )] + TrackingCategoriesAppliedCreditNotesAppliedVendorCreditsContactPaymentTerm, + [EnumMember(Value = "tracking_categories,applied_credit_notes,applied_vendor_credits,employee")] TrackingCategoriesAppliedCreditNotesAppliedVendorCreditsEmployee, [EnumMember( - Value = "tracking_categories,applied_credit_notes,applied_vendor_credits,employee,accounting_period" + Value = "tracking_categories,applied_credit_notes,applied_vendor_credits,employee,accounting_period" + )] + TrackingCategoriesAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriod, + + [EnumMember( + Value = "tracking_categories,applied_credit_notes,applied_vendor_credits,employee,accounting_period,payment_term" + )] + TrackingCategoriesAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "tracking_categories,applied_credit_notes,applied_vendor_credits,employee,payment_term" + )] + TrackingCategoriesAppliedCreditNotesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "tracking_categories,applied_credit_notes,applied_vendor_credits,payment_term" )] - TrackingCategoriesAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriod, + TrackingCategoriesAppliedCreditNotesAppliedVendorCreditsPaymentTerm, [EnumMember(Value = "tracking_categories,applied_credit_notes,company")] TrackingCategoriesAppliedCreditNotesCompany, @@ -8180,6 +17004,11 @@ public enum InvoicesRetrieveRequestExpand [EnumMember(Value = "tracking_categories,applied_credit_notes,company,accounting_period")] TrackingCategoriesAppliedCreditNotesCompanyAccountingPeriod, + [EnumMember( + Value = "tracking_categories,applied_credit_notes,company,accounting_period,payment_term" + )] + TrackingCategoriesAppliedCreditNotesCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "tracking_categories,applied_credit_notes,company,employee")] TrackingCategoriesAppliedCreditNotesCompanyEmployee, @@ -8188,12 +17017,28 @@ public enum InvoicesRetrieveRequestExpand )] TrackingCategoriesAppliedCreditNotesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "tracking_categories,applied_credit_notes,company,employee,accounting_period,payment_term" + )] + TrackingCategoriesAppliedCreditNotesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "tracking_categories,applied_credit_notes,company,employee,payment_term")] + TrackingCategoriesAppliedCreditNotesCompanyEmployeePaymentTerm, + + [EnumMember(Value = "tracking_categories,applied_credit_notes,company,payment_term")] + TrackingCategoriesAppliedCreditNotesCompanyPaymentTerm, + [EnumMember(Value = "tracking_categories,applied_credit_notes,contact")] TrackingCategoriesAppliedCreditNotesContact, [EnumMember(Value = "tracking_categories,applied_credit_notes,contact,accounting_period")] TrackingCategoriesAppliedCreditNotesContactAccountingPeriod, + [EnumMember( + Value = "tracking_categories,applied_credit_notes,contact,accounting_period,payment_term" + )] + TrackingCategoriesAppliedCreditNotesContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "tracking_categories,applied_credit_notes,contact,company")] TrackingCategoriesAppliedCreditNotesContactCompany, @@ -8202,6 +17047,11 @@ public enum InvoicesRetrieveRequestExpand )] TrackingCategoriesAppliedCreditNotesContactCompanyAccountingPeriod, + [EnumMember( + Value = "tracking_categories,applied_credit_notes,contact,company,accounting_period,payment_term" + )] + TrackingCategoriesAppliedCreditNotesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "tracking_categories,applied_credit_notes,contact,company,employee")] TrackingCategoriesAppliedCreditNotesContactCompanyEmployee, @@ -8210,6 +17060,19 @@ public enum InvoicesRetrieveRequestExpand )] TrackingCategoriesAppliedCreditNotesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "tracking_categories,applied_credit_notes,contact,company,employee,accounting_period,payment_term" + )] + TrackingCategoriesAppliedCreditNotesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "tracking_categories,applied_credit_notes,contact,company,employee,payment_term" + )] + TrackingCategoriesAppliedCreditNotesContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "tracking_categories,applied_credit_notes,contact,company,payment_term")] + TrackingCategoriesAppliedCreditNotesContactCompanyPaymentTerm, + [EnumMember(Value = "tracking_categories,applied_credit_notes,contact,employee")] TrackingCategoriesAppliedCreditNotesContactEmployee, @@ -8218,24 +17081,56 @@ public enum InvoicesRetrieveRequestExpand )] TrackingCategoriesAppliedCreditNotesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "tracking_categories,applied_credit_notes,contact,employee,accounting_period,payment_term" + )] + TrackingCategoriesAppliedCreditNotesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "tracking_categories,applied_credit_notes,contact,employee,payment_term")] + TrackingCategoriesAppliedCreditNotesContactEmployeePaymentTerm, + + [EnumMember(Value = "tracking_categories,applied_credit_notes,contact,payment_term")] + TrackingCategoriesAppliedCreditNotesContactPaymentTerm, + [EnumMember(Value = "tracking_categories,applied_credit_notes,employee")] TrackingCategoriesAppliedCreditNotesEmployee, [EnumMember(Value = "tracking_categories,applied_credit_notes,employee,accounting_period")] TrackingCategoriesAppliedCreditNotesEmployeeAccountingPeriod, + [EnumMember( + Value = "tracking_categories,applied_credit_notes,employee,accounting_period,payment_term" + )] + TrackingCategoriesAppliedCreditNotesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "tracking_categories,applied_credit_notes,employee,payment_term")] + TrackingCategoriesAppliedCreditNotesEmployeePaymentTerm, + + [EnumMember(Value = "tracking_categories,applied_credit_notes,payment_term")] + TrackingCategoriesAppliedCreditNotesPaymentTerm, + [EnumMember(Value = "tracking_categories,applied_vendor_credits")] TrackingCategoriesAppliedVendorCredits, [EnumMember(Value = "tracking_categories,applied_vendor_credits,accounting_period")] TrackingCategoriesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "tracking_categories,applied_vendor_credits,accounting_period,payment_term" + )] + TrackingCategoriesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember(Value = "tracking_categories,applied_vendor_credits,company")] TrackingCategoriesAppliedVendorCreditsCompany, [EnumMember(Value = "tracking_categories,applied_vendor_credits,company,accounting_period")] TrackingCategoriesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "tracking_categories,applied_vendor_credits,company,accounting_period,payment_term" + )] + TrackingCategoriesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "tracking_categories,applied_vendor_credits,company,employee")] TrackingCategoriesAppliedVendorCreditsCompanyEmployee, @@ -8244,12 +17139,28 @@ public enum InvoicesRetrieveRequestExpand )] TrackingCategoriesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "tracking_categories,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + TrackingCategoriesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "tracking_categories,applied_vendor_credits,company,employee,payment_term")] + TrackingCategoriesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember(Value = "tracking_categories,applied_vendor_credits,company,payment_term")] + TrackingCategoriesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember(Value = "tracking_categories,applied_vendor_credits,contact")] TrackingCategoriesAppliedVendorCreditsContact, [EnumMember(Value = "tracking_categories,applied_vendor_credits,contact,accounting_period")] TrackingCategoriesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "tracking_categories,applied_vendor_credits,contact,accounting_period,payment_term" + )] + TrackingCategoriesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "tracking_categories,applied_vendor_credits,contact,company")] TrackingCategoriesAppliedVendorCreditsContactCompany, @@ -8258,6 +17169,11 @@ public enum InvoicesRetrieveRequestExpand )] TrackingCategoriesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "tracking_categories,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + TrackingCategoriesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "tracking_categories,applied_vendor_credits,contact,company,employee")] TrackingCategoriesAppliedVendorCreditsContactCompanyEmployee, @@ -8266,6 +17182,19 @@ public enum InvoicesRetrieveRequestExpand )] TrackingCategoriesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "tracking_categories,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + TrackingCategoriesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "tracking_categories,applied_vendor_credits,contact,company,employee,payment_term" + )] + TrackingCategoriesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "tracking_categories,applied_vendor_credits,contact,company,payment_term")] + TrackingCategoriesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember(Value = "tracking_categories,applied_vendor_credits,contact,employee")] TrackingCategoriesAppliedVendorCreditsContactEmployee, @@ -8274,60 +17203,132 @@ public enum InvoicesRetrieveRequestExpand )] TrackingCategoriesAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "tracking_categories,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + TrackingCategoriesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "tracking_categories,applied_vendor_credits,contact,employee,payment_term")] + TrackingCategoriesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember(Value = "tracking_categories,applied_vendor_credits,contact,payment_term")] + TrackingCategoriesAppliedVendorCreditsContactPaymentTerm, + [EnumMember(Value = "tracking_categories,applied_vendor_credits,employee")] TrackingCategoriesAppliedVendorCreditsEmployee, [EnumMember(Value = "tracking_categories,applied_vendor_credits,employee,accounting_period")] TrackingCategoriesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "tracking_categories,applied_vendor_credits,employee,accounting_period,payment_term" + )] + TrackingCategoriesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "tracking_categories,applied_vendor_credits,employee,payment_term")] + TrackingCategoriesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember(Value = "tracking_categories,applied_vendor_credits,payment_term")] + TrackingCategoriesAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "tracking_categories,company")] TrackingCategoriesCompany, [EnumMember(Value = "tracking_categories,company,accounting_period")] TrackingCategoriesCompanyAccountingPeriod, + [EnumMember(Value = "tracking_categories,company,accounting_period,payment_term")] + TrackingCategoriesCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "tracking_categories,company,employee")] TrackingCategoriesCompanyEmployee, [EnumMember(Value = "tracking_categories,company,employee,accounting_period")] TrackingCategoriesCompanyEmployeeAccountingPeriod, + [EnumMember(Value = "tracking_categories,company,employee,accounting_period,payment_term")] + TrackingCategoriesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "tracking_categories,company,employee,payment_term")] + TrackingCategoriesCompanyEmployeePaymentTerm, + + [EnumMember(Value = "tracking_categories,company,payment_term")] + TrackingCategoriesCompanyPaymentTerm, + [EnumMember(Value = "tracking_categories,contact")] TrackingCategoriesContact, [EnumMember(Value = "tracking_categories,contact,accounting_period")] TrackingCategoriesContactAccountingPeriod, + [EnumMember(Value = "tracking_categories,contact,accounting_period,payment_term")] + TrackingCategoriesContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "tracking_categories,contact,company")] TrackingCategoriesContactCompany, [EnumMember(Value = "tracking_categories,contact,company,accounting_period")] TrackingCategoriesContactCompanyAccountingPeriod, + [EnumMember(Value = "tracking_categories,contact,company,accounting_period,payment_term")] + TrackingCategoriesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "tracking_categories,contact,company,employee")] TrackingCategoriesContactCompanyEmployee, [EnumMember(Value = "tracking_categories,contact,company,employee,accounting_period")] TrackingCategoriesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "tracking_categories,contact,company,employee,accounting_period,payment_term" + )] + TrackingCategoriesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "tracking_categories,contact,company,employee,payment_term")] + TrackingCategoriesContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "tracking_categories,contact,company,payment_term")] + TrackingCategoriesContactCompanyPaymentTerm, + [EnumMember(Value = "tracking_categories,contact,employee")] TrackingCategoriesContactEmployee, [EnumMember(Value = "tracking_categories,contact,employee,accounting_period")] TrackingCategoriesContactEmployeeAccountingPeriod, + [EnumMember(Value = "tracking_categories,contact,employee,accounting_period,payment_term")] + TrackingCategoriesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "tracking_categories,contact,employee,payment_term")] + TrackingCategoriesContactEmployeePaymentTerm, + + [EnumMember(Value = "tracking_categories,contact,payment_term")] + TrackingCategoriesContactPaymentTerm, + [EnumMember(Value = "tracking_categories,employee")] TrackingCategoriesEmployee, [EnumMember(Value = "tracking_categories,employee,accounting_period")] TrackingCategoriesEmployeeAccountingPeriod, + [EnumMember(Value = "tracking_categories,employee,accounting_period,payment_term")] + TrackingCategoriesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "tracking_categories,employee,payment_term")] + TrackingCategoriesEmployeePaymentTerm, + + [EnumMember(Value = "tracking_categories,payment_term")] + TrackingCategoriesPaymentTerm, + [EnumMember(Value = "tracking_categories,purchase_orders")] TrackingCategoriesPurchaseOrders, [EnumMember(Value = "tracking_categories,purchase_orders,accounting_period")] TrackingCategoriesPurchaseOrdersAccountingPeriod, + [EnumMember(Value = "tracking_categories,purchase_orders,accounting_period,payment_term")] + TrackingCategoriesPurchaseOrdersAccountingPeriodPaymentTerm, + [EnumMember(Value = "tracking_categories,purchase_orders,applied_credit_notes")] TrackingCategoriesPurchaseOrdersAppliedCreditNotes, @@ -8336,6 +17337,11 @@ public enum InvoicesRetrieveRequestExpand )] TrackingCategoriesPurchaseOrdersAppliedCreditNotesAccountingPeriod, + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_credit_notes,accounting_period,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedCreditNotesAccountingPeriodPaymentTerm, + [EnumMember( Value = "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits" )] @@ -8346,6 +17352,11 @@ public enum InvoicesRetrieveRequestExpand )] TrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,accounting_period,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember( Value = "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company" )] @@ -8356,6 +17367,11 @@ public enum InvoicesRetrieveRequestExpand )] TrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,accounting_period,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee" )] @@ -8366,6 +17382,21 @@ public enum InvoicesRetrieveRequestExpand )] TrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember( Value = "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact" )] @@ -8376,6 +17407,11 @@ public enum InvoicesRetrieveRequestExpand )] TrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,accounting_period,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company" )] @@ -8386,6 +17422,11 @@ public enum InvoicesRetrieveRequestExpand )] TrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee" )] @@ -8396,6 +17437,21 @@ public enum InvoicesRetrieveRequestExpand )] TrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee" )] @@ -8406,6 +17462,21 @@ public enum InvoicesRetrieveRequestExpand )] TrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsContactPaymentTerm, + [EnumMember( Value = "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee" )] @@ -8416,6 +17487,21 @@ public enum InvoicesRetrieveRequestExpand )] TrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedCreditNotesAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "tracking_categories,purchase_orders,applied_credit_notes,company")] TrackingCategoriesPurchaseOrdersAppliedCreditNotesCompany, @@ -8424,6 +17510,11 @@ public enum InvoicesRetrieveRequestExpand )] TrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyAccountingPeriod, + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_credit_notes,company,accounting_period,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "tracking_categories,purchase_orders,applied_credit_notes,company,employee" )] @@ -8434,6 +17525,21 @@ public enum InvoicesRetrieveRequestExpand )] TrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_credit_notes,company,employee,accounting_period,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_credit_notes,company,employee,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_credit_notes,company,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedCreditNotesCompanyPaymentTerm, + [EnumMember(Value = "tracking_categories,purchase_orders,applied_credit_notes,contact")] TrackingCategoriesPurchaseOrdersAppliedCreditNotesContact, @@ -8442,6 +17548,11 @@ public enum InvoicesRetrieveRequestExpand )] TrackingCategoriesPurchaseOrdersAppliedCreditNotesContactAccountingPeriod, + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_credit_notes,contact,accounting_period,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedCreditNotesContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "tracking_categories,purchase_orders,applied_credit_notes,contact,company")] TrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompany, @@ -8450,6 +17561,11 @@ public enum InvoicesRetrieveRequestExpand )] TrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyAccountingPeriod, + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_credit_notes,contact,company,accounting_period,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee" )] @@ -8460,6 +17576,21 @@ public enum InvoicesRetrieveRequestExpand )] TrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee,accounting_period,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_credit_notes,contact,company,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedCreditNotesContactCompanyPaymentTerm, + [EnumMember( Value = "tracking_categories,purchase_orders,applied_credit_notes,contact,employee" )] @@ -8470,6 +17601,21 @@ public enum InvoicesRetrieveRequestExpand )] TrackingCategoriesPurchaseOrdersAppliedCreditNotesContactEmployeeAccountingPeriod, + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_credit_notes,contact,employee,accounting_period,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedCreditNotesContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_credit_notes,contact,employee,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedCreditNotesContactEmployeePaymentTerm, + + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_credit_notes,contact,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedCreditNotesContactPaymentTerm, + [EnumMember(Value = "tracking_categories,purchase_orders,applied_credit_notes,employee")] TrackingCategoriesPurchaseOrdersAppliedCreditNotesEmployee, @@ -8478,6 +17624,19 @@ public enum InvoicesRetrieveRequestExpand )] TrackingCategoriesPurchaseOrdersAppliedCreditNotesEmployeeAccountingPeriod, + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_credit_notes,employee,accounting_period,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedCreditNotesEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_credit_notes,employee,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedCreditNotesEmployeePaymentTerm, + + [EnumMember(Value = "tracking_categories,purchase_orders,applied_credit_notes,payment_term")] + TrackingCategoriesPurchaseOrdersAppliedCreditNotesPaymentTerm, + [EnumMember(Value = "tracking_categories,purchase_orders,applied_vendor_credits")] TrackingCategoriesPurchaseOrdersAppliedVendorCredits, @@ -8486,6 +17645,11 @@ public enum InvoicesRetrieveRequestExpand )] TrackingCategoriesPurchaseOrdersAppliedVendorCreditsAccountingPeriod, + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_vendor_credits,accounting_period,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedVendorCreditsAccountingPeriodPaymentTerm, + [EnumMember(Value = "tracking_categories,purchase_orders,applied_vendor_credits,company")] TrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompany, @@ -8494,6 +17658,11 @@ public enum InvoicesRetrieveRequestExpand )] TrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyAccountingPeriod, + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_vendor_credits,company,accounting_period,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "tracking_categories,purchase_orders,applied_vendor_credits,company,employee" )] @@ -8504,6 +17673,21 @@ public enum InvoicesRetrieveRequestExpand )] TrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_vendor_credits,company,employee,accounting_period,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_vendor_credits,company,employee,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_vendor_credits,company,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedVendorCreditsCompanyPaymentTerm, + [EnumMember(Value = "tracking_categories,purchase_orders,applied_vendor_credits,contact")] TrackingCategoriesPurchaseOrdersAppliedVendorCreditsContact, @@ -8512,6 +17696,11 @@ public enum InvoicesRetrieveRequestExpand )] TrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactAccountingPeriod, + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_vendor_credits,contact,accounting_period,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactAccountingPeriodPaymentTerm, + [EnumMember( Value = "tracking_categories,purchase_orders,applied_vendor_credits,contact,company" )] @@ -8522,6 +17711,11 @@ public enum InvoicesRetrieveRequestExpand )] TrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyAccountingPeriod, + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_vendor_credits,contact,company,accounting_period,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyAccountingPeriodPaymentTerm, + [EnumMember( Value = "tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee" )] @@ -8532,6 +17726,21 @@ public enum InvoicesRetrieveRequestExpand )] TrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee,accounting_period,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyEmployeePaymentTerm, + + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_vendor_credits,contact,company,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactCompanyPaymentTerm, + [EnumMember( Value = "tracking_categories,purchase_orders,applied_vendor_credits,contact,employee" )] @@ -8542,6 +17751,21 @@ public enum InvoicesRetrieveRequestExpand )] TrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactEmployeeAccountingPeriod, + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_vendor_credits,contact,employee,accounting_period,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_vendor_credits,contact,employee,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactEmployeePaymentTerm, + + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_vendor_credits,contact,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedVendorCreditsContactPaymentTerm, + [EnumMember(Value = "tracking_categories,purchase_orders,applied_vendor_credits,employee")] TrackingCategoriesPurchaseOrdersAppliedVendorCreditsEmployee, @@ -8550,30 +17774,69 @@ public enum InvoicesRetrieveRequestExpand )] TrackingCategoriesPurchaseOrdersAppliedVendorCreditsEmployeeAccountingPeriod, + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_vendor_credits,employee,accounting_period,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedVendorCreditsEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "tracking_categories,purchase_orders,applied_vendor_credits,employee,payment_term" + )] + TrackingCategoriesPurchaseOrdersAppliedVendorCreditsEmployeePaymentTerm, + + [EnumMember(Value = "tracking_categories,purchase_orders,applied_vendor_credits,payment_term")] + TrackingCategoriesPurchaseOrdersAppliedVendorCreditsPaymentTerm, + [EnumMember(Value = "tracking_categories,purchase_orders,company")] TrackingCategoriesPurchaseOrdersCompany, [EnumMember(Value = "tracking_categories,purchase_orders,company,accounting_period")] TrackingCategoriesPurchaseOrdersCompanyAccountingPeriod, + [EnumMember( + Value = "tracking_categories,purchase_orders,company,accounting_period,payment_term" + )] + TrackingCategoriesPurchaseOrdersCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "tracking_categories,purchase_orders,company,employee")] TrackingCategoriesPurchaseOrdersCompanyEmployee, [EnumMember(Value = "tracking_categories,purchase_orders,company,employee,accounting_period")] TrackingCategoriesPurchaseOrdersCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "tracking_categories,purchase_orders,company,employee,accounting_period,payment_term" + )] + TrackingCategoriesPurchaseOrdersCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "tracking_categories,purchase_orders,company,employee,payment_term")] + TrackingCategoriesPurchaseOrdersCompanyEmployeePaymentTerm, + + [EnumMember(Value = "tracking_categories,purchase_orders,company,payment_term")] + TrackingCategoriesPurchaseOrdersCompanyPaymentTerm, + [EnumMember(Value = "tracking_categories,purchase_orders,contact")] TrackingCategoriesPurchaseOrdersContact, [EnumMember(Value = "tracking_categories,purchase_orders,contact,accounting_period")] TrackingCategoriesPurchaseOrdersContactAccountingPeriod, + [EnumMember( + Value = "tracking_categories,purchase_orders,contact,accounting_period,payment_term" + )] + TrackingCategoriesPurchaseOrdersContactAccountingPeriodPaymentTerm, + [EnumMember(Value = "tracking_categories,purchase_orders,contact,company")] TrackingCategoriesPurchaseOrdersContactCompany, [EnumMember(Value = "tracking_categories,purchase_orders,contact,company,accounting_period")] TrackingCategoriesPurchaseOrdersContactCompanyAccountingPeriod, + [EnumMember( + Value = "tracking_categories,purchase_orders,contact,company,accounting_period,payment_term" + )] + TrackingCategoriesPurchaseOrdersContactCompanyAccountingPeriodPaymentTerm, + [EnumMember(Value = "tracking_categories,purchase_orders,contact,company,employee")] TrackingCategoriesPurchaseOrdersContactCompanyEmployee, @@ -8582,15 +17845,50 @@ public enum InvoicesRetrieveRequestExpand )] TrackingCategoriesPurchaseOrdersContactCompanyEmployeeAccountingPeriod, + [EnumMember( + Value = "tracking_categories,purchase_orders,contact,company,employee,accounting_period,payment_term" + )] + TrackingCategoriesPurchaseOrdersContactCompanyEmployeeAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "tracking_categories,purchase_orders,contact,company,employee,payment_term" + )] + TrackingCategoriesPurchaseOrdersContactCompanyEmployeePaymentTerm, + + [EnumMember(Value = "tracking_categories,purchase_orders,contact,company,payment_term")] + TrackingCategoriesPurchaseOrdersContactCompanyPaymentTerm, + [EnumMember(Value = "tracking_categories,purchase_orders,contact,employee")] TrackingCategoriesPurchaseOrdersContactEmployee, [EnumMember(Value = "tracking_categories,purchase_orders,contact,employee,accounting_period")] TrackingCategoriesPurchaseOrdersContactEmployeeAccountingPeriod, + [EnumMember( + Value = "tracking_categories,purchase_orders,contact,employee,accounting_period,payment_term" + )] + TrackingCategoriesPurchaseOrdersContactEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "tracking_categories,purchase_orders,contact,employee,payment_term")] + TrackingCategoriesPurchaseOrdersContactEmployeePaymentTerm, + + [EnumMember(Value = "tracking_categories,purchase_orders,contact,payment_term")] + TrackingCategoriesPurchaseOrdersContactPaymentTerm, + [EnumMember(Value = "tracking_categories,purchase_orders,employee")] TrackingCategoriesPurchaseOrdersEmployee, [EnumMember(Value = "tracking_categories,purchase_orders,employee,accounting_period")] TrackingCategoriesPurchaseOrdersEmployeeAccountingPeriod, + + [EnumMember( + Value = "tracking_categories,purchase_orders,employee,accounting_period,payment_term" + )] + TrackingCategoriesPurchaseOrdersEmployeeAccountingPeriodPaymentTerm, + + [EnumMember(Value = "tracking_categories,purchase_orders,employee,payment_term")] + TrackingCategoriesPurchaseOrdersEmployeePaymentTerm, + + [EnumMember(Value = "tracking_categories,purchase_orders,payment_term")] + TrackingCategoriesPurchaseOrdersPaymentTerm, } diff --git a/src/Merge.Client/Accounting/Issues/IssuesClient.cs b/src/Merge.Client/Accounting/Issues/IssuesClient.cs index 3d5dccf9..b77280b8 100644 --- a/src/Merge.Client/Accounting/Issues/IssuesClient.cs +++ b/src/Merge.Client/Accounting/Issues/IssuesClient.cs @@ -17,12 +17,10 @@ internal IssuesClient(RawClient client) /// /// Gets all issues for Organization. /// - /// - /// + /// /// await client.Accounting.Issues.ListAsync(new IssuesListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( IssuesListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -94,8 +92,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["status"] = request.Status.Value.Stringify(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -106,69 +104,76 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Get a specific issue. /// - /// - /// + /// /// await client.Accounting.Issues.RetrieveAsync("id"); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"accounting/v1/issues/{id}", + Path = string.Format( + "accounting/v1/issues/{0}", + ValueConvert.ToPathParameterString(id) + ), Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Accounting/Issues/Requests/IssuesListRequest.cs b/src/Merge.Client/Accounting/Issues/Requests/IssuesListRequest.cs index ec9c076e..1188b622 100644 --- a/src/Merge.Client/Accounting/Issues/Requests/IssuesListRequest.cs +++ b/src/Merge.Client/Accounting/Issues/Requests/IssuesListRequest.cs @@ -1,73 +1,89 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; public record IssuesListRequest { + [JsonIgnore] public string? AccountToken { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// If included, will only include issues whose most recent action occurred before this time /// + [JsonIgnore] public string? EndDate { get; set; } + [JsonIgnore] public string? EndUserOrganizationName { get; set; } /// /// If provided, will only return issues whose first incident time was after this datetime. /// + [JsonIgnore] public DateTime? FirstIncidentTimeAfter { get; set; } /// /// If provided, will only return issues whose first incident time was before this datetime. /// + [JsonIgnore] public DateTime? FirstIncidentTimeBefore { get; set; } /// /// If true, will include muted issues /// + [JsonIgnore] public string? IncludeMuted { get; set; } + [JsonIgnore] public string? IntegrationName { get; set; } /// /// If provided, will only return issues whose last incident time was after this datetime. /// + [JsonIgnore] public DateTime? LastIncidentTimeAfter { get; set; } /// /// If provided, will only return issues whose last incident time was before this datetime. /// + [JsonIgnore] public DateTime? LastIncidentTimeBefore { get; set; } /// /// If provided, will only include issues pertaining to the linked account passed in. /// + [JsonIgnore] public string? LinkedAccountId { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// If included, will only include issues whose most recent action occurred after this time /// + [JsonIgnore] public string? StartDate { get; set; } /// /// Status of the issue. Options: ('ONGOING', 'RESOLVED') /// - /// - `ONGOING` - ONGOING - /// - `RESOLVED` - RESOLVED + /// * `ONGOING` - ONGOING + /// * `RESOLVED` - RESOLVED /// + [JsonIgnore] public IssuesListRequestStatus? Status { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Items/ItemsClient.cs b/src/Merge.Client/Accounting/Items/ItemsClient.cs index 6b473a3c..04d4edc3 100644 --- a/src/Merge.Client/Accounting/Items/ItemsClient.cs +++ b/src/Merge.Client/Accounting/Items/ItemsClient.cs @@ -17,12 +17,10 @@ internal ItemsClient(RawClient client) /// /// Returns a list of `Item` objects. /// - /// - /// + /// /// await client.Accounting.Items.ListAsync(new ItemsListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( ItemsListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -92,8 +90,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["show_enum_origins"] = request.ShowEnumOrigins.ToString(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -104,35 +102,36 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns an `Item` object with the given `id`. /// - /// - /// + /// /// await client.Accounting.Items.RetrieveAsync("id", new ItemsRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, ItemsRetrieveRequest request, RequestOptions? options = null, @@ -148,6 +147,10 @@ public async System.Threading.Tasks.Task RetrieveAsync( { _query["include_remote_data"] = JsonUtils.Serialize(request.IncludeRemoteData.Value); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } if (request.RemoteFields != null) { _query["remote_fields"] = request.RemoteFields.ToString(); @@ -157,35 +160,41 @@ public async System.Threading.Tasks.Task RetrieveAsync( _query["show_enum_origins"] = request.ShowEnumOrigins.ToString(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"accounting/v1/items/{id}", + Path = string.Format( + "accounting/v1/items/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Accounting/Items/Requests/ItemsListRequest.cs b/src/Merge.Client/Accounting/Items/Requests/ItemsListRequest.cs index e4036baa..136b1969 100644 --- a/src/Merge.Client/Accounting/Items/Requests/ItemsListRequest.cs +++ b/src/Merge.Client/Accounting/Items/Requests/ItemsListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,73 +8,88 @@ public record ItemsListRequest /// /// If provided, will only return items for this company. /// + [JsonIgnore] public string? CompanyId { get; set; } /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public ItemsListRequestExpand? Expand { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// Deprecated. Use show_enum_origins. /// + [JsonIgnore] public string? RemoteFields { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } /// /// A comma separated list of enum field names for which you'd like the original values to be returned, instead of Merge's normalized enum values. [Learn more](https://help.merge.dev/en/articles/8950958-show_enum_origins-query-parameter) /// + [JsonIgnore] public string? ShowEnumOrigins { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Items/Requests/ItemsRetrieveRequest.cs b/src/Merge.Client/Accounting/Items/Requests/ItemsRetrieveRequest.cs index 24d60e7b..245ee611 100644 --- a/src/Merge.Client/Accounting/Items/Requests/ItemsRetrieveRequest.cs +++ b/src/Merge.Client/Accounting/Items/Requests/ItemsRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,23 +8,34 @@ public record ItemsRetrieveRequest /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public ItemsRetrieveRequestExpand? Expand { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + /// /// Deprecated. Use show_enum_origins. /// + [JsonIgnore] public string? RemoteFields { get; set; } /// /// A comma separated list of enum field names for which you'd like the original values to be returned, instead of Merge's normalized enum values. [Learn more](https://help.merge.dev/en/articles/8950958-show_enum_origins-query-parameter) /// + [JsonIgnore] public string? ShowEnumOrigins { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/JournalEntries/JournalEntriesClient.cs b/src/Merge.Client/Accounting/JournalEntries/JournalEntriesClient.cs index 1ceb2615..89952d84 100644 --- a/src/Merge.Client/Accounting/JournalEntries/JournalEntriesClient.cs +++ b/src/Merge.Client/Accounting/JournalEntries/JournalEntriesClient.cs @@ -17,12 +17,10 @@ internal JournalEntriesClient(RawClient client) /// /// Returns a list of `JournalEntry` objects. /// - /// - /// + /// /// await client.Accounting.JournalEntries.ListAsync(new JournalEntriesListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( JournalEntriesListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -102,8 +100,8 @@ public async System.Threading.Tasks.Task ListAsync( ); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -114,37 +112,38 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Creates a `JournalEntry` object with the given values. /// - /// - /// + /// /// await client.Accounting.JournalEntries.CreateAsync( /// new JournalEntryEndpointRequest { Model = new JournalEntryRequest() } /// ); - /// - /// - public async System.Threading.Tasks.Task CreateAsync( + /// + public async Task CreateAsync( JournalEntryEndpointRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -159,15 +158,14 @@ public async System.Threading.Tasks.Task CreateAsync( { _query["run_async"] = JsonUtils.Serialize(request.RunAsync.Value); } - var requestBody = new Dictionary() { { "model", request.Model } }; var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, Path = "accounting/v1/journal-entries", - Body = requestBody, + Body = request, Query = _query, ContentType = "application/json", Options = options, @@ -175,35 +173,36 @@ public async System.Threading.Tasks.Task CreateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a `JournalEntry` object with the given `id`. /// - /// - /// + /// /// await client.Accounting.JournalEntries.RetrieveAsync("id", new JournalEntriesRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, JournalEntriesRetrieveRequest request, RequestOptions? options = null, @@ -225,50 +224,58 @@ public async System.Threading.Tasks.Task RetrieveAsync( request.IncludeRemoteFields.Value ); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"accounting/v1/journal-entries/{id}", + Path = string.Format( + "accounting/v1/journal-entries/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a list of `RemoteFieldClass` objects. /// - /// - /// + /// /// await client.Accounting.JournalEntries.LinesRemoteFieldClassesListAsync( /// new JournalEntriesLinesRemoteFieldClassesListRequest() /// ); - /// - /// - public async System.Threading.Tasks.Task LinesRemoteFieldClassesListAsync( + /// + public async Task LinesRemoteFieldClassesListAsync( JournalEntriesLinesRemoteFieldClassesListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -300,8 +307,8 @@ public async System.Threading.Tasks.Task LinesRem _query["page_size"] = request.PageSize.Value.ToString(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -312,42 +319,43 @@ public async System.Threading.Tasks.Task LinesRem cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns metadata for `JournalEntry` POSTs. /// - /// - /// + /// /// await client.Accounting.JournalEntries.MetaPostRetrieveAsync(); - /// - /// - public async System.Threading.Tasks.Task MetaPostRetrieveAsync( + /// + public async Task MetaPostRetrieveAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -357,37 +365,38 @@ public async System.Threading.Tasks.Task MetaPostRetrieveAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a list of `RemoteFieldClass` objects. /// - /// - /// + /// /// await client.Accounting.JournalEntries.RemoteFieldClassesListAsync( /// new JournalEntriesRemoteFieldClassesListRequest() /// ); - /// - /// - public async System.Threading.Tasks.Task RemoteFieldClassesListAsync( + /// + public async Task RemoteFieldClassesListAsync( JournalEntriesRemoteFieldClassesListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -419,8 +428,8 @@ public async System.Threading.Tasks.Task RemoteFi _query["page_size"] = request.PageSize.Value.ToString(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -431,23 +440,26 @@ public async System.Threading.Tasks.Task RemoteFi cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Accounting/JournalEntries/Requests/JournalEntriesLinesRemoteFieldClassesListRequest.cs b/src/Merge.Client/Accounting/JournalEntries/Requests/JournalEntriesLinesRemoteFieldClassesListRequest.cs index 4317ddde..72dcae6e 100644 --- a/src/Merge.Client/Accounting/JournalEntries/Requests/JournalEntriesLinesRemoteFieldClassesListRequest.cs +++ b/src/Merge.Client/Accounting/JournalEntries/Requests/JournalEntriesLinesRemoteFieldClassesListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,33 +8,40 @@ public record JournalEntriesLinesRemoteFieldClassesListRequest /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, will only return remote field classes with this is_common_model_field value /// + [JsonIgnore] public bool? IsCommonModelField { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/JournalEntries/Requests/JournalEntriesListRequest.cs b/src/Merge.Client/Accounting/JournalEntries/Requests/JournalEntriesListRequest.cs index 700a5b8d..8a17795a 100644 --- a/src/Merge.Client/Accounting/JournalEntries/Requests/JournalEntriesListRequest.cs +++ b/src/Merge.Client/Accounting/JournalEntries/Requests/JournalEntriesListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,78 +8,94 @@ public record JournalEntriesListRequest /// /// If provided, will only return journal entries for this company. /// + [JsonIgnore] public string? CompanyId { get; set; } /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public JournalEntriesListRequestExpand? Expand { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include all remote fields, including fields that Merge did not map to common models, in a normalized format. /// + [JsonIgnore] public bool? IncludeRemoteFields { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? TransactionDateAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? TransactionDateBefore { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/JournalEntries/Requests/JournalEntriesRemoteFieldClassesListRequest.cs b/src/Merge.Client/Accounting/JournalEntries/Requests/JournalEntriesRemoteFieldClassesListRequest.cs index 0d1b1b13..80117189 100644 --- a/src/Merge.Client/Accounting/JournalEntries/Requests/JournalEntriesRemoteFieldClassesListRequest.cs +++ b/src/Merge.Client/Accounting/JournalEntries/Requests/JournalEntriesRemoteFieldClassesListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,33 +8,40 @@ public record JournalEntriesRemoteFieldClassesListRequest /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, will only return remote field classes with this is_common_model_field value /// + [JsonIgnore] public bool? IsCommonModelField { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/JournalEntries/Requests/JournalEntriesRetrieveRequest.cs b/src/Merge.Client/Accounting/JournalEntries/Requests/JournalEntriesRetrieveRequest.cs index 4a950ea5..48608afc 100644 --- a/src/Merge.Client/Accounting/JournalEntries/Requests/JournalEntriesRetrieveRequest.cs +++ b/src/Merge.Client/Accounting/JournalEntries/Requests/JournalEntriesRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,18 +8,28 @@ public record JournalEntriesRetrieveRequest /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public JournalEntriesRetrieveRequestExpand? Expand { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include all remote fields, including fields that Merge did not map to common models, in a normalized format. /// + [JsonIgnore] public bool? IncludeRemoteFields { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/JournalEntries/Requests/JournalEntryEndpointRequest.cs b/src/Merge.Client/Accounting/JournalEntries/Requests/JournalEntryEndpointRequest.cs index 0c60ffcf..1de3fffc 100644 --- a/src/Merge.Client/Accounting/JournalEntries/Requests/JournalEntryEndpointRequest.cs +++ b/src/Merge.Client/Accounting/JournalEntries/Requests/JournalEntryEndpointRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,15 +8,19 @@ public record JournalEntryEndpointRequest /// /// Whether to include debug fields (such as log file links) in the response. /// + [JsonIgnore] public bool? IsDebugMode { get; set; } /// /// Whether or not third-party updates should be run asynchronously. /// + [JsonIgnore] public bool? RunAsync { get; set; } + [JsonPropertyName("model")] public required JournalEntryRequest Model { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/LinkToken/LinkTokenClient.cs b/src/Merge.Client/Accounting/LinkToken/LinkTokenClient.cs index dd511c4e..3d86fdfb 100644 --- a/src/Merge.Client/Accounting/LinkToken/LinkTokenClient.cs +++ b/src/Merge.Client/Accounting/LinkToken/LinkTokenClient.cs @@ -17,8 +17,7 @@ internal LinkTokenClient(RawClient client) /// /// Creates a link token to be used when linking a new end user. /// - /// - /// + /// /// await client.Accounting.LinkToken.CreateAsync( /// new EndUserDetailsRequest /// { @@ -32,17 +31,16 @@ internal LinkTokenClient(RawClient client) /// }, /// } /// ); - /// - /// - public async System.Threading.Tasks.Task CreateAsync( + /// + public async Task CreateAsync( EndUserDetailsRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, @@ -54,23 +52,26 @@ public async System.Threading.Tasks.Task CreateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Accounting/LinkToken/Requests/EndUserDetailsRequest.cs b/src/Merge.Client/Accounting/LinkToken/Requests/EndUserDetailsRequest.cs index afe6b30a..dec701a6 100644 --- a/src/Merge.Client/Accounting/LinkToken/Requests/EndUserDetailsRequest.cs +++ b/src/Merge.Client/Accounting/LinkToken/Requests/EndUserDetailsRequest.cs @@ -89,6 +89,7 @@ public Dictionary< [JsonPropertyName("integration_specific_config")] public Dictionary? IntegrationSpecificConfig { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/LinkedAccounts/LinkedAccountsClient.cs b/src/Merge.Client/Accounting/LinkedAccounts/LinkedAccountsClient.cs index 6b889602..bdd29ebe 100644 --- a/src/Merge.Client/Accounting/LinkedAccounts/LinkedAccountsClient.cs +++ b/src/Merge.Client/Accounting/LinkedAccounts/LinkedAccountsClient.cs @@ -17,12 +17,10 @@ internal LinkedAccountsClient(RawClient client) /// /// List linked accounts for your organization. /// - /// - /// + /// /// await client.Accounting.LinkedAccounts.ListAsync(new LinkedAccountsListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( LinkedAccountsListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -82,8 +80,8 @@ public async System.Threading.Tasks.Task _query["status"] = request.Status; } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -94,23 +92,26 @@ public async System.Threading.Tasks.Task cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Accounting/LinkedAccounts/Requests/LinkedAccountsListRequest.cs b/src/Merge.Client/Accounting/LinkedAccounts/Requests/LinkedAccountsListRequest.cs index fe08ddeb..5ee96ede 100644 --- a/src/Merge.Client/Accounting/LinkedAccounts/Requests/LinkedAccountsListRequest.cs +++ b/src/Merge.Client/Accounting/LinkedAccounts/Requests/LinkedAccountsListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,73 +8,87 @@ public record LinkedAccountsListRequest /// /// Options: `accounting`, `ats`, `crm`, `filestorage`, `hris`, `mktg`, `ticketing` /// - /// - `hris` - hris - /// - `ats` - ats - /// - `accounting` - accounting - /// - `ticketing` - ticketing - /// - `crm` - crm - /// - `mktg` - mktg - /// - `filestorage` - filestorage + /// * `hris` - hris + /// * `ats` - ats + /// * `accounting` - accounting + /// * `ticketing` - ticketing + /// * `crm` - crm + /// * `mktg` - mktg + /// * `filestorage` - filestorage /// + [JsonIgnore] public LinkedAccountsListRequestCategory? Category { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// If provided, will only return linked accounts associated with the given email address. /// + [JsonIgnore] public string? EndUserEmailAddress { get; set; } /// /// If provided, will only return linked accounts associated with the given organization name. /// + [JsonIgnore] public string? EndUserOrganizationName { get; set; } /// /// If provided, will only return linked accounts associated with the given origin ID. /// + [JsonIgnore] public string? EndUserOriginId { get; set; } /// /// Comma-separated list of EndUser origin IDs, making it possible to specify multiple EndUsers at once. /// + [JsonIgnore] public string? EndUserOriginIds { get; set; } + [JsonIgnore] public string? Id { get; set; } /// /// Comma-separated list of LinkedAccount IDs, making it possible to specify multiple LinkedAccounts at once. /// + [JsonIgnore] public string? Ids { get; set; } /// /// If `true`, will include complete production duplicates of the account specified by the `id` query parameter in the response. `id` must be for a complete production linked account. /// + [JsonIgnore] public bool? IncludeDuplicates { get; set; } /// /// If provided, will only return linked accounts associated with the given integration name. /// + [JsonIgnore] public string? IntegrationName { get; set; } /// /// If included, will only include test linked accounts. If not included, will only include non-test linked accounts. /// + [JsonIgnore] public string? IsTestAccount { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// Filter by status. Options: `COMPLETE`, `IDLE`, `INCOMPLETE`, `RELINK_NEEDED` /// + [JsonIgnore] public string? Status { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Passthrough/PassthroughClient.cs b/src/Merge.Client/Accounting/Passthrough/PassthroughClient.cs index 5af47b7a..09a486a2 100644 --- a/src/Merge.Client/Accounting/Passthrough/PassthroughClient.cs +++ b/src/Merge.Client/Accounting/Passthrough/PassthroughClient.cs @@ -17,8 +17,7 @@ internal PassthroughClient(RawClient client) /// /// Pull data from an endpoint not currently supported by Merge. /// - /// - /// + /// /// await client.Accounting.Passthrough.CreateAsync( /// new Merge.Client.Accounting.DataPassthroughRequest /// { @@ -26,17 +25,16 @@ internal PassthroughClient(RawClient client) /// Path = "/scooters", /// } /// ); - /// - /// - public async System.Threading.Tasks.Task CreateAsync( + /// + public async Task CreateAsync( DataPassthroughRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, @@ -48,23 +46,26 @@ public async System.Threading.Tasks.Task CreateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Accounting/PaymentMethods/PaymentMethodsClient.cs b/src/Merge.Client/Accounting/PaymentMethods/PaymentMethodsClient.cs new file mode 100644 index 00000000..ecdee2f9 --- /dev/null +++ b/src/Merge.Client/Accounting/PaymentMethods/PaymentMethodsClient.cs @@ -0,0 +1,146 @@ +using System.Net.Http; +using System.Text.Json; +using System.Threading; +using Merge.Client.Core; + +namespace Merge.Client.Accounting; + +public partial class PaymentMethodsClient +{ + private RawClient _client; + + internal PaymentMethodsClient(RawClient client) + { + _client = client; + } + + /// + /// Returns a list of `PaymentMethod` objects. + /// + /// + /// await client.Accounting.PaymentMethods.ListAsync(new PaymentMethodsListRequest()); + /// + public async Task ListAsync( + PaymentMethodsListRequest request, + RequestOptions? options = null, + CancellationToken cancellationToken = default + ) + { + var _query = new Dictionary(); + if (request.Cursor != null) + { + _query["cursor"] = request.Cursor; + } + if (request.IncludeDeletedData != null) + { + _query["include_deleted_data"] = JsonUtils.Serialize(request.IncludeDeletedData.Value); + } + if (request.IncludeRemoteData != null) + { + _query["include_remote_data"] = JsonUtils.Serialize(request.IncludeRemoteData.Value); + } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } + if (request.PageSize != null) + { + _query["page_size"] = request.PageSize.Value.ToString(); + } + var response = await _client + .SendRequestAsync( + new JsonRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = "accounting/v1/payment-methods", + Query = _query, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); + if (response.StatusCode is >= 200 and < 400) + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + try + { + return JsonUtils.Deserialize(responseBody)!; + } + catch (JsonException e) + { + throw new BaseMergeClientException("Failed to deserialize response", e); + } + } + + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } + } + + /// + /// Returns a `PaymentMethod` object with the given `id`. + /// + /// + /// await client.Accounting.PaymentMethods.RetrieveAsync("id", new PaymentMethodsRetrieveRequest()); + /// + public async Task RetrieveAsync( + string id, + PaymentMethodsRetrieveRequest request, + RequestOptions? options = null, + CancellationToken cancellationToken = default + ) + { + var _query = new Dictionary(); + if (request.IncludeRemoteData != null) + { + _query["include_remote_data"] = JsonUtils.Serialize(request.IncludeRemoteData.Value); + } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } + var response = await _client + .SendRequestAsync( + new JsonRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = string.Format( + "accounting/v1/payment-methods/{0}", + ValueConvert.ToPathParameterString(id) + ), + Query = _query, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); + if (response.StatusCode is >= 200 and < 400) + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + try + { + return JsonUtils.Deserialize(responseBody)!; + } + catch (JsonException e) + { + throw new BaseMergeClientException("Failed to deserialize response", e); + } + } + + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } + } +} diff --git a/src/Merge.Client/Accounting/PaymentMethods/Requests/PaymentMethodsListRequest.cs b/src/Merge.Client/Accounting/PaymentMethods/Requests/PaymentMethodsListRequest.cs new file mode 100644 index 00000000..7f7f2b1e --- /dev/null +++ b/src/Merge.Client/Accounting/PaymentMethods/Requests/PaymentMethodsListRequest.cs @@ -0,0 +1,43 @@ +using System.Text.Json.Serialization; +using Merge.Client.Core; + +namespace Merge.Client.Accounting; + +public record PaymentMethodsListRequest +{ + /// + /// The pagination cursor value. + /// + [JsonIgnore] + public string? Cursor { get; set; } + + /// + /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). + /// + [JsonIgnore] + public bool? IncludeDeletedData { get; set; } + + /// + /// Whether to include the original data Merge fetched from the third-party to produce these models. + /// + [JsonIgnore] + public bool? IncludeRemoteData { get; set; } + + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + + /// + /// Number of results to return per page. + /// + [JsonIgnore] + public int? PageSize { get; set; } + + /// + public override string ToString() + { + return JsonUtils.Serialize(this); + } +} diff --git a/src/Merge.Client/Accounting/PaymentMethods/Requests/PaymentMethodsRetrieveRequest.cs b/src/Merge.Client/Accounting/PaymentMethods/Requests/PaymentMethodsRetrieveRequest.cs new file mode 100644 index 00000000..536ff63a --- /dev/null +++ b/src/Merge.Client/Accounting/PaymentMethods/Requests/PaymentMethodsRetrieveRequest.cs @@ -0,0 +1,25 @@ +using System.Text.Json.Serialization; +using Merge.Client.Core; + +namespace Merge.Client.Accounting; + +public record PaymentMethodsRetrieveRequest +{ + /// + /// Whether to include the original data Merge fetched from the third-party to produce these models. + /// + [JsonIgnore] + public bool? IncludeRemoteData { get; set; } + + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + + /// + public override string ToString() + { + return JsonUtils.Serialize(this); + } +} diff --git a/src/Merge.Client/Accounting/PaymentTerms/PaymentTermsClient.cs b/src/Merge.Client/Accounting/PaymentTerms/PaymentTermsClient.cs new file mode 100644 index 00000000..239a6faf --- /dev/null +++ b/src/Merge.Client/Accounting/PaymentTerms/PaymentTermsClient.cs @@ -0,0 +1,154 @@ +using System.Net.Http; +using System.Text.Json; +using System.Threading; +using Merge.Client.Core; + +namespace Merge.Client.Accounting; + +public partial class PaymentTermsClient +{ + private RawClient _client; + + internal PaymentTermsClient(RawClient client) + { + _client = client; + } + + /// + /// Returns a list of `PaymentTerm` objects. + /// + /// + /// await client.Accounting.PaymentTerms.ListAsync(new PaymentTermsListRequest()); + /// + public async Task ListAsync( + PaymentTermsListRequest request, + RequestOptions? options = null, + CancellationToken cancellationToken = default + ) + { + var _query = new Dictionary(); + if (request.Cursor != null) + { + _query["cursor"] = request.Cursor; + } + if (request.Expand != null) + { + _query["expand"] = request.Expand.ToString(); + } + if (request.IncludeDeletedData != null) + { + _query["include_deleted_data"] = JsonUtils.Serialize(request.IncludeDeletedData.Value); + } + if (request.IncludeRemoteData != null) + { + _query["include_remote_data"] = JsonUtils.Serialize(request.IncludeRemoteData.Value); + } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } + if (request.PageSize != null) + { + _query["page_size"] = request.PageSize.Value.ToString(); + } + var response = await _client + .SendRequestAsync( + new JsonRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = "accounting/v1/payment-terms", + Query = _query, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); + if (response.StatusCode is >= 200 and < 400) + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + try + { + return JsonUtils.Deserialize(responseBody)!; + } + catch (JsonException e) + { + throw new BaseMergeClientException("Failed to deserialize response", e); + } + } + + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } + } + + /// + /// Returns a `PaymentTerm` object with the given `id`. + /// + /// + /// await client.Accounting.PaymentTerms.RetrieveAsync("id", new PaymentTermsRetrieveRequest()); + /// + public async Task RetrieveAsync( + string id, + PaymentTermsRetrieveRequest request, + RequestOptions? options = null, + CancellationToken cancellationToken = default + ) + { + var _query = new Dictionary(); + if (request.Expand != null) + { + _query["expand"] = request.Expand.ToString(); + } + if (request.IncludeRemoteData != null) + { + _query["include_remote_data"] = JsonUtils.Serialize(request.IncludeRemoteData.Value); + } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } + var response = await _client + .SendRequestAsync( + new JsonRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = string.Format( + "accounting/v1/payment-terms/{0}", + ValueConvert.ToPathParameterString(id) + ), + Query = _query, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); + if (response.StatusCode is >= 200 and < 400) + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + try + { + return JsonUtils.Deserialize(responseBody)!; + } + catch (JsonException e) + { + throw new BaseMergeClientException("Failed to deserialize response", e); + } + } + + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } + } +} diff --git a/src/Merge.Client/Accounting/PaymentTerms/Requests/PaymentTermsListRequest.cs b/src/Merge.Client/Accounting/PaymentTerms/Requests/PaymentTermsListRequest.cs new file mode 100644 index 00000000..f1f6ed54 --- /dev/null +++ b/src/Merge.Client/Accounting/PaymentTerms/Requests/PaymentTermsListRequest.cs @@ -0,0 +1,49 @@ +using System.Text.Json.Serialization; +using Merge.Client.Core; + +namespace Merge.Client.Accounting; + +public record PaymentTermsListRequest +{ + /// + /// The pagination cursor value. + /// + [JsonIgnore] + public string? Cursor { get; set; } + + /// + /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. + /// + [JsonIgnore] + public string? Expand { get; set; } + + /// + /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). + /// + [JsonIgnore] + public bool? IncludeDeletedData { get; set; } + + /// + /// Whether to include the original data Merge fetched from the third-party to produce these models. + /// + [JsonIgnore] + public bool? IncludeRemoteData { get; set; } + + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + + /// + /// Number of results to return per page. + /// + [JsonIgnore] + public int? PageSize { get; set; } + + /// + public override string ToString() + { + return JsonUtils.Serialize(this); + } +} diff --git a/src/Merge.Client/Accounting/PaymentTerms/Requests/PaymentTermsRetrieveRequest.cs b/src/Merge.Client/Accounting/PaymentTerms/Requests/PaymentTermsRetrieveRequest.cs new file mode 100644 index 00000000..1e24c8b0 --- /dev/null +++ b/src/Merge.Client/Accounting/PaymentTerms/Requests/PaymentTermsRetrieveRequest.cs @@ -0,0 +1,31 @@ +using System.Text.Json.Serialization; +using Merge.Client.Core; + +namespace Merge.Client.Accounting; + +public record PaymentTermsRetrieveRequest +{ + /// + /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. + /// + [JsonIgnore] + public string? Expand { get; set; } + + /// + /// Whether to include the original data Merge fetched from the third-party to produce these models. + /// + [JsonIgnore] + public bool? IncludeRemoteData { get; set; } + + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + + /// + public override string ToString() + { + return JsonUtils.Serialize(this); + } +} diff --git a/src/Merge.Client/Accounting/Payments/PaymentsClient.cs b/src/Merge.Client/Accounting/Payments/PaymentsClient.cs index 9b5070b7..2a0124ca 100644 --- a/src/Merge.Client/Accounting/Payments/PaymentsClient.cs +++ b/src/Merge.Client/Accounting/Payments/PaymentsClient.cs @@ -17,12 +17,10 @@ internal PaymentsClient(RawClient client) /// /// Returns a list of `Payment` objects. /// - /// - /// + /// /// await client.Accounting.Payments.ListAsync(new PaymentsListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( PaymentsListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -110,8 +108,8 @@ public async System.Threading.Tasks.Task ListAsync( ); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -122,37 +120,38 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Creates a `Payment` object with the given values. /// - /// - /// + /// /// await client.Accounting.Payments.CreateAsync( /// new PaymentEndpointRequest { Model = new PaymentRequest() } /// ); - /// - /// - public async System.Threading.Tasks.Task CreateAsync( + /// + public async Task CreateAsync( PaymentEndpointRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -167,15 +166,14 @@ public async System.Threading.Tasks.Task CreateAsync( { _query["run_async"] = JsonUtils.Serialize(request.RunAsync.Value); } - var requestBody = new Dictionary() { { "model", request.Model } }; var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, Path = "accounting/v1/payments", - Body = requestBody, + Body = request, Query = _query, ContentType = "application/json", Options = options, @@ -183,35 +181,36 @@ public async System.Threading.Tasks.Task CreateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a `Payment` object with the given `id`. /// - /// - /// + /// /// await client.Accounting.Payments.RetrieveAsync("id", new PaymentsRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, PaymentsRetrieveRequest request, RequestOptions? options = null, @@ -233,51 +232,59 @@ public async System.Threading.Tasks.Task RetrieveAsync( request.IncludeRemoteFields.Value ); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"accounting/v1/payments/{id}", + Path = string.Format( + "accounting/v1/payments/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Updates a `Payment` object with the given `id`. /// - /// - /// + /// /// await client.Accounting.Payments.PartialUpdateAsync( /// "id", /// new PatchedPaymentEndpointRequest { Model = new PatchedPaymentRequest() } /// ); - /// - /// - public async System.Threading.Tasks.Task PartialUpdateAsync( + /// + public async Task PartialUpdateAsync( string id, PatchedPaymentEndpointRequest request, RequestOptions? options = null, @@ -293,15 +300,17 @@ public async System.Threading.Tasks.Task PartialUpdateAsync( { _query["run_async"] = JsonUtils.Serialize(request.RunAsync.Value); } - var requestBody = new Dictionary() { { "model", request.Model } }; var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethodExtensions.Patch, - Path = $"accounting/v1/payments/{id}", - Body = requestBody, + Path = string.Format( + "accounting/v1/payments/{0}", + ValueConvert.ToPathParameterString(id) + ), + Body = request, Query = _query, ContentType = "application/json", Options = options, @@ -309,37 +318,38 @@ public async System.Threading.Tasks.Task PartialUpdateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a list of `RemoteFieldClass` objects. /// - /// - /// + /// /// await client.Accounting.Payments.LineItemsRemoteFieldClassesListAsync( /// new PaymentsLineItemsRemoteFieldClassesListRequest() /// ); - /// - /// - public async System.Threading.Tasks.Task LineItemsRemoteFieldClassesListAsync( + /// + public async Task LineItemsRemoteFieldClassesListAsync( PaymentsLineItemsRemoteFieldClassesListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -371,8 +381,8 @@ public async System.Threading.Tasks.Task LineItem _query["page_size"] = request.PageSize.Value.ToString(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -383,88 +393,93 @@ public async System.Threading.Tasks.Task LineItem cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns metadata for `Payment` PATCHs. /// - /// - /// + /// /// await client.Accounting.Payments.MetaPatchRetrieveAsync("id"); - /// - /// - public async System.Threading.Tasks.Task MetaPatchRetrieveAsync( + /// + public async Task MetaPatchRetrieveAsync( string id, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"accounting/v1/payments/meta/patch/{id}", + Path = string.Format( + "accounting/v1/payments/meta/patch/{0}", + ValueConvert.ToPathParameterString(id) + ), Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns metadata for `Payment` POSTs. /// - /// - /// + /// /// await client.Accounting.Payments.MetaPostRetrieveAsync(); - /// - /// - public async System.Threading.Tasks.Task MetaPostRetrieveAsync( + /// + public async Task MetaPostRetrieveAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -474,37 +489,38 @@ public async System.Threading.Tasks.Task MetaPostRetrieveAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a list of `RemoteFieldClass` objects. /// - /// - /// + /// /// await client.Accounting.Payments.RemoteFieldClassesListAsync( /// new PaymentsRemoteFieldClassesListRequest() /// ); - /// - /// - public async System.Threading.Tasks.Task RemoteFieldClassesListAsync( + /// + public async Task RemoteFieldClassesListAsync( PaymentsRemoteFieldClassesListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -536,8 +552,8 @@ public async System.Threading.Tasks.Task RemoteFi _query["page_size"] = request.PageSize.Value.ToString(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -548,23 +564,26 @@ public async System.Threading.Tasks.Task RemoteFi cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Accounting/Payments/Requests/PatchedPaymentEndpointRequest.cs b/src/Merge.Client/Accounting/Payments/Requests/PatchedPaymentEndpointRequest.cs index 6d93ec28..f0cab474 100644 --- a/src/Merge.Client/Accounting/Payments/Requests/PatchedPaymentEndpointRequest.cs +++ b/src/Merge.Client/Accounting/Payments/Requests/PatchedPaymentEndpointRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,15 +8,19 @@ public record PatchedPaymentEndpointRequest /// /// Whether to include debug fields (such as log file links) in the response. /// + [JsonIgnore] public bool? IsDebugMode { get; set; } /// /// Whether or not third-party updates should be run asynchronously. /// + [JsonIgnore] public bool? RunAsync { get; set; } + [JsonPropertyName("model")] public required PatchedPaymentRequest Model { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Payments/Requests/PaymentEndpointRequest.cs b/src/Merge.Client/Accounting/Payments/Requests/PaymentEndpointRequest.cs index e93a4299..bdc020f3 100644 --- a/src/Merge.Client/Accounting/Payments/Requests/PaymentEndpointRequest.cs +++ b/src/Merge.Client/Accounting/Payments/Requests/PaymentEndpointRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,15 +8,19 @@ public record PaymentEndpointRequest /// /// Whether to include debug fields (such as log file links) in the response. /// + [JsonIgnore] public bool? IsDebugMode { get; set; } /// /// Whether or not third-party updates should be run asynchronously. /// + [JsonIgnore] public bool? RunAsync { get; set; } + [JsonPropertyName("model")] public required PaymentRequest Model { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Payments/Requests/PaymentsLineItemsRemoteFieldClassesListRequest.cs b/src/Merge.Client/Accounting/Payments/Requests/PaymentsLineItemsRemoteFieldClassesListRequest.cs index 86b189f7..722eb644 100644 --- a/src/Merge.Client/Accounting/Payments/Requests/PaymentsLineItemsRemoteFieldClassesListRequest.cs +++ b/src/Merge.Client/Accounting/Payments/Requests/PaymentsLineItemsRemoteFieldClassesListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,33 +8,40 @@ public record PaymentsLineItemsRemoteFieldClassesListRequest /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, will only return remote field classes with this is_common_model_field value /// + [JsonIgnore] public bool? IsCommonModelField { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Payments/Requests/PaymentsListRequest.cs b/src/Merge.Client/Accounting/Payments/Requests/PaymentsListRequest.cs index eeae3a67..e0e0b06b 100644 --- a/src/Merge.Client/Accounting/Payments/Requests/PaymentsListRequest.cs +++ b/src/Merge.Client/Accounting/Payments/Requests/PaymentsListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,88 +8,106 @@ public record PaymentsListRequest /// /// If provided, will only return payments for this account. /// + [JsonIgnore] public string? AccountId { get; set; } /// /// If provided, will only return payments for this company. /// + [JsonIgnore] public string? CompanyId { get; set; } /// /// If provided, will only return payments for this contact. /// + [JsonIgnore] public string? ContactId { get; set; } /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public PaymentsListRequestExpand? Expand { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include all remote fields, including fields that Merge did not map to common models, in a normalized format. /// + [JsonIgnore] public bool? IncludeRemoteFields { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? TransactionDateAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? TransactionDateBefore { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Payments/Requests/PaymentsRemoteFieldClassesListRequest.cs b/src/Merge.Client/Accounting/Payments/Requests/PaymentsRemoteFieldClassesListRequest.cs index 6a5d42cc..47f60cb0 100644 --- a/src/Merge.Client/Accounting/Payments/Requests/PaymentsRemoteFieldClassesListRequest.cs +++ b/src/Merge.Client/Accounting/Payments/Requests/PaymentsRemoteFieldClassesListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,33 +8,40 @@ public record PaymentsRemoteFieldClassesListRequest /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, will only return remote field classes with this is_common_model_field value /// + [JsonIgnore] public bool? IsCommonModelField { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Payments/Requests/PaymentsRetrieveRequest.cs b/src/Merge.Client/Accounting/Payments/Requests/PaymentsRetrieveRequest.cs index c254e824..1a795a38 100644 --- a/src/Merge.Client/Accounting/Payments/Requests/PaymentsRetrieveRequest.cs +++ b/src/Merge.Client/Accounting/Payments/Requests/PaymentsRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,18 +8,28 @@ public record PaymentsRetrieveRequest /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public PaymentsRetrieveRequestExpand? Expand { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include all remote fields, including fields that Merge did not map to common models, in a normalized format. /// + [JsonIgnore] public bool? IncludeRemoteFields { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Payments/Types/PaymentsListRequestExpand.cs b/src/Merge.Client/Accounting/Payments/Types/PaymentsListRequestExpand.cs index cba5ae63..90599ec1 100644 --- a/src/Merge.Client/Accounting/Payments/Types/PaymentsListRequestExpand.cs +++ b/src/Merge.Client/Accounting/Payments/Types/PaymentsListRequestExpand.cs @@ -13,15 +13,30 @@ public enum PaymentsListRequestExpand [EnumMember(Value = "account,accounting_period")] AccountAccountingPeriod, + [EnumMember(Value = "account,accounting_period,payment_method")] + AccountAccountingPeriodPaymentMethod, + [EnumMember(Value = "account,company")] AccountCompany, [EnumMember(Value = "account,company,accounting_period")] AccountCompanyAccountingPeriod, + [EnumMember(Value = "account,company,accounting_period,payment_method")] + AccountCompanyAccountingPeriodPaymentMethod, + + [EnumMember(Value = "account,company,payment_method")] + AccountCompanyPaymentMethod, + + [EnumMember(Value = "account,payment_method")] + AccountPaymentMethod, + [EnumMember(Value = "accounting_period")] AccountingPeriod, + [EnumMember(Value = "accounting_period,payment_method")] + AccountingPeriodPaymentMethod, + [EnumMember(Value = "applied_to_lines")] AppliedToLines, @@ -31,21 +46,42 @@ public enum PaymentsListRequestExpand [EnumMember(Value = "applied_to_lines,account,accounting_period")] AppliedToLinesAccountAccountingPeriod, + [EnumMember(Value = "applied_to_lines,account,accounting_period,payment_method")] + AppliedToLinesAccountAccountingPeriodPaymentMethod, + [EnumMember(Value = "applied_to_lines,account,company")] AppliedToLinesAccountCompany, [EnumMember(Value = "applied_to_lines,account,company,accounting_period")] AppliedToLinesAccountCompanyAccountingPeriod, + [EnumMember(Value = "applied_to_lines,account,company,accounting_period,payment_method")] + AppliedToLinesAccountCompanyAccountingPeriodPaymentMethod, + + [EnumMember(Value = "applied_to_lines,account,company,payment_method")] + AppliedToLinesAccountCompanyPaymentMethod, + + [EnumMember(Value = "applied_to_lines,account,payment_method")] + AppliedToLinesAccountPaymentMethod, + [EnumMember(Value = "applied_to_lines,accounting_period")] AppliedToLinesAccountingPeriod, + [EnumMember(Value = "applied_to_lines,accounting_period,payment_method")] + AppliedToLinesAccountingPeriodPaymentMethod, + [EnumMember(Value = "applied_to_lines,company")] AppliedToLinesCompany, [EnumMember(Value = "applied_to_lines,company,accounting_period")] AppliedToLinesCompanyAccountingPeriod, + [EnumMember(Value = "applied_to_lines,company,accounting_period,payment_method")] + AppliedToLinesCompanyAccountingPeriodPaymentMethod, + + [EnumMember(Value = "applied_to_lines,company,payment_method")] + AppliedToLinesCompanyPaymentMethod, + [EnumMember(Value = "applied_to_lines,contact")] AppliedToLinesContact, @@ -55,27 +91,62 @@ public enum PaymentsListRequestExpand [EnumMember(Value = "applied_to_lines,contact,account,accounting_period")] AppliedToLinesContactAccountAccountingPeriod, + [EnumMember(Value = "applied_to_lines,contact,account,accounting_period,payment_method")] + AppliedToLinesContactAccountAccountingPeriodPaymentMethod, + [EnumMember(Value = "applied_to_lines,contact,account,company")] AppliedToLinesContactAccountCompany, [EnumMember(Value = "applied_to_lines,contact,account,company,accounting_period")] AppliedToLinesContactAccountCompanyAccountingPeriod, + [EnumMember( + Value = "applied_to_lines,contact,account,company,accounting_period,payment_method" + )] + AppliedToLinesContactAccountCompanyAccountingPeriodPaymentMethod, + + [EnumMember(Value = "applied_to_lines,contact,account,company,payment_method")] + AppliedToLinesContactAccountCompanyPaymentMethod, + + [EnumMember(Value = "applied_to_lines,contact,account,payment_method")] + AppliedToLinesContactAccountPaymentMethod, + [EnumMember(Value = "applied_to_lines,contact,accounting_period")] AppliedToLinesContactAccountingPeriod, + [EnumMember(Value = "applied_to_lines,contact,accounting_period,payment_method")] + AppliedToLinesContactAccountingPeriodPaymentMethod, + [EnumMember(Value = "applied_to_lines,contact,company")] AppliedToLinesContactCompany, [EnumMember(Value = "applied_to_lines,contact,company,accounting_period")] AppliedToLinesContactCompanyAccountingPeriod, + [EnumMember(Value = "applied_to_lines,contact,company,accounting_period,payment_method")] + AppliedToLinesContactCompanyAccountingPeriodPaymentMethod, + + [EnumMember(Value = "applied_to_lines,contact,company,payment_method")] + AppliedToLinesContactCompanyPaymentMethod, + + [EnumMember(Value = "applied_to_lines,contact,payment_method")] + AppliedToLinesContactPaymentMethod, + + [EnumMember(Value = "applied_to_lines,payment_method")] + AppliedToLinesPaymentMethod, + [EnumMember(Value = "company")] Company, [EnumMember(Value = "company,accounting_period")] CompanyAccountingPeriod, + [EnumMember(Value = "company,accounting_period,payment_method")] + CompanyAccountingPeriodPaymentMethod, + + [EnumMember(Value = "company,payment_method")] + CompanyPaymentMethod, + [EnumMember(Value = "contact")] Contact, @@ -85,21 +156,48 @@ public enum PaymentsListRequestExpand [EnumMember(Value = "contact,account,accounting_period")] ContactAccountAccountingPeriod, + [EnumMember(Value = "contact,account,accounting_period,payment_method")] + ContactAccountAccountingPeriodPaymentMethod, + [EnumMember(Value = "contact,account,company")] ContactAccountCompany, [EnumMember(Value = "contact,account,company,accounting_period")] ContactAccountCompanyAccountingPeriod, + [EnumMember(Value = "contact,account,company,accounting_period,payment_method")] + ContactAccountCompanyAccountingPeriodPaymentMethod, + + [EnumMember(Value = "contact,account,company,payment_method")] + ContactAccountCompanyPaymentMethod, + + [EnumMember(Value = "contact,account,payment_method")] + ContactAccountPaymentMethod, + [EnumMember(Value = "contact,accounting_period")] ContactAccountingPeriod, + [EnumMember(Value = "contact,accounting_period,payment_method")] + ContactAccountingPeriodPaymentMethod, + [EnumMember(Value = "contact,company")] ContactCompany, [EnumMember(Value = "contact,company,accounting_period")] ContactCompanyAccountingPeriod, + [EnumMember(Value = "contact,company,accounting_period,payment_method")] + ContactCompanyAccountingPeriodPaymentMethod, + + [EnumMember(Value = "contact,company,payment_method")] + ContactCompanyPaymentMethod, + + [EnumMember(Value = "contact,payment_method")] + ContactPaymentMethod, + + [EnumMember(Value = "payment_method")] + PaymentMethod, + [EnumMember(Value = "tracking_categories")] TrackingCategories, @@ -109,15 +207,30 @@ public enum PaymentsListRequestExpand [EnumMember(Value = "tracking_categories,account,accounting_period")] TrackingCategoriesAccountAccountingPeriod, + [EnumMember(Value = "tracking_categories,account,accounting_period,payment_method")] + TrackingCategoriesAccountAccountingPeriodPaymentMethod, + [EnumMember(Value = "tracking_categories,account,company")] TrackingCategoriesAccountCompany, [EnumMember(Value = "tracking_categories,account,company,accounting_period")] TrackingCategoriesAccountCompanyAccountingPeriod, + [EnumMember(Value = "tracking_categories,account,company,accounting_period,payment_method")] + TrackingCategoriesAccountCompanyAccountingPeriodPaymentMethod, + + [EnumMember(Value = "tracking_categories,account,company,payment_method")] + TrackingCategoriesAccountCompanyPaymentMethod, + + [EnumMember(Value = "tracking_categories,account,payment_method")] + TrackingCategoriesAccountPaymentMethod, + [EnumMember(Value = "tracking_categories,accounting_period")] TrackingCategoriesAccountingPeriod, + [EnumMember(Value = "tracking_categories,accounting_period,payment_method")] + TrackingCategoriesAccountingPeriodPaymentMethod, + [EnumMember(Value = "tracking_categories,applied_to_lines")] TrackingCategoriesAppliedToLines, @@ -127,21 +240,48 @@ public enum PaymentsListRequestExpand [EnumMember(Value = "tracking_categories,applied_to_lines,account,accounting_period")] TrackingCategoriesAppliedToLinesAccountAccountingPeriod, + [EnumMember( + Value = "tracking_categories,applied_to_lines,account,accounting_period,payment_method" + )] + TrackingCategoriesAppliedToLinesAccountAccountingPeriodPaymentMethod, + [EnumMember(Value = "tracking_categories,applied_to_lines,account,company")] TrackingCategoriesAppliedToLinesAccountCompany, [EnumMember(Value = "tracking_categories,applied_to_lines,account,company,accounting_period")] TrackingCategoriesAppliedToLinesAccountCompanyAccountingPeriod, + [EnumMember( + Value = "tracking_categories,applied_to_lines,account,company,accounting_period,payment_method" + )] + TrackingCategoriesAppliedToLinesAccountCompanyAccountingPeriodPaymentMethod, + + [EnumMember(Value = "tracking_categories,applied_to_lines,account,company,payment_method")] + TrackingCategoriesAppliedToLinesAccountCompanyPaymentMethod, + + [EnumMember(Value = "tracking_categories,applied_to_lines,account,payment_method")] + TrackingCategoriesAppliedToLinesAccountPaymentMethod, + [EnumMember(Value = "tracking_categories,applied_to_lines,accounting_period")] TrackingCategoriesAppliedToLinesAccountingPeriod, + [EnumMember(Value = "tracking_categories,applied_to_lines,accounting_period,payment_method")] + TrackingCategoriesAppliedToLinesAccountingPeriodPaymentMethod, + [EnumMember(Value = "tracking_categories,applied_to_lines,company")] TrackingCategoriesAppliedToLinesCompany, [EnumMember(Value = "tracking_categories,applied_to_lines,company,accounting_period")] TrackingCategoriesAppliedToLinesCompanyAccountingPeriod, + [EnumMember( + Value = "tracking_categories,applied_to_lines,company,accounting_period,payment_method" + )] + TrackingCategoriesAppliedToLinesCompanyAccountingPeriodPaymentMethod, + + [EnumMember(Value = "tracking_categories,applied_to_lines,company,payment_method")] + TrackingCategoriesAppliedToLinesCompanyPaymentMethod, + [EnumMember(Value = "tracking_categories,applied_to_lines,contact")] TrackingCategoriesAppliedToLinesContact, @@ -151,6 +291,11 @@ public enum PaymentsListRequestExpand [EnumMember(Value = "tracking_categories,applied_to_lines,contact,account,accounting_period")] TrackingCategoriesAppliedToLinesContactAccountAccountingPeriod, + [EnumMember( + Value = "tracking_categories,applied_to_lines,contact,account,accounting_period,payment_method" + )] + TrackingCategoriesAppliedToLinesContactAccountAccountingPeriodPaymentMethod, + [EnumMember(Value = "tracking_categories,applied_to_lines,contact,account,company")] TrackingCategoriesAppliedToLinesContactAccountCompany, @@ -159,21 +304,59 @@ public enum PaymentsListRequestExpand )] TrackingCategoriesAppliedToLinesContactAccountCompanyAccountingPeriod, + [EnumMember( + Value = "tracking_categories,applied_to_lines,contact,account,company,accounting_period,payment_method" + )] + TrackingCategoriesAppliedToLinesContactAccountCompanyAccountingPeriodPaymentMethod, + + [EnumMember( + Value = "tracking_categories,applied_to_lines,contact,account,company,payment_method" + )] + TrackingCategoriesAppliedToLinesContactAccountCompanyPaymentMethod, + + [EnumMember(Value = "tracking_categories,applied_to_lines,contact,account,payment_method")] + TrackingCategoriesAppliedToLinesContactAccountPaymentMethod, + [EnumMember(Value = "tracking_categories,applied_to_lines,contact,accounting_period")] TrackingCategoriesAppliedToLinesContactAccountingPeriod, + [EnumMember( + Value = "tracking_categories,applied_to_lines,contact,accounting_period,payment_method" + )] + TrackingCategoriesAppliedToLinesContactAccountingPeriodPaymentMethod, + [EnumMember(Value = "tracking_categories,applied_to_lines,contact,company")] TrackingCategoriesAppliedToLinesContactCompany, [EnumMember(Value = "tracking_categories,applied_to_lines,contact,company,accounting_period")] TrackingCategoriesAppliedToLinesContactCompanyAccountingPeriod, + [EnumMember( + Value = "tracking_categories,applied_to_lines,contact,company,accounting_period,payment_method" + )] + TrackingCategoriesAppliedToLinesContactCompanyAccountingPeriodPaymentMethod, + + [EnumMember(Value = "tracking_categories,applied_to_lines,contact,company,payment_method")] + TrackingCategoriesAppliedToLinesContactCompanyPaymentMethod, + + [EnumMember(Value = "tracking_categories,applied_to_lines,contact,payment_method")] + TrackingCategoriesAppliedToLinesContactPaymentMethod, + + [EnumMember(Value = "tracking_categories,applied_to_lines,payment_method")] + TrackingCategoriesAppliedToLinesPaymentMethod, + [EnumMember(Value = "tracking_categories,company")] TrackingCategoriesCompany, [EnumMember(Value = "tracking_categories,company,accounting_period")] TrackingCategoriesCompanyAccountingPeriod, + [EnumMember(Value = "tracking_categories,company,accounting_period,payment_method")] + TrackingCategoriesCompanyAccountingPeriodPaymentMethod, + + [EnumMember(Value = "tracking_categories,company,payment_method")] + TrackingCategoriesCompanyPaymentMethod, + [EnumMember(Value = "tracking_categories,contact")] TrackingCategoriesContact, @@ -183,18 +366,47 @@ public enum PaymentsListRequestExpand [EnumMember(Value = "tracking_categories,contact,account,accounting_period")] TrackingCategoriesContactAccountAccountingPeriod, + [EnumMember(Value = "tracking_categories,contact,account,accounting_period,payment_method")] + TrackingCategoriesContactAccountAccountingPeriodPaymentMethod, + [EnumMember(Value = "tracking_categories,contact,account,company")] TrackingCategoriesContactAccountCompany, [EnumMember(Value = "tracking_categories,contact,account,company,accounting_period")] TrackingCategoriesContactAccountCompanyAccountingPeriod, + [EnumMember( + Value = "tracking_categories,contact,account,company,accounting_period,payment_method" + )] + TrackingCategoriesContactAccountCompanyAccountingPeriodPaymentMethod, + + [EnumMember(Value = "tracking_categories,contact,account,company,payment_method")] + TrackingCategoriesContactAccountCompanyPaymentMethod, + + [EnumMember(Value = "tracking_categories,contact,account,payment_method")] + TrackingCategoriesContactAccountPaymentMethod, + [EnumMember(Value = "tracking_categories,contact,accounting_period")] TrackingCategoriesContactAccountingPeriod, + [EnumMember(Value = "tracking_categories,contact,accounting_period,payment_method")] + TrackingCategoriesContactAccountingPeriodPaymentMethod, + [EnumMember(Value = "tracking_categories,contact,company")] TrackingCategoriesContactCompany, [EnumMember(Value = "tracking_categories,contact,company,accounting_period")] TrackingCategoriesContactCompanyAccountingPeriod, + + [EnumMember(Value = "tracking_categories,contact,company,accounting_period,payment_method")] + TrackingCategoriesContactCompanyAccountingPeriodPaymentMethod, + + [EnumMember(Value = "tracking_categories,contact,company,payment_method")] + TrackingCategoriesContactCompanyPaymentMethod, + + [EnumMember(Value = "tracking_categories,contact,payment_method")] + TrackingCategoriesContactPaymentMethod, + + [EnumMember(Value = "tracking_categories,payment_method")] + TrackingCategoriesPaymentMethod, } diff --git a/src/Merge.Client/Accounting/Payments/Types/PaymentsRetrieveRequestExpand.cs b/src/Merge.Client/Accounting/Payments/Types/PaymentsRetrieveRequestExpand.cs index c650b0bd..b5736cb3 100644 --- a/src/Merge.Client/Accounting/Payments/Types/PaymentsRetrieveRequestExpand.cs +++ b/src/Merge.Client/Accounting/Payments/Types/PaymentsRetrieveRequestExpand.cs @@ -13,15 +13,30 @@ public enum PaymentsRetrieveRequestExpand [EnumMember(Value = "account,accounting_period")] AccountAccountingPeriod, + [EnumMember(Value = "account,accounting_period,payment_method")] + AccountAccountingPeriodPaymentMethod, + [EnumMember(Value = "account,company")] AccountCompany, [EnumMember(Value = "account,company,accounting_period")] AccountCompanyAccountingPeriod, + [EnumMember(Value = "account,company,accounting_period,payment_method")] + AccountCompanyAccountingPeriodPaymentMethod, + + [EnumMember(Value = "account,company,payment_method")] + AccountCompanyPaymentMethod, + + [EnumMember(Value = "account,payment_method")] + AccountPaymentMethod, + [EnumMember(Value = "accounting_period")] AccountingPeriod, + [EnumMember(Value = "accounting_period,payment_method")] + AccountingPeriodPaymentMethod, + [EnumMember(Value = "applied_to_lines")] AppliedToLines, @@ -31,21 +46,42 @@ public enum PaymentsRetrieveRequestExpand [EnumMember(Value = "applied_to_lines,account,accounting_period")] AppliedToLinesAccountAccountingPeriod, + [EnumMember(Value = "applied_to_lines,account,accounting_period,payment_method")] + AppliedToLinesAccountAccountingPeriodPaymentMethod, + [EnumMember(Value = "applied_to_lines,account,company")] AppliedToLinesAccountCompany, [EnumMember(Value = "applied_to_lines,account,company,accounting_period")] AppliedToLinesAccountCompanyAccountingPeriod, + [EnumMember(Value = "applied_to_lines,account,company,accounting_period,payment_method")] + AppliedToLinesAccountCompanyAccountingPeriodPaymentMethod, + + [EnumMember(Value = "applied_to_lines,account,company,payment_method")] + AppliedToLinesAccountCompanyPaymentMethod, + + [EnumMember(Value = "applied_to_lines,account,payment_method")] + AppliedToLinesAccountPaymentMethod, + [EnumMember(Value = "applied_to_lines,accounting_period")] AppliedToLinesAccountingPeriod, + [EnumMember(Value = "applied_to_lines,accounting_period,payment_method")] + AppliedToLinesAccountingPeriodPaymentMethod, + [EnumMember(Value = "applied_to_lines,company")] AppliedToLinesCompany, [EnumMember(Value = "applied_to_lines,company,accounting_period")] AppliedToLinesCompanyAccountingPeriod, + [EnumMember(Value = "applied_to_lines,company,accounting_period,payment_method")] + AppliedToLinesCompanyAccountingPeriodPaymentMethod, + + [EnumMember(Value = "applied_to_lines,company,payment_method")] + AppliedToLinesCompanyPaymentMethod, + [EnumMember(Value = "applied_to_lines,contact")] AppliedToLinesContact, @@ -55,27 +91,62 @@ public enum PaymentsRetrieveRequestExpand [EnumMember(Value = "applied_to_lines,contact,account,accounting_period")] AppliedToLinesContactAccountAccountingPeriod, + [EnumMember(Value = "applied_to_lines,contact,account,accounting_period,payment_method")] + AppliedToLinesContactAccountAccountingPeriodPaymentMethod, + [EnumMember(Value = "applied_to_lines,contact,account,company")] AppliedToLinesContactAccountCompany, [EnumMember(Value = "applied_to_lines,contact,account,company,accounting_period")] AppliedToLinesContactAccountCompanyAccountingPeriod, + [EnumMember( + Value = "applied_to_lines,contact,account,company,accounting_period,payment_method" + )] + AppliedToLinesContactAccountCompanyAccountingPeriodPaymentMethod, + + [EnumMember(Value = "applied_to_lines,contact,account,company,payment_method")] + AppliedToLinesContactAccountCompanyPaymentMethod, + + [EnumMember(Value = "applied_to_lines,contact,account,payment_method")] + AppliedToLinesContactAccountPaymentMethod, + [EnumMember(Value = "applied_to_lines,contact,accounting_period")] AppliedToLinesContactAccountingPeriod, + [EnumMember(Value = "applied_to_lines,contact,accounting_period,payment_method")] + AppliedToLinesContactAccountingPeriodPaymentMethod, + [EnumMember(Value = "applied_to_lines,contact,company")] AppliedToLinesContactCompany, [EnumMember(Value = "applied_to_lines,contact,company,accounting_period")] AppliedToLinesContactCompanyAccountingPeriod, + [EnumMember(Value = "applied_to_lines,contact,company,accounting_period,payment_method")] + AppliedToLinesContactCompanyAccountingPeriodPaymentMethod, + + [EnumMember(Value = "applied_to_lines,contact,company,payment_method")] + AppliedToLinesContactCompanyPaymentMethod, + + [EnumMember(Value = "applied_to_lines,contact,payment_method")] + AppliedToLinesContactPaymentMethod, + + [EnumMember(Value = "applied_to_lines,payment_method")] + AppliedToLinesPaymentMethod, + [EnumMember(Value = "company")] Company, [EnumMember(Value = "company,accounting_period")] CompanyAccountingPeriod, + [EnumMember(Value = "company,accounting_period,payment_method")] + CompanyAccountingPeriodPaymentMethod, + + [EnumMember(Value = "company,payment_method")] + CompanyPaymentMethod, + [EnumMember(Value = "contact")] Contact, @@ -85,21 +156,48 @@ public enum PaymentsRetrieveRequestExpand [EnumMember(Value = "contact,account,accounting_period")] ContactAccountAccountingPeriod, + [EnumMember(Value = "contact,account,accounting_period,payment_method")] + ContactAccountAccountingPeriodPaymentMethod, + [EnumMember(Value = "contact,account,company")] ContactAccountCompany, [EnumMember(Value = "contact,account,company,accounting_period")] ContactAccountCompanyAccountingPeriod, + [EnumMember(Value = "contact,account,company,accounting_period,payment_method")] + ContactAccountCompanyAccountingPeriodPaymentMethod, + + [EnumMember(Value = "contact,account,company,payment_method")] + ContactAccountCompanyPaymentMethod, + + [EnumMember(Value = "contact,account,payment_method")] + ContactAccountPaymentMethod, + [EnumMember(Value = "contact,accounting_period")] ContactAccountingPeriod, + [EnumMember(Value = "contact,accounting_period,payment_method")] + ContactAccountingPeriodPaymentMethod, + [EnumMember(Value = "contact,company")] ContactCompany, [EnumMember(Value = "contact,company,accounting_period")] ContactCompanyAccountingPeriod, + [EnumMember(Value = "contact,company,accounting_period,payment_method")] + ContactCompanyAccountingPeriodPaymentMethod, + + [EnumMember(Value = "contact,company,payment_method")] + ContactCompanyPaymentMethod, + + [EnumMember(Value = "contact,payment_method")] + ContactPaymentMethod, + + [EnumMember(Value = "payment_method")] + PaymentMethod, + [EnumMember(Value = "tracking_categories")] TrackingCategories, @@ -109,15 +207,30 @@ public enum PaymentsRetrieveRequestExpand [EnumMember(Value = "tracking_categories,account,accounting_period")] TrackingCategoriesAccountAccountingPeriod, + [EnumMember(Value = "tracking_categories,account,accounting_period,payment_method")] + TrackingCategoriesAccountAccountingPeriodPaymentMethod, + [EnumMember(Value = "tracking_categories,account,company")] TrackingCategoriesAccountCompany, [EnumMember(Value = "tracking_categories,account,company,accounting_period")] TrackingCategoriesAccountCompanyAccountingPeriod, + [EnumMember(Value = "tracking_categories,account,company,accounting_period,payment_method")] + TrackingCategoriesAccountCompanyAccountingPeriodPaymentMethod, + + [EnumMember(Value = "tracking_categories,account,company,payment_method")] + TrackingCategoriesAccountCompanyPaymentMethod, + + [EnumMember(Value = "tracking_categories,account,payment_method")] + TrackingCategoriesAccountPaymentMethod, + [EnumMember(Value = "tracking_categories,accounting_period")] TrackingCategoriesAccountingPeriod, + [EnumMember(Value = "tracking_categories,accounting_period,payment_method")] + TrackingCategoriesAccountingPeriodPaymentMethod, + [EnumMember(Value = "tracking_categories,applied_to_lines")] TrackingCategoriesAppliedToLines, @@ -127,21 +240,48 @@ public enum PaymentsRetrieveRequestExpand [EnumMember(Value = "tracking_categories,applied_to_lines,account,accounting_period")] TrackingCategoriesAppliedToLinesAccountAccountingPeriod, + [EnumMember( + Value = "tracking_categories,applied_to_lines,account,accounting_period,payment_method" + )] + TrackingCategoriesAppliedToLinesAccountAccountingPeriodPaymentMethod, + [EnumMember(Value = "tracking_categories,applied_to_lines,account,company")] TrackingCategoriesAppliedToLinesAccountCompany, [EnumMember(Value = "tracking_categories,applied_to_lines,account,company,accounting_period")] TrackingCategoriesAppliedToLinesAccountCompanyAccountingPeriod, + [EnumMember( + Value = "tracking_categories,applied_to_lines,account,company,accounting_period,payment_method" + )] + TrackingCategoriesAppliedToLinesAccountCompanyAccountingPeriodPaymentMethod, + + [EnumMember(Value = "tracking_categories,applied_to_lines,account,company,payment_method")] + TrackingCategoriesAppliedToLinesAccountCompanyPaymentMethod, + + [EnumMember(Value = "tracking_categories,applied_to_lines,account,payment_method")] + TrackingCategoriesAppliedToLinesAccountPaymentMethod, + [EnumMember(Value = "tracking_categories,applied_to_lines,accounting_period")] TrackingCategoriesAppliedToLinesAccountingPeriod, + [EnumMember(Value = "tracking_categories,applied_to_lines,accounting_period,payment_method")] + TrackingCategoriesAppliedToLinesAccountingPeriodPaymentMethod, + [EnumMember(Value = "tracking_categories,applied_to_lines,company")] TrackingCategoriesAppliedToLinesCompany, [EnumMember(Value = "tracking_categories,applied_to_lines,company,accounting_period")] TrackingCategoriesAppliedToLinesCompanyAccountingPeriod, + [EnumMember( + Value = "tracking_categories,applied_to_lines,company,accounting_period,payment_method" + )] + TrackingCategoriesAppliedToLinesCompanyAccountingPeriodPaymentMethod, + + [EnumMember(Value = "tracking_categories,applied_to_lines,company,payment_method")] + TrackingCategoriesAppliedToLinesCompanyPaymentMethod, + [EnumMember(Value = "tracking_categories,applied_to_lines,contact")] TrackingCategoriesAppliedToLinesContact, @@ -151,6 +291,11 @@ public enum PaymentsRetrieveRequestExpand [EnumMember(Value = "tracking_categories,applied_to_lines,contact,account,accounting_period")] TrackingCategoriesAppliedToLinesContactAccountAccountingPeriod, + [EnumMember( + Value = "tracking_categories,applied_to_lines,contact,account,accounting_period,payment_method" + )] + TrackingCategoriesAppliedToLinesContactAccountAccountingPeriodPaymentMethod, + [EnumMember(Value = "tracking_categories,applied_to_lines,contact,account,company")] TrackingCategoriesAppliedToLinesContactAccountCompany, @@ -159,21 +304,59 @@ public enum PaymentsRetrieveRequestExpand )] TrackingCategoriesAppliedToLinesContactAccountCompanyAccountingPeriod, + [EnumMember( + Value = "tracking_categories,applied_to_lines,contact,account,company,accounting_period,payment_method" + )] + TrackingCategoriesAppliedToLinesContactAccountCompanyAccountingPeriodPaymentMethod, + + [EnumMember( + Value = "tracking_categories,applied_to_lines,contact,account,company,payment_method" + )] + TrackingCategoriesAppliedToLinesContactAccountCompanyPaymentMethod, + + [EnumMember(Value = "tracking_categories,applied_to_lines,contact,account,payment_method")] + TrackingCategoriesAppliedToLinesContactAccountPaymentMethod, + [EnumMember(Value = "tracking_categories,applied_to_lines,contact,accounting_period")] TrackingCategoriesAppliedToLinesContactAccountingPeriod, + [EnumMember( + Value = "tracking_categories,applied_to_lines,contact,accounting_period,payment_method" + )] + TrackingCategoriesAppliedToLinesContactAccountingPeriodPaymentMethod, + [EnumMember(Value = "tracking_categories,applied_to_lines,contact,company")] TrackingCategoriesAppliedToLinesContactCompany, [EnumMember(Value = "tracking_categories,applied_to_lines,contact,company,accounting_period")] TrackingCategoriesAppliedToLinesContactCompanyAccountingPeriod, + [EnumMember( + Value = "tracking_categories,applied_to_lines,contact,company,accounting_period,payment_method" + )] + TrackingCategoriesAppliedToLinesContactCompanyAccountingPeriodPaymentMethod, + + [EnumMember(Value = "tracking_categories,applied_to_lines,contact,company,payment_method")] + TrackingCategoriesAppliedToLinesContactCompanyPaymentMethod, + + [EnumMember(Value = "tracking_categories,applied_to_lines,contact,payment_method")] + TrackingCategoriesAppliedToLinesContactPaymentMethod, + + [EnumMember(Value = "tracking_categories,applied_to_lines,payment_method")] + TrackingCategoriesAppliedToLinesPaymentMethod, + [EnumMember(Value = "tracking_categories,company")] TrackingCategoriesCompany, [EnumMember(Value = "tracking_categories,company,accounting_period")] TrackingCategoriesCompanyAccountingPeriod, + [EnumMember(Value = "tracking_categories,company,accounting_period,payment_method")] + TrackingCategoriesCompanyAccountingPeriodPaymentMethod, + + [EnumMember(Value = "tracking_categories,company,payment_method")] + TrackingCategoriesCompanyPaymentMethod, + [EnumMember(Value = "tracking_categories,contact")] TrackingCategoriesContact, @@ -183,18 +366,47 @@ public enum PaymentsRetrieveRequestExpand [EnumMember(Value = "tracking_categories,contact,account,accounting_period")] TrackingCategoriesContactAccountAccountingPeriod, + [EnumMember(Value = "tracking_categories,contact,account,accounting_period,payment_method")] + TrackingCategoriesContactAccountAccountingPeriodPaymentMethod, + [EnumMember(Value = "tracking_categories,contact,account,company")] TrackingCategoriesContactAccountCompany, [EnumMember(Value = "tracking_categories,contact,account,company,accounting_period")] TrackingCategoriesContactAccountCompanyAccountingPeriod, + [EnumMember( + Value = "tracking_categories,contact,account,company,accounting_period,payment_method" + )] + TrackingCategoriesContactAccountCompanyAccountingPeriodPaymentMethod, + + [EnumMember(Value = "tracking_categories,contact,account,company,payment_method")] + TrackingCategoriesContactAccountCompanyPaymentMethod, + + [EnumMember(Value = "tracking_categories,contact,account,payment_method")] + TrackingCategoriesContactAccountPaymentMethod, + [EnumMember(Value = "tracking_categories,contact,accounting_period")] TrackingCategoriesContactAccountingPeriod, + [EnumMember(Value = "tracking_categories,contact,accounting_period,payment_method")] + TrackingCategoriesContactAccountingPeriodPaymentMethod, + [EnumMember(Value = "tracking_categories,contact,company")] TrackingCategoriesContactCompany, [EnumMember(Value = "tracking_categories,contact,company,accounting_period")] TrackingCategoriesContactCompanyAccountingPeriod, + + [EnumMember(Value = "tracking_categories,contact,company,accounting_period,payment_method")] + TrackingCategoriesContactCompanyAccountingPeriodPaymentMethod, + + [EnumMember(Value = "tracking_categories,contact,company,payment_method")] + TrackingCategoriesContactCompanyPaymentMethod, + + [EnumMember(Value = "tracking_categories,contact,payment_method")] + TrackingCategoriesContactPaymentMethod, + + [EnumMember(Value = "tracking_categories,payment_method")] + TrackingCategoriesPaymentMethod, } diff --git a/src/Merge.Client/Accounting/PhoneNumbers/PhoneNumbersClient.cs b/src/Merge.Client/Accounting/PhoneNumbers/PhoneNumbersClient.cs index 4b8f8247..4a17300c 100644 --- a/src/Merge.Client/Accounting/PhoneNumbers/PhoneNumbersClient.cs +++ b/src/Merge.Client/Accounting/PhoneNumbers/PhoneNumbersClient.cs @@ -17,12 +17,10 @@ internal PhoneNumbersClient(RawClient client) /// /// Returns an `AccountingPhoneNumber` object with the given `id`. /// - /// - /// + /// /// await client.Accounting.PhoneNumbers.RetrieveAsync("id", new PhoneNumbersRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, PhoneNumbersRetrieveRequest request, RequestOptions? options = null, @@ -34,36 +32,46 @@ public async System.Threading.Tasks.Task RetrieveAsync( { _query["include_remote_data"] = JsonUtils.Serialize(request.IncludeRemoteData.Value); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"accounting/v1/phone-numbers/{id}", + Path = string.Format( + "accounting/v1/phone-numbers/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Accounting/PhoneNumbers/Requests/PhoneNumbersRetrieveRequest.cs b/src/Merge.Client/Accounting/PhoneNumbers/Requests/PhoneNumbersRetrieveRequest.cs index bd7ac339..660d4ad6 100644 --- a/src/Merge.Client/Accounting/PhoneNumbers/Requests/PhoneNumbersRetrieveRequest.cs +++ b/src/Merge.Client/Accounting/PhoneNumbers/Requests/PhoneNumbersRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,8 +8,16 @@ public record PhoneNumbersRetrieveRequest /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/PurchaseOrders/PurchaseOrdersClient.cs b/src/Merge.Client/Accounting/PurchaseOrders/PurchaseOrdersClient.cs index e56378a6..8f1708f3 100644 --- a/src/Merge.Client/Accounting/PurchaseOrders/PurchaseOrdersClient.cs +++ b/src/Merge.Client/Accounting/PurchaseOrders/PurchaseOrdersClient.cs @@ -17,12 +17,10 @@ internal PurchaseOrdersClient(RawClient client) /// /// Returns a list of `PurchaseOrder` objects. /// - /// - /// + /// /// await client.Accounting.PurchaseOrders.ListAsync(new PurchaseOrdersListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( PurchaseOrdersListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -110,8 +108,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["show_enum_origins"] = request.ShowEnumOrigins.ToString(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -122,37 +120,38 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Creates a `PurchaseOrder` object with the given values. /// - /// - /// + /// /// await client.Accounting.PurchaseOrders.CreateAsync( /// new PurchaseOrderEndpointRequest { Model = new PurchaseOrderRequest() } /// ); - /// - /// - public async System.Threading.Tasks.Task CreateAsync( + /// + public async Task CreateAsync( PurchaseOrderEndpointRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -167,15 +166,14 @@ public async System.Threading.Tasks.Task CreateAsync( { _query["run_async"] = JsonUtils.Serialize(request.RunAsync.Value); } - var requestBody = new Dictionary() { { "model", request.Model } }; var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, Path = "accounting/v1/purchase-orders", - Body = requestBody, + Body = request, Query = _query, ContentType = "application/json", Options = options, @@ -183,35 +181,36 @@ public async System.Threading.Tasks.Task CreateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a `PurchaseOrder` object with the given `id`. /// - /// - /// + /// /// await client.Accounting.PurchaseOrders.RetrieveAsync("id", new PurchaseOrdersRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, PurchaseOrdersRetrieveRequest request, RequestOptions? options = null, @@ -233,6 +232,10 @@ public async System.Threading.Tasks.Task RetrieveAsync( request.IncludeRemoteFields.Value ); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } if (request.RemoteFields != null) { _query["remote_fields"] = request.RemoteFields.ToString(); @@ -242,49 +245,53 @@ public async System.Threading.Tasks.Task RetrieveAsync( _query["show_enum_origins"] = request.ShowEnumOrigins.ToString(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"accounting/v1/purchase-orders/{id}", + Path = string.Format( + "accounting/v1/purchase-orders/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a list of `RemoteFieldClass` objects. /// - /// - /// + /// /// await client.Accounting.PurchaseOrders.LineItemsRemoteFieldClassesListAsync( /// new PurchaseOrdersLineItemsRemoteFieldClassesListRequest() /// ); - /// - /// - public async System.Threading.Tasks.Task LineItemsRemoteFieldClassesListAsync( + /// + public async Task LineItemsRemoteFieldClassesListAsync( PurchaseOrdersLineItemsRemoteFieldClassesListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -316,8 +323,8 @@ public async System.Threading.Tasks.Task LineItem _query["page_size"] = request.PageSize.Value.ToString(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -328,42 +335,43 @@ public async System.Threading.Tasks.Task LineItem cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns metadata for `PurchaseOrder` POSTs. /// - /// - /// + /// /// await client.Accounting.PurchaseOrders.MetaPostRetrieveAsync(); - /// - /// - public async System.Threading.Tasks.Task MetaPostRetrieveAsync( + /// + public async Task MetaPostRetrieveAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -373,37 +381,38 @@ public async System.Threading.Tasks.Task MetaPostRetrieveAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a list of `RemoteFieldClass` objects. /// - /// - /// + /// /// await client.Accounting.PurchaseOrders.RemoteFieldClassesListAsync( /// new PurchaseOrdersRemoteFieldClassesListRequest() /// ); - /// - /// - public async System.Threading.Tasks.Task RemoteFieldClassesListAsync( + /// + public async Task RemoteFieldClassesListAsync( PurchaseOrdersRemoteFieldClassesListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -435,8 +444,8 @@ public async System.Threading.Tasks.Task RemoteFi _query["page_size"] = request.PageSize.Value.ToString(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -447,23 +456,26 @@ public async System.Threading.Tasks.Task RemoteFi cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Accounting/PurchaseOrders/Requests/PurchaseOrderEndpointRequest.cs b/src/Merge.Client/Accounting/PurchaseOrders/Requests/PurchaseOrderEndpointRequest.cs index 3d1291c1..3b96289f 100644 --- a/src/Merge.Client/Accounting/PurchaseOrders/Requests/PurchaseOrderEndpointRequest.cs +++ b/src/Merge.Client/Accounting/PurchaseOrders/Requests/PurchaseOrderEndpointRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,15 +8,19 @@ public record PurchaseOrderEndpointRequest /// /// Whether to include debug fields (such as log file links) in the response. /// + [JsonIgnore] public bool? IsDebugMode { get; set; } /// /// Whether or not third-party updates should be run asynchronously. /// + [JsonIgnore] public bool? RunAsync { get; set; } + [JsonPropertyName("model")] public required PurchaseOrderRequest Model { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/PurchaseOrders/Requests/PurchaseOrdersLineItemsRemoteFieldClassesListRequest.cs b/src/Merge.Client/Accounting/PurchaseOrders/Requests/PurchaseOrdersLineItemsRemoteFieldClassesListRequest.cs index 74ac27cc..7e700376 100644 --- a/src/Merge.Client/Accounting/PurchaseOrders/Requests/PurchaseOrdersLineItemsRemoteFieldClassesListRequest.cs +++ b/src/Merge.Client/Accounting/PurchaseOrders/Requests/PurchaseOrdersLineItemsRemoteFieldClassesListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,33 +8,40 @@ public record PurchaseOrdersLineItemsRemoteFieldClassesListRequest /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, will only return remote field classes with this is_common_model_field value /// + [JsonIgnore] public bool? IsCommonModelField { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/PurchaseOrders/Requests/PurchaseOrdersListRequest.cs b/src/Merge.Client/Accounting/PurchaseOrders/Requests/PurchaseOrdersListRequest.cs index f7de18c3..39fe8165 100644 --- a/src/Merge.Client/Accounting/PurchaseOrders/Requests/PurchaseOrdersListRequest.cs +++ b/src/Merge.Client/Accounting/PurchaseOrders/Requests/PurchaseOrdersListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,88 +8,106 @@ public record PurchaseOrdersListRequest /// /// If provided, will only return purchase orders for this company. /// + [JsonIgnore] public string? CompanyId { get; set; } /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public PurchaseOrdersListRequestExpand? Expand { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include all remote fields, including fields that Merge did not map to common models, in a normalized format. /// + [JsonIgnore] public bool? IncludeRemoteFields { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? IssueDateAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? IssueDateBefore { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// Deprecated. Use show_enum_origins. /// + [JsonIgnore] public string? RemoteFields { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } /// /// A comma separated list of enum field names for which you'd like the original values to be returned, instead of Merge's normalized enum values. [Learn more](https://help.merge.dev/en/articles/8950958-show_enum_origins-query-parameter) /// + [JsonIgnore] public string? ShowEnumOrigins { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/PurchaseOrders/Requests/PurchaseOrdersRemoteFieldClassesListRequest.cs b/src/Merge.Client/Accounting/PurchaseOrders/Requests/PurchaseOrdersRemoteFieldClassesListRequest.cs index 2f2f1bc1..a23e353c 100644 --- a/src/Merge.Client/Accounting/PurchaseOrders/Requests/PurchaseOrdersRemoteFieldClassesListRequest.cs +++ b/src/Merge.Client/Accounting/PurchaseOrders/Requests/PurchaseOrdersRemoteFieldClassesListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,33 +8,40 @@ public record PurchaseOrdersRemoteFieldClassesListRequest /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, will only return remote field classes with this is_common_model_field value /// + [JsonIgnore] public bool? IsCommonModelField { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/PurchaseOrders/Requests/PurchaseOrdersRetrieveRequest.cs b/src/Merge.Client/Accounting/PurchaseOrders/Requests/PurchaseOrdersRetrieveRequest.cs index 26c96be2..ec6b6663 100644 --- a/src/Merge.Client/Accounting/PurchaseOrders/Requests/PurchaseOrdersRetrieveRequest.cs +++ b/src/Merge.Client/Accounting/PurchaseOrders/Requests/PurchaseOrdersRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,28 +8,40 @@ public record PurchaseOrdersRetrieveRequest /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public PurchaseOrdersRetrieveRequestExpand? Expand { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include all remote fields, including fields that Merge did not map to common models, in a normalized format. /// + [JsonIgnore] public bool? IncludeRemoteFields { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + /// /// Deprecated. Use show_enum_origins. /// + [JsonIgnore] public string? RemoteFields { get; set; } /// /// A comma separated list of enum field names for which you'd like the original values to be returned, instead of Merge's normalized enum values. [Learn more](https://help.merge.dev/en/articles/8950958-show_enum_origins-query-parameter) /// + [JsonIgnore] public string? ShowEnumOrigins { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/PurchaseOrders/Types/PurchaseOrdersListRequestExpand.cs b/src/Merge.Client/Accounting/PurchaseOrders/Types/PurchaseOrdersListRequestExpand.cs index 5d7cb3f4..09b4a8ee 100644 --- a/src/Merge.Client/Accounting/PurchaseOrders/Types/PurchaseOrdersListRequestExpand.cs +++ b/src/Merge.Client/Accounting/PurchaseOrders/Types/PurchaseOrdersListRequestExpand.cs @@ -10,90 +10,175 @@ public enum PurchaseOrdersListRequestExpand [EnumMember(Value = "accounting_period")] AccountingPeriod, + [EnumMember(Value = "accounting_period,payment_term")] + AccountingPeriodPaymentTerm, + [EnumMember(Value = "company")] Company, [EnumMember(Value = "company,accounting_period")] CompanyAccountingPeriod, + [EnumMember(Value = "company,accounting_period,payment_term")] + CompanyAccountingPeriodPaymentTerm, + + [EnumMember(Value = "company,payment_term")] + CompanyPaymentTerm, + [EnumMember(Value = "delivery_address")] DeliveryAddress, [EnumMember(Value = "delivery_address,accounting_period")] DeliveryAddressAccountingPeriod, + [EnumMember(Value = "delivery_address,accounting_period,payment_term")] + DeliveryAddressAccountingPeriodPaymentTerm, + [EnumMember(Value = "delivery_address,company")] DeliveryAddressCompany, [EnumMember(Value = "delivery_address,company,accounting_period")] DeliveryAddressCompanyAccountingPeriod, + [EnumMember(Value = "delivery_address,company,accounting_period,payment_term")] + DeliveryAddressCompanyAccountingPeriodPaymentTerm, + + [EnumMember(Value = "delivery_address,company,payment_term")] + DeliveryAddressCompanyPaymentTerm, + + [EnumMember(Value = "delivery_address,payment_term")] + DeliveryAddressPaymentTerm, + [EnumMember(Value = "delivery_address,vendor")] DeliveryAddressVendor, [EnumMember(Value = "delivery_address,vendor,accounting_period")] DeliveryAddressVendorAccountingPeriod, + [EnumMember(Value = "delivery_address,vendor,accounting_period,payment_term")] + DeliveryAddressVendorAccountingPeriodPaymentTerm, + [EnumMember(Value = "delivery_address,vendor,company")] DeliveryAddressVendorCompany, [EnumMember(Value = "delivery_address,vendor,company,accounting_period")] DeliveryAddressVendorCompanyAccountingPeriod, + [EnumMember(Value = "delivery_address,vendor,company,accounting_period,payment_term")] + DeliveryAddressVendorCompanyAccountingPeriodPaymentTerm, + + [EnumMember(Value = "delivery_address,vendor,company,payment_term")] + DeliveryAddressVendorCompanyPaymentTerm, + + [EnumMember(Value = "delivery_address,vendor,payment_term")] + DeliveryAddressVendorPaymentTerm, + [EnumMember(Value = "line_items")] LineItems, [EnumMember(Value = "line_items,accounting_period")] LineItemsAccountingPeriod, + [EnumMember(Value = "line_items,accounting_period,payment_term")] + LineItemsAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,company")] LineItemsCompany, [EnumMember(Value = "line_items,company,accounting_period")] LineItemsCompanyAccountingPeriod, + [EnumMember(Value = "line_items,company,accounting_period,payment_term")] + LineItemsCompanyAccountingPeriodPaymentTerm, + + [EnumMember(Value = "line_items,company,payment_term")] + LineItemsCompanyPaymentTerm, + [EnumMember(Value = "line_items,delivery_address")] LineItemsDeliveryAddress, [EnumMember(Value = "line_items,delivery_address,accounting_period")] LineItemsDeliveryAddressAccountingPeriod, + [EnumMember(Value = "line_items,delivery_address,accounting_period,payment_term")] + LineItemsDeliveryAddressAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,delivery_address,company")] LineItemsDeliveryAddressCompany, [EnumMember(Value = "line_items,delivery_address,company,accounting_period")] LineItemsDeliveryAddressCompanyAccountingPeriod, + [EnumMember(Value = "line_items,delivery_address,company,accounting_period,payment_term")] + LineItemsDeliveryAddressCompanyAccountingPeriodPaymentTerm, + + [EnumMember(Value = "line_items,delivery_address,company,payment_term")] + LineItemsDeliveryAddressCompanyPaymentTerm, + + [EnumMember(Value = "line_items,delivery_address,payment_term")] + LineItemsDeliveryAddressPaymentTerm, + [EnumMember(Value = "line_items,delivery_address,vendor")] LineItemsDeliveryAddressVendor, [EnumMember(Value = "line_items,delivery_address,vendor,accounting_period")] LineItemsDeliveryAddressVendorAccountingPeriod, + [EnumMember(Value = "line_items,delivery_address,vendor,accounting_period,payment_term")] + LineItemsDeliveryAddressVendorAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,delivery_address,vendor,company")] LineItemsDeliveryAddressVendorCompany, [EnumMember(Value = "line_items,delivery_address,vendor,company,accounting_period")] LineItemsDeliveryAddressVendorCompanyAccountingPeriod, + [EnumMember( + Value = "line_items,delivery_address,vendor,company,accounting_period,payment_term" + )] + LineItemsDeliveryAddressVendorCompanyAccountingPeriodPaymentTerm, + + [EnumMember(Value = "line_items,delivery_address,vendor,company,payment_term")] + LineItemsDeliveryAddressVendorCompanyPaymentTerm, + + [EnumMember(Value = "line_items,delivery_address,vendor,payment_term")] + LineItemsDeliveryAddressVendorPaymentTerm, + + [EnumMember(Value = "line_items,payment_term")] + LineItemsPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories")] LineItemsTrackingCategories, [EnumMember(Value = "line_items,tracking_categories,accounting_period")] LineItemsTrackingCategoriesAccountingPeriod, + [EnumMember(Value = "line_items,tracking_categories,accounting_period,payment_term")] + LineItemsTrackingCategoriesAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,company")] LineItemsTrackingCategoriesCompany, [EnumMember(Value = "line_items,tracking_categories,company,accounting_period")] LineItemsTrackingCategoriesCompanyAccountingPeriod, + [EnumMember(Value = "line_items,tracking_categories,company,accounting_period,payment_term")] + LineItemsTrackingCategoriesCompanyAccountingPeriodPaymentTerm, + + [EnumMember(Value = "line_items,tracking_categories,company,payment_term")] + LineItemsTrackingCategoriesCompanyPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,delivery_address")] LineItemsTrackingCategoriesDeliveryAddress, [EnumMember(Value = "line_items,tracking_categories,delivery_address,accounting_period")] LineItemsTrackingCategoriesDeliveryAddressAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,delivery_address,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesDeliveryAddressAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,delivery_address,company")] LineItemsTrackingCategoriesDeliveryAddressCompany, @@ -102,12 +187,28 @@ public enum PurchaseOrdersListRequestExpand )] LineItemsTrackingCategoriesDeliveryAddressCompanyAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,delivery_address,company,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesDeliveryAddressCompanyAccountingPeriodPaymentTerm, + + [EnumMember(Value = "line_items,tracking_categories,delivery_address,company,payment_term")] + LineItemsTrackingCategoriesDeliveryAddressCompanyPaymentTerm, + + [EnumMember(Value = "line_items,tracking_categories,delivery_address,payment_term")] + LineItemsTrackingCategoriesDeliveryAddressPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,delivery_address,vendor")] LineItemsTrackingCategoriesDeliveryAddressVendor, [EnumMember(Value = "line_items,tracking_categories,delivery_address,vendor,accounting_period")] LineItemsTrackingCategoriesDeliveryAddressVendorAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,delivery_address,vendor,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesDeliveryAddressVendorAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,delivery_address,vendor,company")] LineItemsTrackingCategoriesDeliveryAddressVendorCompany, @@ -116,87 +217,198 @@ public enum PurchaseOrdersListRequestExpand )] LineItemsTrackingCategoriesDeliveryAddressVendorCompanyAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,delivery_address,vendor,company,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesDeliveryAddressVendorCompanyAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,delivery_address,vendor,company,payment_term" + )] + LineItemsTrackingCategoriesDeliveryAddressVendorCompanyPaymentTerm, + + [EnumMember(Value = "line_items,tracking_categories,delivery_address,vendor,payment_term")] + LineItemsTrackingCategoriesDeliveryAddressVendorPaymentTerm, + + [EnumMember(Value = "line_items,tracking_categories,payment_term")] + LineItemsTrackingCategoriesPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,vendor")] LineItemsTrackingCategoriesVendor, [EnumMember(Value = "line_items,tracking_categories,vendor,accounting_period")] LineItemsTrackingCategoriesVendorAccountingPeriod, + [EnumMember(Value = "line_items,tracking_categories,vendor,accounting_period,payment_term")] + LineItemsTrackingCategoriesVendorAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,vendor,company")] LineItemsTrackingCategoriesVendorCompany, [EnumMember(Value = "line_items,tracking_categories,vendor,company,accounting_period")] LineItemsTrackingCategoriesVendorCompanyAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,vendor,company,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesVendorCompanyAccountingPeriodPaymentTerm, + + [EnumMember(Value = "line_items,tracking_categories,vendor,company,payment_term")] + LineItemsTrackingCategoriesVendorCompanyPaymentTerm, + + [EnumMember(Value = "line_items,tracking_categories,vendor,payment_term")] + LineItemsTrackingCategoriesVendorPaymentTerm, + [EnumMember(Value = "line_items,vendor")] LineItemsVendor, [EnumMember(Value = "line_items,vendor,accounting_period")] LineItemsVendorAccountingPeriod, + [EnumMember(Value = "line_items,vendor,accounting_period,payment_term")] + LineItemsVendorAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,vendor,company")] LineItemsVendorCompany, [EnumMember(Value = "line_items,vendor,company,accounting_period")] LineItemsVendorCompanyAccountingPeriod, + [EnumMember(Value = "line_items,vendor,company,accounting_period,payment_term")] + LineItemsVendorCompanyAccountingPeriodPaymentTerm, + + [EnumMember(Value = "line_items,vendor,company,payment_term")] + LineItemsVendorCompanyPaymentTerm, + + [EnumMember(Value = "line_items,vendor,payment_term")] + LineItemsVendorPaymentTerm, + + [EnumMember(Value = "payment_term")] + PaymentTerm, + [EnumMember(Value = "tracking_categories")] TrackingCategories, [EnumMember(Value = "tracking_categories,accounting_period")] TrackingCategoriesAccountingPeriod, + [EnumMember(Value = "tracking_categories,accounting_period,payment_term")] + TrackingCategoriesAccountingPeriodPaymentTerm, + [EnumMember(Value = "tracking_categories,company")] TrackingCategoriesCompany, [EnumMember(Value = "tracking_categories,company,accounting_period")] TrackingCategoriesCompanyAccountingPeriod, + [EnumMember(Value = "tracking_categories,company,accounting_period,payment_term")] + TrackingCategoriesCompanyAccountingPeriodPaymentTerm, + + [EnumMember(Value = "tracking_categories,company,payment_term")] + TrackingCategoriesCompanyPaymentTerm, + [EnumMember(Value = "tracking_categories,delivery_address")] TrackingCategoriesDeliveryAddress, [EnumMember(Value = "tracking_categories,delivery_address,accounting_period")] TrackingCategoriesDeliveryAddressAccountingPeriod, + [EnumMember(Value = "tracking_categories,delivery_address,accounting_period,payment_term")] + TrackingCategoriesDeliveryAddressAccountingPeriodPaymentTerm, + [EnumMember(Value = "tracking_categories,delivery_address,company")] TrackingCategoriesDeliveryAddressCompany, [EnumMember(Value = "tracking_categories,delivery_address,company,accounting_period")] TrackingCategoriesDeliveryAddressCompanyAccountingPeriod, + [EnumMember( + Value = "tracking_categories,delivery_address,company,accounting_period,payment_term" + )] + TrackingCategoriesDeliveryAddressCompanyAccountingPeriodPaymentTerm, + + [EnumMember(Value = "tracking_categories,delivery_address,company,payment_term")] + TrackingCategoriesDeliveryAddressCompanyPaymentTerm, + + [EnumMember(Value = "tracking_categories,delivery_address,payment_term")] + TrackingCategoriesDeliveryAddressPaymentTerm, + [EnumMember(Value = "tracking_categories,delivery_address,vendor")] TrackingCategoriesDeliveryAddressVendor, [EnumMember(Value = "tracking_categories,delivery_address,vendor,accounting_period")] TrackingCategoriesDeliveryAddressVendorAccountingPeriod, + [EnumMember( + Value = "tracking_categories,delivery_address,vendor,accounting_period,payment_term" + )] + TrackingCategoriesDeliveryAddressVendorAccountingPeriodPaymentTerm, + [EnumMember(Value = "tracking_categories,delivery_address,vendor,company")] TrackingCategoriesDeliveryAddressVendorCompany, [EnumMember(Value = "tracking_categories,delivery_address,vendor,company,accounting_period")] TrackingCategoriesDeliveryAddressVendorCompanyAccountingPeriod, + [EnumMember( + Value = "tracking_categories,delivery_address,vendor,company,accounting_period,payment_term" + )] + TrackingCategoriesDeliveryAddressVendorCompanyAccountingPeriodPaymentTerm, + + [EnumMember(Value = "tracking_categories,delivery_address,vendor,company,payment_term")] + TrackingCategoriesDeliveryAddressVendorCompanyPaymentTerm, + + [EnumMember(Value = "tracking_categories,delivery_address,vendor,payment_term")] + TrackingCategoriesDeliveryAddressVendorPaymentTerm, + + [EnumMember(Value = "tracking_categories,payment_term")] + TrackingCategoriesPaymentTerm, + [EnumMember(Value = "tracking_categories,vendor")] TrackingCategoriesVendor, [EnumMember(Value = "tracking_categories,vendor,accounting_period")] TrackingCategoriesVendorAccountingPeriod, + [EnumMember(Value = "tracking_categories,vendor,accounting_period,payment_term")] + TrackingCategoriesVendorAccountingPeriodPaymentTerm, + [EnumMember(Value = "tracking_categories,vendor,company")] TrackingCategoriesVendorCompany, [EnumMember(Value = "tracking_categories,vendor,company,accounting_period")] TrackingCategoriesVendorCompanyAccountingPeriod, + [EnumMember(Value = "tracking_categories,vendor,company,accounting_period,payment_term")] + TrackingCategoriesVendorCompanyAccountingPeriodPaymentTerm, + + [EnumMember(Value = "tracking_categories,vendor,company,payment_term")] + TrackingCategoriesVendorCompanyPaymentTerm, + + [EnumMember(Value = "tracking_categories,vendor,payment_term")] + TrackingCategoriesVendorPaymentTerm, + [EnumMember(Value = "vendor")] Vendor, [EnumMember(Value = "vendor,accounting_period")] VendorAccountingPeriod, + [EnumMember(Value = "vendor,accounting_period,payment_term")] + VendorAccountingPeriodPaymentTerm, + [EnumMember(Value = "vendor,company")] VendorCompany, [EnumMember(Value = "vendor,company,accounting_period")] VendorCompanyAccountingPeriod, + + [EnumMember(Value = "vendor,company,accounting_period,payment_term")] + VendorCompanyAccountingPeriodPaymentTerm, + + [EnumMember(Value = "vendor,company,payment_term")] + VendorCompanyPaymentTerm, + + [EnumMember(Value = "vendor,payment_term")] + VendorPaymentTerm, } diff --git a/src/Merge.Client/Accounting/PurchaseOrders/Types/PurchaseOrdersRetrieveRequestExpand.cs b/src/Merge.Client/Accounting/PurchaseOrders/Types/PurchaseOrdersRetrieveRequestExpand.cs index 5fcf8efd..0fa21176 100644 --- a/src/Merge.Client/Accounting/PurchaseOrders/Types/PurchaseOrdersRetrieveRequestExpand.cs +++ b/src/Merge.Client/Accounting/PurchaseOrders/Types/PurchaseOrdersRetrieveRequestExpand.cs @@ -10,90 +10,175 @@ public enum PurchaseOrdersRetrieveRequestExpand [EnumMember(Value = "accounting_period")] AccountingPeriod, + [EnumMember(Value = "accounting_period,payment_term")] + AccountingPeriodPaymentTerm, + [EnumMember(Value = "company")] Company, [EnumMember(Value = "company,accounting_period")] CompanyAccountingPeriod, + [EnumMember(Value = "company,accounting_period,payment_term")] + CompanyAccountingPeriodPaymentTerm, + + [EnumMember(Value = "company,payment_term")] + CompanyPaymentTerm, + [EnumMember(Value = "delivery_address")] DeliveryAddress, [EnumMember(Value = "delivery_address,accounting_period")] DeliveryAddressAccountingPeriod, + [EnumMember(Value = "delivery_address,accounting_period,payment_term")] + DeliveryAddressAccountingPeriodPaymentTerm, + [EnumMember(Value = "delivery_address,company")] DeliveryAddressCompany, [EnumMember(Value = "delivery_address,company,accounting_period")] DeliveryAddressCompanyAccountingPeriod, + [EnumMember(Value = "delivery_address,company,accounting_period,payment_term")] + DeliveryAddressCompanyAccountingPeriodPaymentTerm, + + [EnumMember(Value = "delivery_address,company,payment_term")] + DeliveryAddressCompanyPaymentTerm, + + [EnumMember(Value = "delivery_address,payment_term")] + DeliveryAddressPaymentTerm, + [EnumMember(Value = "delivery_address,vendor")] DeliveryAddressVendor, [EnumMember(Value = "delivery_address,vendor,accounting_period")] DeliveryAddressVendorAccountingPeriod, + [EnumMember(Value = "delivery_address,vendor,accounting_period,payment_term")] + DeliveryAddressVendorAccountingPeriodPaymentTerm, + [EnumMember(Value = "delivery_address,vendor,company")] DeliveryAddressVendorCompany, [EnumMember(Value = "delivery_address,vendor,company,accounting_period")] DeliveryAddressVendorCompanyAccountingPeriod, + [EnumMember(Value = "delivery_address,vendor,company,accounting_period,payment_term")] + DeliveryAddressVendorCompanyAccountingPeriodPaymentTerm, + + [EnumMember(Value = "delivery_address,vendor,company,payment_term")] + DeliveryAddressVendorCompanyPaymentTerm, + + [EnumMember(Value = "delivery_address,vendor,payment_term")] + DeliveryAddressVendorPaymentTerm, + [EnumMember(Value = "line_items")] LineItems, [EnumMember(Value = "line_items,accounting_period")] LineItemsAccountingPeriod, + [EnumMember(Value = "line_items,accounting_period,payment_term")] + LineItemsAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,company")] LineItemsCompany, [EnumMember(Value = "line_items,company,accounting_period")] LineItemsCompanyAccountingPeriod, + [EnumMember(Value = "line_items,company,accounting_period,payment_term")] + LineItemsCompanyAccountingPeriodPaymentTerm, + + [EnumMember(Value = "line_items,company,payment_term")] + LineItemsCompanyPaymentTerm, + [EnumMember(Value = "line_items,delivery_address")] LineItemsDeliveryAddress, [EnumMember(Value = "line_items,delivery_address,accounting_period")] LineItemsDeliveryAddressAccountingPeriod, + [EnumMember(Value = "line_items,delivery_address,accounting_period,payment_term")] + LineItemsDeliveryAddressAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,delivery_address,company")] LineItemsDeliveryAddressCompany, [EnumMember(Value = "line_items,delivery_address,company,accounting_period")] LineItemsDeliveryAddressCompanyAccountingPeriod, + [EnumMember(Value = "line_items,delivery_address,company,accounting_period,payment_term")] + LineItemsDeliveryAddressCompanyAccountingPeriodPaymentTerm, + + [EnumMember(Value = "line_items,delivery_address,company,payment_term")] + LineItemsDeliveryAddressCompanyPaymentTerm, + + [EnumMember(Value = "line_items,delivery_address,payment_term")] + LineItemsDeliveryAddressPaymentTerm, + [EnumMember(Value = "line_items,delivery_address,vendor")] LineItemsDeliveryAddressVendor, [EnumMember(Value = "line_items,delivery_address,vendor,accounting_period")] LineItemsDeliveryAddressVendorAccountingPeriod, + [EnumMember(Value = "line_items,delivery_address,vendor,accounting_period,payment_term")] + LineItemsDeliveryAddressVendorAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,delivery_address,vendor,company")] LineItemsDeliveryAddressVendorCompany, [EnumMember(Value = "line_items,delivery_address,vendor,company,accounting_period")] LineItemsDeliveryAddressVendorCompanyAccountingPeriod, + [EnumMember( + Value = "line_items,delivery_address,vendor,company,accounting_period,payment_term" + )] + LineItemsDeliveryAddressVendorCompanyAccountingPeriodPaymentTerm, + + [EnumMember(Value = "line_items,delivery_address,vendor,company,payment_term")] + LineItemsDeliveryAddressVendorCompanyPaymentTerm, + + [EnumMember(Value = "line_items,delivery_address,vendor,payment_term")] + LineItemsDeliveryAddressVendorPaymentTerm, + + [EnumMember(Value = "line_items,payment_term")] + LineItemsPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories")] LineItemsTrackingCategories, [EnumMember(Value = "line_items,tracking_categories,accounting_period")] LineItemsTrackingCategoriesAccountingPeriod, + [EnumMember(Value = "line_items,tracking_categories,accounting_period,payment_term")] + LineItemsTrackingCategoriesAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,company")] LineItemsTrackingCategoriesCompany, [EnumMember(Value = "line_items,tracking_categories,company,accounting_period")] LineItemsTrackingCategoriesCompanyAccountingPeriod, + [EnumMember(Value = "line_items,tracking_categories,company,accounting_period,payment_term")] + LineItemsTrackingCategoriesCompanyAccountingPeriodPaymentTerm, + + [EnumMember(Value = "line_items,tracking_categories,company,payment_term")] + LineItemsTrackingCategoriesCompanyPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,delivery_address")] LineItemsTrackingCategoriesDeliveryAddress, [EnumMember(Value = "line_items,tracking_categories,delivery_address,accounting_period")] LineItemsTrackingCategoriesDeliveryAddressAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,delivery_address,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesDeliveryAddressAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,delivery_address,company")] LineItemsTrackingCategoriesDeliveryAddressCompany, @@ -102,12 +187,28 @@ public enum PurchaseOrdersRetrieveRequestExpand )] LineItemsTrackingCategoriesDeliveryAddressCompanyAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,delivery_address,company,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesDeliveryAddressCompanyAccountingPeriodPaymentTerm, + + [EnumMember(Value = "line_items,tracking_categories,delivery_address,company,payment_term")] + LineItemsTrackingCategoriesDeliveryAddressCompanyPaymentTerm, + + [EnumMember(Value = "line_items,tracking_categories,delivery_address,payment_term")] + LineItemsTrackingCategoriesDeliveryAddressPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,delivery_address,vendor")] LineItemsTrackingCategoriesDeliveryAddressVendor, [EnumMember(Value = "line_items,tracking_categories,delivery_address,vendor,accounting_period")] LineItemsTrackingCategoriesDeliveryAddressVendorAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,delivery_address,vendor,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesDeliveryAddressVendorAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,delivery_address,vendor,company")] LineItemsTrackingCategoriesDeliveryAddressVendorCompany, @@ -116,87 +217,198 @@ public enum PurchaseOrdersRetrieveRequestExpand )] LineItemsTrackingCategoriesDeliveryAddressVendorCompanyAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,delivery_address,vendor,company,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesDeliveryAddressVendorCompanyAccountingPeriodPaymentTerm, + + [EnumMember( + Value = "line_items,tracking_categories,delivery_address,vendor,company,payment_term" + )] + LineItemsTrackingCategoriesDeliveryAddressVendorCompanyPaymentTerm, + + [EnumMember(Value = "line_items,tracking_categories,delivery_address,vendor,payment_term")] + LineItemsTrackingCategoriesDeliveryAddressVendorPaymentTerm, + + [EnumMember(Value = "line_items,tracking_categories,payment_term")] + LineItemsTrackingCategoriesPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,vendor")] LineItemsTrackingCategoriesVendor, [EnumMember(Value = "line_items,tracking_categories,vendor,accounting_period")] LineItemsTrackingCategoriesVendorAccountingPeriod, + [EnumMember(Value = "line_items,tracking_categories,vendor,accounting_period,payment_term")] + LineItemsTrackingCategoriesVendorAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,tracking_categories,vendor,company")] LineItemsTrackingCategoriesVendorCompany, [EnumMember(Value = "line_items,tracking_categories,vendor,company,accounting_period")] LineItemsTrackingCategoriesVendorCompanyAccountingPeriod, + [EnumMember( + Value = "line_items,tracking_categories,vendor,company,accounting_period,payment_term" + )] + LineItemsTrackingCategoriesVendorCompanyAccountingPeriodPaymentTerm, + + [EnumMember(Value = "line_items,tracking_categories,vendor,company,payment_term")] + LineItemsTrackingCategoriesVendorCompanyPaymentTerm, + + [EnumMember(Value = "line_items,tracking_categories,vendor,payment_term")] + LineItemsTrackingCategoriesVendorPaymentTerm, + [EnumMember(Value = "line_items,vendor")] LineItemsVendor, [EnumMember(Value = "line_items,vendor,accounting_period")] LineItemsVendorAccountingPeriod, + [EnumMember(Value = "line_items,vendor,accounting_period,payment_term")] + LineItemsVendorAccountingPeriodPaymentTerm, + [EnumMember(Value = "line_items,vendor,company")] LineItemsVendorCompany, [EnumMember(Value = "line_items,vendor,company,accounting_period")] LineItemsVendorCompanyAccountingPeriod, + [EnumMember(Value = "line_items,vendor,company,accounting_period,payment_term")] + LineItemsVendorCompanyAccountingPeriodPaymentTerm, + + [EnumMember(Value = "line_items,vendor,company,payment_term")] + LineItemsVendorCompanyPaymentTerm, + + [EnumMember(Value = "line_items,vendor,payment_term")] + LineItemsVendorPaymentTerm, + + [EnumMember(Value = "payment_term")] + PaymentTerm, + [EnumMember(Value = "tracking_categories")] TrackingCategories, [EnumMember(Value = "tracking_categories,accounting_period")] TrackingCategoriesAccountingPeriod, + [EnumMember(Value = "tracking_categories,accounting_period,payment_term")] + TrackingCategoriesAccountingPeriodPaymentTerm, + [EnumMember(Value = "tracking_categories,company")] TrackingCategoriesCompany, [EnumMember(Value = "tracking_categories,company,accounting_period")] TrackingCategoriesCompanyAccountingPeriod, + [EnumMember(Value = "tracking_categories,company,accounting_period,payment_term")] + TrackingCategoriesCompanyAccountingPeriodPaymentTerm, + + [EnumMember(Value = "tracking_categories,company,payment_term")] + TrackingCategoriesCompanyPaymentTerm, + [EnumMember(Value = "tracking_categories,delivery_address")] TrackingCategoriesDeliveryAddress, [EnumMember(Value = "tracking_categories,delivery_address,accounting_period")] TrackingCategoriesDeliveryAddressAccountingPeriod, + [EnumMember(Value = "tracking_categories,delivery_address,accounting_period,payment_term")] + TrackingCategoriesDeliveryAddressAccountingPeriodPaymentTerm, + [EnumMember(Value = "tracking_categories,delivery_address,company")] TrackingCategoriesDeliveryAddressCompany, [EnumMember(Value = "tracking_categories,delivery_address,company,accounting_period")] TrackingCategoriesDeliveryAddressCompanyAccountingPeriod, + [EnumMember( + Value = "tracking_categories,delivery_address,company,accounting_period,payment_term" + )] + TrackingCategoriesDeliveryAddressCompanyAccountingPeriodPaymentTerm, + + [EnumMember(Value = "tracking_categories,delivery_address,company,payment_term")] + TrackingCategoriesDeliveryAddressCompanyPaymentTerm, + + [EnumMember(Value = "tracking_categories,delivery_address,payment_term")] + TrackingCategoriesDeliveryAddressPaymentTerm, + [EnumMember(Value = "tracking_categories,delivery_address,vendor")] TrackingCategoriesDeliveryAddressVendor, [EnumMember(Value = "tracking_categories,delivery_address,vendor,accounting_period")] TrackingCategoriesDeliveryAddressVendorAccountingPeriod, + [EnumMember( + Value = "tracking_categories,delivery_address,vendor,accounting_period,payment_term" + )] + TrackingCategoriesDeliveryAddressVendorAccountingPeriodPaymentTerm, + [EnumMember(Value = "tracking_categories,delivery_address,vendor,company")] TrackingCategoriesDeliveryAddressVendorCompany, [EnumMember(Value = "tracking_categories,delivery_address,vendor,company,accounting_period")] TrackingCategoriesDeliveryAddressVendorCompanyAccountingPeriod, + [EnumMember( + Value = "tracking_categories,delivery_address,vendor,company,accounting_period,payment_term" + )] + TrackingCategoriesDeliveryAddressVendorCompanyAccountingPeriodPaymentTerm, + + [EnumMember(Value = "tracking_categories,delivery_address,vendor,company,payment_term")] + TrackingCategoriesDeliveryAddressVendorCompanyPaymentTerm, + + [EnumMember(Value = "tracking_categories,delivery_address,vendor,payment_term")] + TrackingCategoriesDeliveryAddressVendorPaymentTerm, + + [EnumMember(Value = "tracking_categories,payment_term")] + TrackingCategoriesPaymentTerm, + [EnumMember(Value = "tracking_categories,vendor")] TrackingCategoriesVendor, [EnumMember(Value = "tracking_categories,vendor,accounting_period")] TrackingCategoriesVendorAccountingPeriod, + [EnumMember(Value = "tracking_categories,vendor,accounting_period,payment_term")] + TrackingCategoriesVendorAccountingPeriodPaymentTerm, + [EnumMember(Value = "tracking_categories,vendor,company")] TrackingCategoriesVendorCompany, [EnumMember(Value = "tracking_categories,vendor,company,accounting_period")] TrackingCategoriesVendorCompanyAccountingPeriod, + [EnumMember(Value = "tracking_categories,vendor,company,accounting_period,payment_term")] + TrackingCategoriesVendorCompanyAccountingPeriodPaymentTerm, + + [EnumMember(Value = "tracking_categories,vendor,company,payment_term")] + TrackingCategoriesVendorCompanyPaymentTerm, + + [EnumMember(Value = "tracking_categories,vendor,payment_term")] + TrackingCategoriesVendorPaymentTerm, + [EnumMember(Value = "vendor")] Vendor, [EnumMember(Value = "vendor,accounting_period")] VendorAccountingPeriod, + [EnumMember(Value = "vendor,accounting_period,payment_term")] + VendorAccountingPeriodPaymentTerm, + [EnumMember(Value = "vendor,company")] VendorCompany, [EnumMember(Value = "vendor,company,accounting_period")] VendorCompanyAccountingPeriod, + + [EnumMember(Value = "vendor,company,accounting_period,payment_term")] + VendorCompanyAccountingPeriodPaymentTerm, + + [EnumMember(Value = "vendor,company,payment_term")] + VendorCompanyPaymentTerm, + + [EnumMember(Value = "vendor,payment_term")] + VendorPaymentTerm, } diff --git a/src/Merge.Client/Accounting/RegenerateKey/RegenerateKeyClient.cs b/src/Merge.Client/Accounting/RegenerateKey/RegenerateKeyClient.cs index cae141d4..34c40321 100644 --- a/src/Merge.Client/Accounting/RegenerateKey/RegenerateKeyClient.cs +++ b/src/Merge.Client/Accounting/RegenerateKey/RegenerateKeyClient.cs @@ -17,22 +17,20 @@ internal RegenerateKeyClient(RawClient client) /// /// Exchange remote keys. /// - /// - /// + /// /// await client.Accounting.RegenerateKey.CreateAsync( /// new RemoteKeyForRegenerationRequest { Name = "Remote Deployment Key 1" } /// ); - /// - /// - public async System.Threading.Tasks.Task CreateAsync( + /// + public async Task CreateAsync( RemoteKeyForRegenerationRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, @@ -44,23 +42,26 @@ public async System.Threading.Tasks.Task CreateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Accounting/RegenerateKey/Requests/RemoteKeyForRegenerationRequest.cs b/src/Merge.Client/Accounting/RegenerateKey/Requests/RemoteKeyForRegenerationRequest.cs index 87801d9e..d283080f 100644 --- a/src/Merge.Client/Accounting/RegenerateKey/Requests/RemoteKeyForRegenerationRequest.cs +++ b/src/Merge.Client/Accounting/RegenerateKey/Requests/RemoteKeyForRegenerationRequest.cs @@ -11,6 +11,7 @@ public record RemoteKeyForRegenerationRequest [JsonPropertyName("name")] public required string Name { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Scopes/Requests/LinkedAccountCommonModelScopeDeserializerRequest.cs b/src/Merge.Client/Accounting/Scopes/Requests/LinkedAccountCommonModelScopeDeserializerRequest.cs index 637d361e..9b842bb3 100644 --- a/src/Merge.Client/Accounting/Scopes/Requests/LinkedAccountCommonModelScopeDeserializerRequest.cs +++ b/src/Merge.Client/Accounting/Scopes/Requests/LinkedAccountCommonModelScopeDeserializerRequest.cs @@ -12,6 +12,7 @@ public record LinkedAccountCommonModelScopeDeserializerRequest public IEnumerable CommonModels { get; set; } = new List(); + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Scopes/ScopesClient.cs b/src/Merge.Client/Accounting/Scopes/ScopesClient.cs index 357937f2..01da232e 100644 --- a/src/Merge.Client/Accounting/Scopes/ScopesClient.cs +++ b/src/Merge.Client/Accounting/Scopes/ScopesClient.cs @@ -17,19 +17,17 @@ internal ScopesClient(RawClient client) /// /// Get the default permissions for Merge Common Models and fields across all Linked Accounts of a given category. [Learn more](https://help.merge.dev/en/articles/5950052-common-model-and-field-scopes). /// - /// - /// + /// /// await client.Accounting.Scopes.DefaultScopesRetrieveAsync(); - /// - /// - public async System.Threading.Tasks.Task DefaultScopesRetrieveAsync( + /// + public async Task DefaultScopesRetrieveAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -39,42 +37,43 @@ public async System.Threading.Tasks.Task DefaultScopesRetri cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Get all available permissions for Merge Common Models and fields for a single Linked Account. [Learn more](https://help.merge.dev/en/articles/5950052-common-model-and-field-scopes). /// - /// - /// + /// /// await client.Accounting.Scopes.LinkedAccountScopesRetrieveAsync(); - /// - /// - public async System.Threading.Tasks.Task LinkedAccountScopesRetrieveAsync( + /// + public async Task LinkedAccountScopesRetrieveAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -84,31 +83,33 @@ public async System.Threading.Tasks.Task LinkedAccountScope cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Update permissions for any Common Model or field for a single Linked Account. Any Scopes not set in this POST request will inherit the default Scopes. [Learn more](https://help.merge.dev/en/articles/5950052-common-model-and-field-scopes) /// - /// - /// + /// /// await client.Accounting.Scopes.LinkedAccountScopesCreateAsync( /// new LinkedAccountCommonModelScopeDeserializerRequest /// { @@ -165,17 +166,16 @@ public async System.Threading.Tasks.Task LinkedAccountScope /// }, /// } /// ); - /// - /// - public async System.Threading.Tasks.Task LinkedAccountScopesCreateAsync( + /// + public async Task LinkedAccountScopesCreateAsync( LinkedAccountCommonModelScopeDeserializerRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, @@ -187,23 +187,26 @@ public async System.Threading.Tasks.Task LinkedAccountScope cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Accounting/SyncStatus/Requests/SyncStatusListRequest.cs b/src/Merge.Client/Accounting/SyncStatus/Requests/SyncStatusListRequest.cs index 31428e6b..b648c62d 100644 --- a/src/Merge.Client/Accounting/SyncStatus/Requests/SyncStatusListRequest.cs +++ b/src/Merge.Client/Accounting/SyncStatus/Requests/SyncStatusListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,13 +8,16 @@ public record SyncStatusListRequest /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/SyncStatus/SyncStatusClient.cs b/src/Merge.Client/Accounting/SyncStatus/SyncStatusClient.cs index 296bf46e..9100d3dd 100644 --- a/src/Merge.Client/Accounting/SyncStatus/SyncStatusClient.cs +++ b/src/Merge.Client/Accounting/SyncStatus/SyncStatusClient.cs @@ -15,14 +15,12 @@ internal SyncStatusClient(RawClient client) } /// - /// Get syncing status. Possible values: `DISABLED`, `DONE`, `FAILED`, `PARTIALLY_SYNCED`, `PAUSED`, `SYNCING`. Learn more about sync status in our [Help Center](https://help.merge.dev/en/articles/8184193-merge-sync-statuses). + /// Get sync status for the current sync and the most recently finished sync. `last_sync_start` represents the most recent time any sync began. `last_sync_finished` represents the most recent time any sync completed. These timestamps may correspond to different sync instances which may result in a sync start time being later than a separate sync completed time. To ensure you are retrieving the latest available data reference the `last_sync_finished` timestamp where `last_sync_result` is `DONE`. Possible values for `status` and `last_sync_result` are `DISABLED`, `DONE`, `FAILED`, `PARTIALLY_SYNCED`, `PAUSED`, `SYNCING`. Learn more about sync status in our [Help Center](https://help.merge.dev/en/articles/8184193-merge-sync-statuses). /// - /// - /// + /// /// await client.Accounting.SyncStatus.ListAsync(new SyncStatusListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( SyncStatusListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -38,8 +36,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["page_size"] = request.PageSize.Value.ToString(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -50,23 +48,26 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Accounting/TaxRates/Requests/TaxRatesListRequest.cs b/src/Merge.Client/Accounting/TaxRates/Requests/TaxRatesListRequest.cs index b4870244..d7b1e388 100644 --- a/src/Merge.Client/Accounting/TaxRates/Requests/TaxRatesListRequest.cs +++ b/src/Merge.Client/Accounting/TaxRates/Requests/TaxRatesListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,63 +8,82 @@ public record TaxRatesListRequest /// /// If provided, will only return tax rates for this company. /// + [JsonIgnore] public string? CompanyId { get; set; } /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public string? Expand { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } + /// + /// If provided, will only return TaxRates with this name. + /// + [JsonIgnore] + public string? Name { get; set; } + /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/TaxRates/Requests/TaxRatesRetrieveRequest.cs b/src/Merge.Client/Accounting/TaxRates/Requests/TaxRatesRetrieveRequest.cs index c8b31357..eab8bd77 100644 --- a/src/Merge.Client/Accounting/TaxRates/Requests/TaxRatesRetrieveRequest.cs +++ b/src/Merge.Client/Accounting/TaxRates/Requests/TaxRatesRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,13 +8,22 @@ public record TaxRatesRetrieveRequest /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public string? Expand { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/TaxRates/TaxRatesClient.cs b/src/Merge.Client/Accounting/TaxRates/TaxRatesClient.cs index e2c59e50..4d6da663 100644 --- a/src/Merge.Client/Accounting/TaxRates/TaxRatesClient.cs +++ b/src/Merge.Client/Accounting/TaxRates/TaxRatesClient.cs @@ -17,12 +17,10 @@ internal TaxRatesClient(RawClient client) /// /// Returns a list of `TaxRate` objects. /// - /// - /// + /// /// await client.Accounting.TaxRates.ListAsync(new TaxRatesListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( TaxRatesListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -75,6 +73,10 @@ public async System.Threading.Tasks.Task ListAsync( Constants.DateTimeFormat ); } + if (request.Name != null) + { + _query["name"] = request.Name; + } if (request.PageSize != null) { _query["page_size"] = request.PageSize.Value.ToString(); @@ -84,8 +86,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["remote_id"] = request.RemoteId; } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -96,35 +98,36 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a `TaxRate` object with the given `id`. /// - /// - /// + /// /// await client.Accounting.TaxRates.RetrieveAsync("id", new TaxRatesRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, TaxRatesRetrieveRequest request, RequestOptions? options = null, @@ -140,36 +143,46 @@ public async System.Threading.Tasks.Task RetrieveAsync( { _query["include_remote_data"] = JsonUtils.Serialize(request.IncludeRemoteData.Value); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"accounting/v1/tax-rates/{id}", + Path = string.Format( + "accounting/v1/tax-rates/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Accounting/TrackingCategories/Requests/TrackingCategoriesListRequest.cs b/src/Merge.Client/Accounting/TrackingCategories/Requests/TrackingCategoriesListRequest.cs index e844ce43..31f5f51f 100644 --- a/src/Merge.Client/Accounting/TrackingCategories/Requests/TrackingCategoriesListRequest.cs +++ b/src/Merge.Client/Accounting/TrackingCategories/Requests/TrackingCategoriesListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,73 +8,94 @@ public record TrackingCategoriesListRequest /// /// If provided, will only return tracking categories for this company. /// + [JsonIgnore] public string? CompanyId { get; set; } /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public string? Expand { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } + /// + /// If provided, will only return TrackingCategories with this name. + /// + [JsonIgnore] + public string? Name { get; set; } + /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// Deprecated. Use show_enum_origins. /// + [JsonIgnore] public string? RemoteFields { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } /// /// A comma separated list of enum field names for which you'd like the original values to be returned, instead of Merge's normalized enum values. [Learn more](https://help.merge.dev/en/articles/8950958-show_enum_origins-query-parameter) /// + [JsonIgnore] public string? ShowEnumOrigins { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/TrackingCategories/Requests/TrackingCategoriesRetrieveRequest.cs b/src/Merge.Client/Accounting/TrackingCategories/Requests/TrackingCategoriesRetrieveRequest.cs index 937e6a00..3a1a0e3a 100644 --- a/src/Merge.Client/Accounting/TrackingCategories/Requests/TrackingCategoriesRetrieveRequest.cs +++ b/src/Merge.Client/Accounting/TrackingCategories/Requests/TrackingCategoriesRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,23 +8,34 @@ public record TrackingCategoriesRetrieveRequest /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public string? Expand { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + /// /// Deprecated. Use show_enum_origins. /// + [JsonIgnore] public string? RemoteFields { get; set; } /// /// A comma separated list of enum field names for which you'd like the original values to be returned, instead of Merge's normalized enum values. [Learn more](https://help.merge.dev/en/articles/8950958-show_enum_origins-query-parameter) /// + [JsonIgnore] public string? ShowEnumOrigins { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/TrackingCategories/TrackingCategoriesClient.cs b/src/Merge.Client/Accounting/TrackingCategories/TrackingCategoriesClient.cs index 203183fc..37c38942 100644 --- a/src/Merge.Client/Accounting/TrackingCategories/TrackingCategoriesClient.cs +++ b/src/Merge.Client/Accounting/TrackingCategories/TrackingCategoriesClient.cs @@ -17,12 +17,10 @@ internal TrackingCategoriesClient(RawClient client) /// /// Returns a list of `TrackingCategory` objects. /// - /// - /// + /// /// await client.Accounting.TrackingCategories.ListAsync(new TrackingCategoriesListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( TrackingCategoriesListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -75,6 +73,10 @@ public async System.Threading.Tasks.Task ListAsyn Constants.DateTimeFormat ); } + if (request.Name != null) + { + _query["name"] = request.Name; + } if (request.PageSize != null) { _query["page_size"] = request.PageSize.Value.ToString(); @@ -92,8 +94,8 @@ public async System.Threading.Tasks.Task ListAsyn _query["show_enum_origins"] = request.ShowEnumOrigins.ToString(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -104,38 +106,39 @@ public async System.Threading.Tasks.Task ListAsyn cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a `TrackingCategory` object with the given `id`. /// - /// - /// + /// /// await client.Accounting.TrackingCategories.RetrieveAsync( /// "id", /// new TrackingCategoriesRetrieveRequest() /// ); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, TrackingCategoriesRetrieveRequest request, RequestOptions? options = null, @@ -151,6 +154,10 @@ public async System.Threading.Tasks.Task RetrieveAsync( { _query["include_remote_data"] = JsonUtils.Serialize(request.IncludeRemoteData.Value); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } if (request.RemoteFields != null) { _query["remote_fields"] = request.RemoteFields.ToString(); @@ -160,35 +167,41 @@ public async System.Threading.Tasks.Task RetrieveAsync( _query["show_enum_origins"] = request.ShowEnumOrigins.ToString(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"accounting/v1/tracking-categories/{id}", + Path = string.Format( + "accounting/v1/tracking-categories/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Accounting/Transactions/Requests/TransactionsListRequest.cs b/src/Merge.Client/Accounting/Transactions/Requests/TransactionsListRequest.cs index 075b6273..dfe0fd23 100644 --- a/src/Merge.Client/Accounting/Transactions/Requests/TransactionsListRequest.cs +++ b/src/Merge.Client/Accounting/Transactions/Requests/TransactionsListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,73 +8,88 @@ public record TransactionsListRequest /// /// If provided, will only return accounting transactions for this company. /// + [JsonIgnore] public string? CompanyId { get; set; } /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public TransactionsListRequestExpand? Expand { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? TransactionDateAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? TransactionDateBefore { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Transactions/Requests/TransactionsRetrieveRequest.cs b/src/Merge.Client/Accounting/Transactions/Requests/TransactionsRetrieveRequest.cs index 1a6bf579..1642f38c 100644 --- a/src/Merge.Client/Accounting/Transactions/Requests/TransactionsRetrieveRequest.cs +++ b/src/Merge.Client/Accounting/Transactions/Requests/TransactionsRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,13 +8,22 @@ public record TransactionsRetrieveRequest /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public TransactionsRetrieveRequestExpand? Expand { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Transactions/TransactionsClient.cs b/src/Merge.Client/Accounting/Transactions/TransactionsClient.cs index 1887a262..474771d7 100644 --- a/src/Merge.Client/Accounting/Transactions/TransactionsClient.cs +++ b/src/Merge.Client/Accounting/Transactions/TransactionsClient.cs @@ -17,12 +17,10 @@ internal TransactionsClient(RawClient client) /// /// Returns a list of `Transaction` objects. /// - /// - /// + /// /// await client.Accounting.Transactions.ListAsync(new TransactionsListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( TransactionsListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -96,8 +94,8 @@ public async System.Threading.Tasks.Task ListAsync( ); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -108,35 +106,36 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a `Transaction` object with the given `id`. /// - /// - /// + /// /// await client.Accounting.Transactions.RetrieveAsync("id", new TransactionsRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, TransactionsRetrieveRequest request, RequestOptions? options = null, @@ -152,36 +151,46 @@ public async System.Threading.Tasks.Task RetrieveAsync( { _query["include_remote_data"] = JsonUtils.Serialize(request.IncludeRemoteData.Value); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"accounting/v1/transactions/{id}", + Path = string.Format( + "accounting/v1/transactions/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Accounting/Types/Account.cs b/src/Merge.Client/Accounting/Types/Account.cs index cfef94c8..eaecd5f8 100644 --- a/src/Merge.Client/Accounting/Types/Account.cs +++ b/src/Merge.Client/Accounting/Types/Account.cs @@ -1,10 +1,27 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; +/// +/// # The Account Object +/// ### Description +/// An `Account` represents a category in a company’s ledger in which a financial transaction is recorded against. The aggregation of each `Account` object is often referred to as the **Chart of Accounts**. +/// +/// An `Account` can be classified into one of the following categories, determined through the `classification` field: +/// * __Asset:__ Accounts Receivable and Bank Accounts +/// * __Liability:__ Accounts Payable and Credit Card Accounts +/// * __Equity:__ Treasury Accounts and Retained Earnings +/// * __Revenue:__ Income and Other Income +/// * __Expense:__ Cost of Goods Sold and Office Expenses +/// +/// ### Usage Example +/// Fetch from the `LIST Accounts` endpoint and view a company's accounts. +/// public record Account { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -17,12 +34,14 @@ public record Account /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -41,11 +60,11 @@ public record Account /// /// The account's broadest grouping. /// - /// - `ASSET` - ASSET - /// - `EQUITY` - EQUITY - /// - `EXPENSE` - EXPENSE - /// - `LIABILITY` - LIABILITY - /// - `REVENUE` - REVENUE + /// * `ASSET` - ASSET + /// * `EQUITY` - EQUITY + /// * `EXPENSE` - EXPENSE + /// * `LIABILITY` - LIABILITY + /// * `REVENUE` - REVENUE /// [JsonPropertyName("classification")] public ClassificationEnum? Classification { get; set; } @@ -59,19 +78,19 @@ public record Account /// /// Normalized account type- which is a narrower and more specific grouping within the account's classification. /// - /// - `BANK` - BANK - /// - `CREDIT_CARD` - CREDIT_CARD - /// - `ACCOUNTS_PAYABLE` - ACCOUNTS_PAYABLE - /// - `ACCOUNTS_RECEIVABLE` - ACCOUNTS_RECEIVABLE - /// - `FIXED_ASSET` - FIXED_ASSET - /// - `OTHER_ASSET` - OTHER_ASSET - /// - `OTHER_CURRENT_ASSET` - OTHER_CURRENT_ASSET - /// - `OTHER_EXPENSE` - OTHER_EXPENSE - /// - `OTHER_INCOME` - OTHER_INCOME - /// - `COST_OF_GOODS_SOLD` - COST_OF_GOODS_SOLD - /// - `OTHER_CURRENT_LIABILITY` - OTHER_CURRENT_LIABILITY - /// - `LONG_TERM_LIABILITY` - LONG_TERM_LIABILITY - /// - `NON_POSTING` - NON_POSTING + /// * `BANK` - BANK + /// * `CREDIT_CARD` - CREDIT_CARD + /// * `ACCOUNTS_PAYABLE` - ACCOUNTS_PAYABLE + /// * `ACCOUNTS_RECEIVABLE` - ACCOUNTS_RECEIVABLE + /// * `FIXED_ASSET` - FIXED_ASSET + /// * `OTHER_ASSET` - OTHER_ASSET + /// * `OTHER_CURRENT_ASSET` - OTHER_CURRENT_ASSET + /// * `OTHER_EXPENSE` - OTHER_EXPENSE + /// * `OTHER_INCOME` - OTHER_INCOME + /// * `COST_OF_GOODS_SOLD` - COST_OF_GOODS_SOLD + /// * `OTHER_CURRENT_LIABILITY` - OTHER_CURRENT_LIABILITY + /// * `LONG_TERM_LIABILITY` - LONG_TERM_LIABILITY + /// * `NON_POSTING` - NON_POSTING /// [JsonPropertyName("account_type")] public AccountAccountTypeEnum? AccountType { get; set; } @@ -79,9 +98,9 @@ public record Account /// /// The account's status. /// - /// - `ACTIVE` - ACTIVE - /// - `PENDING` - PENDING - /// - `INACTIVE` - INACTIVE + /// * `ACTIVE` - ACTIVE + /// * `PENDING` - PENDING + /// * `INACTIVE` - INACTIVE /// [JsonPropertyName("status")] public AccountStatusEnum? Status { get; set; } @@ -95,312 +114,312 @@ public record Account /// /// The account's currency. /// - /// - `XUA` - ADB Unit of Account - /// - `AFN` - Afghan Afghani - /// - `AFA` - Afghan Afghani (1927–2002) - /// - `ALL` - Albanian Lek - /// - `ALK` - Albanian Lek (1946–1965) - /// - `DZD` - Algerian Dinar - /// - `ADP` - Andorran Peseta - /// - `AOA` - Angolan Kwanza - /// - `AOK` - Angolan Kwanza (1977–1991) - /// - `AON` - Angolan New Kwanza (1990–2000) - /// - `AOR` - Angolan Readjusted Kwanza (1995–1999) - /// - `ARA` - Argentine Austral - /// - `ARS` - Argentine Peso - /// - `ARM` - Argentine Peso (1881–1970) - /// - `ARP` - Argentine Peso (1983–1985) - /// - `ARL` - Argentine Peso Ley (1970–1983) - /// - `AMD` - Armenian Dram - /// - `AWG` - Aruban Florin - /// - `AUD` - Australian Dollar - /// - `ATS` - Austrian Schilling - /// - `AZN` - Azerbaijani Manat - /// - `AZM` - Azerbaijani Manat (1993–2006) - /// - `BSD` - Bahamian Dollar - /// - `BHD` - Bahraini Dinar - /// - `BDT` - Bangladeshi Taka - /// - `BBD` - Barbadian Dollar - /// - `BYN` - Belarusian Ruble - /// - `BYB` - Belarusian Ruble (1994–1999) - /// - `BYR` - Belarusian Ruble (2000–2016) - /// - `BEF` - Belgian Franc - /// - `BEC` - Belgian Franc (convertible) - /// - `BEL` - Belgian Franc (financial) - /// - `BZD` - Belize Dollar - /// - `BMD` - Bermudan Dollar - /// - `BTN` - Bhutanese Ngultrum - /// - `BOB` - Bolivian Boliviano - /// - `BOL` - Bolivian Boliviano (1863–1963) - /// - `BOV` - Bolivian Mvdol - /// - `BOP` - Bolivian Peso - /// - `BAM` - Bosnia-Herzegovina Convertible Mark - /// - `BAD` - Bosnia-Herzegovina Dinar (1992–1994) - /// - `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) - /// - `BWP` - Botswanan Pula - /// - `BRC` - Brazilian Cruzado (1986–1989) - /// - `BRZ` - Brazilian Cruzeiro (1942–1967) - /// - `BRE` - Brazilian Cruzeiro (1990–1993) - /// - `BRR` - Brazilian Cruzeiro (1993–1994) - /// - `BRN` - Brazilian New Cruzado (1989–1990) - /// - `BRB` - Brazilian New Cruzeiro (1967–1986) - /// - `BRL` - Brazilian Real - /// - `GBP` - British Pound - /// - `BND` - Brunei Dollar - /// - `BGL` - Bulgarian Hard Lev - /// - `BGN` - Bulgarian Lev - /// - `BGO` - Bulgarian Lev (1879–1952) - /// - `BGM` - Bulgarian Socialist Lev - /// - `BUK` - Burmese Kyat - /// - `BIF` - Burundian Franc - /// - `XPF` - CFP Franc - /// - `KHR` - Cambodian Riel - /// - `CAD` - Canadian Dollar - /// - `CVE` - Cape Verdean Escudo - /// - `KYD` - Cayman Islands Dollar - /// - `XAF` - Central African CFA Franc - /// - `CLE` - Chilean Escudo - /// - `CLP` - Chilean Peso - /// - `CLF` - Chilean Unit of Account (UF) - /// - `CNX` - Chinese People’s Bank Dollar - /// - `CNY` - Chinese Yuan - /// - `CNH` - Chinese Yuan (offshore) - /// - `COP` - Colombian Peso - /// - `COU` - Colombian Real Value Unit - /// - `KMF` - Comorian Franc - /// - `CDF` - Congolese Franc - /// - `CRC` - Costa Rican Colón - /// - `HRD` - Croatian Dinar - /// - `HRK` - Croatian Kuna - /// - `CUC` - Cuban Convertible Peso - /// - `CUP` - Cuban Peso - /// - `CYP` - Cypriot Pound - /// - `CZK` - Czech Koruna - /// - `CSK` - Czechoslovak Hard Koruna - /// - `DKK` - Danish Krone - /// - `DJF` - Djiboutian Franc - /// - `DOP` - Dominican Peso - /// - `NLG` - Dutch Guilder - /// - `XCD` - East Caribbean Dollar - /// - `DDM` - East German Mark - /// - `ECS` - Ecuadorian Sucre - /// - `ECV` - Ecuadorian Unit of Constant Value - /// - `EGP` - Egyptian Pound - /// - `GQE` - Equatorial Guinean Ekwele - /// - `ERN` - Eritrean Nakfa - /// - `EEK` - Estonian Kroon - /// - `ETB` - Ethiopian Birr - /// - `EUR` - Euro - /// - `XBA` - European Composite Unit - /// - `XEU` - European Currency Unit - /// - `XBB` - European Monetary Unit - /// - `XBC` - European Unit of Account (XBC) - /// - `XBD` - European Unit of Account (XBD) - /// - `FKP` - Falkland Islands Pound - /// - `FJD` - Fijian Dollar - /// - `FIM` - Finnish Markka - /// - `FRF` - French Franc - /// - `XFO` - French Gold Franc - /// - `XFU` - French UIC-Franc - /// - `GMD` - Gambian Dalasi - /// - `GEK` - Georgian Kupon Larit - /// - `GEL` - Georgian Lari - /// - `DEM` - German Mark - /// - `GHS` - Ghanaian Cedi - /// - `GHC` - Ghanaian Cedi (1979–2007) - /// - `GIP` - Gibraltar Pound - /// - `XAU` - Gold - /// - `GRD` - Greek Drachma - /// - `GTQ` - Guatemalan Quetzal - /// - `GWP` - Guinea-Bissau Peso - /// - `GNF` - Guinean Franc - /// - `GNS` - Guinean Syli - /// - `GYD` - Guyanaese Dollar - /// - `HTG` - Haitian Gourde - /// - `HNL` - Honduran Lempira - /// - `HKD` - Hong Kong Dollar - /// - `HUF` - Hungarian Forint - /// - `IMP` - IMP - /// - `ISK` - Icelandic Króna - /// - `ISJ` - Icelandic Króna (1918–1981) - /// - `INR` - Indian Rupee - /// - `IDR` - Indonesian Rupiah - /// - `IRR` - Iranian Rial - /// - `IQD` - Iraqi Dinar - /// - `IEP` - Irish Pound - /// - `ILS` - Israeli New Shekel - /// - `ILP` - Israeli Pound - /// - `ILR` - Israeli Shekel (1980–1985) - /// - `ITL` - Italian Lira - /// - `JMD` - Jamaican Dollar - /// - `JPY` - Japanese Yen - /// - `JOD` - Jordanian Dinar - /// - `KZT` - Kazakhstani Tenge - /// - `KES` - Kenyan Shilling - /// - `KWD` - Kuwaiti Dinar - /// - `KGS` - Kyrgystani Som - /// - `LAK` - Laotian Kip - /// - `LVL` - Latvian Lats - /// - `LVR` - Latvian Ruble - /// - `LBP` - Lebanese Pound - /// - `LSL` - Lesotho Loti - /// - `LRD` - Liberian Dollar - /// - `LYD` - Libyan Dinar - /// - `LTL` - Lithuanian Litas - /// - `LTT` - Lithuanian Talonas - /// - `LUL` - Luxembourg Financial Franc - /// - `LUC` - Luxembourgian Convertible Franc - /// - `LUF` - Luxembourgian Franc - /// - `MOP` - Macanese Pataca - /// - `MKD` - Macedonian Denar - /// - `MKN` - Macedonian Denar (1992–1993) - /// - `MGA` - Malagasy Ariary - /// - `MGF` - Malagasy Franc - /// - `MWK` - Malawian Kwacha - /// - `MYR` - Malaysian Ringgit - /// - `MVR` - Maldivian Rufiyaa - /// - `MVP` - Maldivian Rupee (1947–1981) - /// - `MLF` - Malian Franc - /// - `MTL` - Maltese Lira - /// - `MTP` - Maltese Pound - /// - `MRU` - Mauritanian Ouguiya - /// - `MRO` - Mauritanian Ouguiya (1973–2017) - /// - `MUR` - Mauritian Rupee - /// - `MXV` - Mexican Investment Unit - /// - `MXN` - Mexican Peso - /// - `MXP` - Mexican Silver Peso (1861–1992) - /// - `MDC` - Moldovan Cupon - /// - `MDL` - Moldovan Leu - /// - `MCF` - Monegasque Franc - /// - `MNT` - Mongolian Tugrik - /// - `MAD` - Moroccan Dirham - /// - `MAF` - Moroccan Franc - /// - `MZE` - Mozambican Escudo - /// - `MZN` - Mozambican Metical - /// - `MZM` - Mozambican Metical (1980–2006) - /// - `MMK` - Myanmar Kyat - /// - `NAD` - Namibian Dollar - /// - `NPR` - Nepalese Rupee - /// - `ANG` - Netherlands Antillean Guilder - /// - `TWD` - New Taiwan Dollar - /// - `NZD` - New Zealand Dollar - /// - `NIO` - Nicaraguan Córdoba - /// - `NIC` - Nicaraguan Córdoba (1988–1991) - /// - `NGN` - Nigerian Naira - /// - `KPW` - North Korean Won - /// - `NOK` - Norwegian Krone - /// - `OMR` - Omani Rial - /// - `PKR` - Pakistani Rupee - /// - `XPD` - Palladium - /// - `PAB` - Panamanian Balboa - /// - `PGK` - Papua New Guinean Kina - /// - `PYG` - Paraguayan Guarani - /// - `PEI` - Peruvian Inti - /// - `PEN` - Peruvian Sol - /// - `PES` - Peruvian Sol (1863–1965) - /// - `PHP` - Philippine Peso - /// - `XPT` - Platinum - /// - `PLN` - Polish Zloty - /// - `PLZ` - Polish Zloty (1950–1995) - /// - `PTE` - Portuguese Escudo - /// - `GWE` - Portuguese Guinea Escudo - /// - `QAR` - Qatari Rial - /// - `XRE` - RINET Funds - /// - `RHD` - Rhodesian Dollar - /// - `RON` - Romanian Leu - /// - `ROL` - Romanian Leu (1952–2006) - /// - `RUB` - Russian Ruble - /// - `RUR` - Russian Ruble (1991–1998) - /// - `RWF` - Rwandan Franc - /// - `SVC` - Salvadoran Colón - /// - `WST` - Samoan Tala - /// - `SAR` - Saudi Riyal - /// - `RSD` - Serbian Dinar - /// - `CSD` - Serbian Dinar (2002–2006) - /// - `SCR` - Seychellois Rupee - /// - `SLL` - Sierra Leonean Leone - /// - `XAG` - Silver - /// - `SGD` - Singapore Dollar - /// - `SKK` - Slovak Koruna - /// - `SIT` - Slovenian Tolar - /// - `SBD` - Solomon Islands Dollar - /// - `SOS` - Somali Shilling - /// - `ZAR` - South African Rand - /// - `ZAL` - South African Rand (financial) - /// - `KRH` - South Korean Hwan (1953–1962) - /// - `KRW` - South Korean Won - /// - `KRO` - South Korean Won (1945–1953) - /// - `SSP` - South Sudanese Pound - /// - `SUR` - Soviet Rouble - /// - `ESP` - Spanish Peseta - /// - `ESA` - Spanish Peseta (A account) - /// - `ESB` - Spanish Peseta (convertible account) - /// - `XDR` - Special Drawing Rights - /// - `LKR` - Sri Lankan Rupee - /// - `SHP` - St. Helena Pound - /// - `XSU` - Sucre - /// - `SDD` - Sudanese Dinar (1992–2007) - /// - `SDG` - Sudanese Pound - /// - `SDP` - Sudanese Pound (1957–1998) - /// - `SRD` - Surinamese Dollar - /// - `SRG` - Surinamese Guilder - /// - `SZL` - Swazi Lilangeni - /// - `SEK` - Swedish Krona - /// - `CHF` - Swiss Franc - /// - `SYP` - Syrian Pound - /// - `STN` - São Tomé & Príncipe Dobra - /// - `STD` - São Tomé & Príncipe Dobra (1977–2017) - /// - `TVD` - TVD - /// - `TJR` - Tajikistani Ruble - /// - `TJS` - Tajikistani Somoni - /// - `TZS` - Tanzanian Shilling - /// - `XTS` - Testing Currency Code - /// - `THB` - Thai Baht - /// - `XXX` - The codes assigned for transactions where no currency is involved - /// - `TPE` - Timorese Escudo - /// - `TOP` - Tongan Paʻanga - /// - `TTD` - Trinidad & Tobago Dollar - /// - `TND` - Tunisian Dinar - /// - `TRY` - Turkish Lira - /// - `TRL` - Turkish Lira (1922–2005) - /// - `TMT` - Turkmenistani Manat - /// - `TMM` - Turkmenistani Manat (1993–2009) - /// - `USD` - US Dollar - /// - `USN` - US Dollar (Next day) - /// - `USS` - US Dollar (Same day) - /// - `UGX` - Ugandan Shilling - /// - `UGS` - Ugandan Shilling (1966–1987) - /// - `UAH` - Ukrainian Hryvnia - /// - `UAK` - Ukrainian Karbovanets - /// - `AED` - United Arab Emirates Dirham - /// - `UYW` - Uruguayan Nominal Wage Index Unit - /// - `UYU` - Uruguayan Peso - /// - `UYP` - Uruguayan Peso (1975–1993) - /// - `UYI` - Uruguayan Peso (Indexed Units) - /// - `UZS` - Uzbekistani Som - /// - `VUV` - Vanuatu Vatu - /// - `VES` - Venezuelan Bolívar - /// - `VEB` - Venezuelan Bolívar (1871–2008) - /// - `VEF` - Venezuelan Bolívar (2008–2018) - /// - `VND` - Vietnamese Dong - /// - `VNN` - Vietnamese Dong (1978–1985) - /// - `CHE` - WIR Euro - /// - `CHW` - WIR Franc - /// - `XOF` - West African CFA Franc - /// - `YDD` - Yemeni Dinar - /// - `YER` - Yemeni Rial - /// - `YUN` - Yugoslavian Convertible Dinar (1990–1992) - /// - `YUD` - Yugoslavian Hard Dinar (1966–1990) - /// - `YUM` - Yugoslavian New Dinar (1994–2002) - /// - `YUR` - Yugoslavian Reformed Dinar (1992–1993) - /// - `ZWN` - ZWN - /// - `ZRN` - Zairean New Zaire (1993–1998) - /// - `ZRZ` - Zairean Zaire (1971–1993) - /// - `ZMW` - Zambian Kwacha - /// - `ZMK` - Zambian Kwacha (1968–2012) - /// - `ZWD` - Zimbabwean Dollar (1980–2008) - /// - `ZWR` - Zimbabwean Dollar (2008) - /// - `ZWL` - Zimbabwean Dollar (2009) + /// * `XUA` - ADB Unit of Account + /// * `AFN` - Afghan Afghani + /// * `AFA` - Afghan Afghani (1927–2002) + /// * `ALL` - Albanian Lek + /// * `ALK` - Albanian Lek (1946–1965) + /// * `DZD` - Algerian Dinar + /// * `ADP` - Andorran Peseta + /// * `AOA` - Angolan Kwanza + /// * `AOK` - Angolan Kwanza (1977–1991) + /// * `AON` - Angolan New Kwanza (1990–2000) + /// * `AOR` - Angolan Readjusted Kwanza (1995–1999) + /// * `ARA` - Argentine Austral + /// * `ARS` - Argentine Peso + /// * `ARM` - Argentine Peso (1881–1970) + /// * `ARP` - Argentine Peso (1983–1985) + /// * `ARL` - Argentine Peso Ley (1970–1983) + /// * `AMD` - Armenian Dram + /// * `AWG` - Aruban Florin + /// * `AUD` - Australian Dollar + /// * `ATS` - Austrian Schilling + /// * `AZN` - Azerbaijani Manat + /// * `AZM` - Azerbaijani Manat (1993–2006) + /// * `BSD` - Bahamian Dollar + /// * `BHD` - Bahraini Dinar + /// * `BDT` - Bangladeshi Taka + /// * `BBD` - Barbadian Dollar + /// * `BYN` - Belarusian Ruble + /// * `BYB` - Belarusian Ruble (1994–1999) + /// * `BYR` - Belarusian Ruble (2000–2016) + /// * `BEF` - Belgian Franc + /// * `BEC` - Belgian Franc (convertible) + /// * `BEL` - Belgian Franc (financial) + /// * `BZD` - Belize Dollar + /// * `BMD` - Bermudan Dollar + /// * `BTN` - Bhutanese Ngultrum + /// * `BOB` - Bolivian Boliviano + /// * `BOL` - Bolivian Boliviano (1863–1963) + /// * `BOV` - Bolivian Mvdol + /// * `BOP` - Bolivian Peso + /// * `BAM` - Bosnia-Herzegovina Convertible Mark + /// * `BAD` - Bosnia-Herzegovina Dinar (1992–1994) + /// * `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) + /// * `BWP` - Botswanan Pula + /// * `BRC` - Brazilian Cruzado (1986–1989) + /// * `BRZ` - Brazilian Cruzeiro (1942–1967) + /// * `BRE` - Brazilian Cruzeiro (1990–1993) + /// * `BRR` - Brazilian Cruzeiro (1993–1994) + /// * `BRN` - Brazilian New Cruzado (1989–1990) + /// * `BRB` - Brazilian New Cruzeiro (1967–1986) + /// * `BRL` - Brazilian Real + /// * `GBP` - British Pound + /// * `BND` - Brunei Dollar + /// * `BGL` - Bulgarian Hard Lev + /// * `BGN` - Bulgarian Lev + /// * `BGO` - Bulgarian Lev (1879–1952) + /// * `BGM` - Bulgarian Socialist Lev + /// * `BUK` - Burmese Kyat + /// * `BIF` - Burundian Franc + /// * `XPF` - CFP Franc + /// * `KHR` - Cambodian Riel + /// * `CAD` - Canadian Dollar + /// * `CVE` - Cape Verdean Escudo + /// * `KYD` - Cayman Islands Dollar + /// * `XAF` - Central African CFA Franc + /// * `CLE` - Chilean Escudo + /// * `CLP` - Chilean Peso + /// * `CLF` - Chilean Unit of Account (UF) + /// * `CNX` - Chinese People’s Bank Dollar + /// * `CNY` - Chinese Yuan + /// * `CNH` - Chinese Yuan (offshore) + /// * `COP` - Colombian Peso + /// * `COU` - Colombian Real Value Unit + /// * `KMF` - Comorian Franc + /// * `CDF` - Congolese Franc + /// * `CRC` - Costa Rican Colón + /// * `HRD` - Croatian Dinar + /// * `HRK` - Croatian Kuna + /// * `CUC` - Cuban Convertible Peso + /// * `CUP` - Cuban Peso + /// * `CYP` - Cypriot Pound + /// * `CZK` - Czech Koruna + /// * `CSK` - Czechoslovak Hard Koruna + /// * `DKK` - Danish Krone + /// * `DJF` - Djiboutian Franc + /// * `DOP` - Dominican Peso + /// * `NLG` - Dutch Guilder + /// * `XCD` - East Caribbean Dollar + /// * `DDM` - East German Mark + /// * `ECS` - Ecuadorian Sucre + /// * `ECV` - Ecuadorian Unit of Constant Value + /// * `EGP` - Egyptian Pound + /// * `GQE` - Equatorial Guinean Ekwele + /// * `ERN` - Eritrean Nakfa + /// * `EEK` - Estonian Kroon + /// * `ETB` - Ethiopian Birr + /// * `EUR` - Euro + /// * `XBA` - European Composite Unit + /// * `XEU` - European Currency Unit + /// * `XBB` - European Monetary Unit + /// * `XBC` - European Unit of Account (XBC) + /// * `XBD` - European Unit of Account (XBD) + /// * `FKP` - Falkland Islands Pound + /// * `FJD` - Fijian Dollar + /// * `FIM` - Finnish Markka + /// * `FRF` - French Franc + /// * `XFO` - French Gold Franc + /// * `XFU` - French UIC-Franc + /// * `GMD` - Gambian Dalasi + /// * `GEK` - Georgian Kupon Larit + /// * `GEL` - Georgian Lari + /// * `DEM` - German Mark + /// * `GHS` - Ghanaian Cedi + /// * `GHC` - Ghanaian Cedi (1979–2007) + /// * `GIP` - Gibraltar Pound + /// * `XAU` - Gold + /// * `GRD` - Greek Drachma + /// * `GTQ` - Guatemalan Quetzal + /// * `GWP` - Guinea-Bissau Peso + /// * `GNF` - Guinean Franc + /// * `GNS` - Guinean Syli + /// * `GYD` - Guyanaese Dollar + /// * `HTG` - Haitian Gourde + /// * `HNL` - Honduran Lempira + /// * `HKD` - Hong Kong Dollar + /// * `HUF` - Hungarian Forint + /// * `IMP` - IMP + /// * `ISK` - Icelandic Króna + /// * `ISJ` - Icelandic Króna (1918–1981) + /// * `INR` - Indian Rupee + /// * `IDR` - Indonesian Rupiah + /// * `IRR` - Iranian Rial + /// * `IQD` - Iraqi Dinar + /// * `IEP` - Irish Pound + /// * `ILS` - Israeli New Shekel + /// * `ILP` - Israeli Pound + /// * `ILR` - Israeli Shekel (1980–1985) + /// * `ITL` - Italian Lira + /// * `JMD` - Jamaican Dollar + /// * `JPY` - Japanese Yen + /// * `JOD` - Jordanian Dinar + /// * `KZT` - Kazakhstani Tenge + /// * `KES` - Kenyan Shilling + /// * `KWD` - Kuwaiti Dinar + /// * `KGS` - Kyrgystani Som + /// * `LAK` - Laotian Kip + /// * `LVL` - Latvian Lats + /// * `LVR` - Latvian Ruble + /// * `LBP` - Lebanese Pound + /// * `LSL` - Lesotho Loti + /// * `LRD` - Liberian Dollar + /// * `LYD` - Libyan Dinar + /// * `LTL` - Lithuanian Litas + /// * `LTT` - Lithuanian Talonas + /// * `LUL` - Luxembourg Financial Franc + /// * `LUC` - Luxembourgian Convertible Franc + /// * `LUF` - Luxembourgian Franc + /// * `MOP` - Macanese Pataca + /// * `MKD` - Macedonian Denar + /// * `MKN` - Macedonian Denar (1992–1993) + /// * `MGA` - Malagasy Ariary + /// * `MGF` - Malagasy Franc + /// * `MWK` - Malawian Kwacha + /// * `MYR` - Malaysian Ringgit + /// * `MVR` - Maldivian Rufiyaa + /// * `MVP` - Maldivian Rupee (1947–1981) + /// * `MLF` - Malian Franc + /// * `MTL` - Maltese Lira + /// * `MTP` - Maltese Pound + /// * `MRU` - Mauritanian Ouguiya + /// * `MRO` - Mauritanian Ouguiya (1973–2017) + /// * `MUR` - Mauritian Rupee + /// * `MXV` - Mexican Investment Unit + /// * `MXN` - Mexican Peso + /// * `MXP` - Mexican Silver Peso (1861–1992) + /// * `MDC` - Moldovan Cupon + /// * `MDL` - Moldovan Leu + /// * `MCF` - Monegasque Franc + /// * `MNT` - Mongolian Tugrik + /// * `MAD` - Moroccan Dirham + /// * `MAF` - Moroccan Franc + /// * `MZE` - Mozambican Escudo + /// * `MZN` - Mozambican Metical + /// * `MZM` - Mozambican Metical (1980–2006) + /// * `MMK` - Myanmar Kyat + /// * `NAD` - Namibian Dollar + /// * `NPR` - Nepalese Rupee + /// * `ANG` - Netherlands Antillean Guilder + /// * `TWD` - New Taiwan Dollar + /// * `NZD` - New Zealand Dollar + /// * `NIO` - Nicaraguan Córdoba + /// * `NIC` - Nicaraguan Córdoba (1988–1991) + /// * `NGN` - Nigerian Naira + /// * `KPW` - North Korean Won + /// * `NOK` - Norwegian Krone + /// * `OMR` - Omani Rial + /// * `PKR` - Pakistani Rupee + /// * `XPD` - Palladium + /// * `PAB` - Panamanian Balboa + /// * `PGK` - Papua New Guinean Kina + /// * `PYG` - Paraguayan Guarani + /// * `PEI` - Peruvian Inti + /// * `PEN` - Peruvian Sol + /// * `PES` - Peruvian Sol (1863–1965) + /// * `PHP` - Philippine Peso + /// * `XPT` - Platinum + /// * `PLN` - Polish Zloty + /// * `PLZ` - Polish Zloty (1950–1995) + /// * `PTE` - Portuguese Escudo + /// * `GWE` - Portuguese Guinea Escudo + /// * `QAR` - Qatari Rial + /// * `XRE` - RINET Funds + /// * `RHD` - Rhodesian Dollar + /// * `RON` - Romanian Leu + /// * `ROL` - Romanian Leu (1952–2006) + /// * `RUB` - Russian Ruble + /// * `RUR` - Russian Ruble (1991–1998) + /// * `RWF` - Rwandan Franc + /// * `SVC` - Salvadoran Colón + /// * `WST` - Samoan Tala + /// * `SAR` - Saudi Riyal + /// * `RSD` - Serbian Dinar + /// * `CSD` - Serbian Dinar (2002–2006) + /// * `SCR` - Seychellois Rupee + /// * `SLL` - Sierra Leonean Leone + /// * `XAG` - Silver + /// * `SGD` - Singapore Dollar + /// * `SKK` - Slovak Koruna + /// * `SIT` - Slovenian Tolar + /// * `SBD` - Solomon Islands Dollar + /// * `SOS` - Somali Shilling + /// * `ZAR` - South African Rand + /// * `ZAL` - South African Rand (financial) + /// * `KRH` - South Korean Hwan (1953–1962) + /// * `KRW` - South Korean Won + /// * `KRO` - South Korean Won (1945–1953) + /// * `SSP` - South Sudanese Pound + /// * `SUR` - Soviet Rouble + /// * `ESP` - Spanish Peseta + /// * `ESA` - Spanish Peseta (A account) + /// * `ESB` - Spanish Peseta (convertible account) + /// * `XDR` - Special Drawing Rights + /// * `LKR` - Sri Lankan Rupee + /// * `SHP` - St. Helena Pound + /// * `XSU` - Sucre + /// * `SDD` - Sudanese Dinar (1992–2007) + /// * `SDG` - Sudanese Pound + /// * `SDP` - Sudanese Pound (1957–1998) + /// * `SRD` - Surinamese Dollar + /// * `SRG` - Surinamese Guilder + /// * `SZL` - Swazi Lilangeni + /// * `SEK` - Swedish Krona + /// * `CHF` - Swiss Franc + /// * `SYP` - Syrian Pound + /// * `STN` - São Tomé & Príncipe Dobra + /// * `STD` - São Tomé & Príncipe Dobra (1977–2017) + /// * `TVD` - TVD + /// * `TJR` - Tajikistani Ruble + /// * `TJS` - Tajikistani Somoni + /// * `TZS` - Tanzanian Shilling + /// * `XTS` - Testing Currency Code + /// * `THB` - Thai Baht + /// * `XXX` - The codes assigned for transactions where no currency is involved + /// * `TPE` - Timorese Escudo + /// * `TOP` - Tongan Paʻanga + /// * `TTD` - Trinidad & Tobago Dollar + /// * `TND` - Tunisian Dinar + /// * `TRY` - Turkish Lira + /// * `TRL` - Turkish Lira (1922–2005) + /// * `TMT` - Turkmenistani Manat + /// * `TMM` - Turkmenistani Manat (1993–2009) + /// * `USD` - US Dollar + /// * `USN` - US Dollar (Next day) + /// * `USS` - US Dollar (Same day) + /// * `UGX` - Ugandan Shilling + /// * `UGS` - Ugandan Shilling (1966–1987) + /// * `UAH` - Ukrainian Hryvnia + /// * `UAK` - Ukrainian Karbovanets + /// * `AED` - United Arab Emirates Dirham + /// * `UYW` - Uruguayan Nominal Wage Index Unit + /// * `UYU` - Uruguayan Peso + /// * `UYP` - Uruguayan Peso (1975–1993) + /// * `UYI` - Uruguayan Peso (Indexed Units) + /// * `UZS` - Uzbekistani Som + /// * `VUV` - Vanuatu Vatu + /// * `VES` - Venezuelan Bolívar + /// * `VEB` - Venezuelan Bolívar (1871–2008) + /// * `VEF` - Venezuelan Bolívar (2008–2018) + /// * `VND` - Vietnamese Dong + /// * `VNN` - Vietnamese Dong (1978–1985) + /// * `CHE` - WIR Euro + /// * `CHW` - WIR Franc + /// * `XOF` - West African CFA Franc + /// * `YDD` - Yemeni Dinar + /// * `YER` - Yemeni Rial + /// * `YUN` - Yugoslavian Convertible Dinar (1990–1992) + /// * `YUD` - Yugoslavian Hard Dinar (1966–1990) + /// * `YUM` - Yugoslavian New Dinar (1994–2002) + /// * `YUR` - Yugoslavian Reformed Dinar (1992–1993) + /// * `ZWN` - ZWN + /// * `ZRN` - Zairean New Zaire (1993–1998) + /// * `ZRZ` - Zairean Zaire (1971–1993) + /// * `ZMW` - Zambian Kwacha + /// * `ZMK` - Zambian Kwacha (1968–2012) + /// * `ZWD` - Zimbabwean Dollar (1980–2008) + /// * `ZWR` - Zimbabwean Dollar (2008) + /// * `ZWL` - Zimbabwean Dollar (2009) /// [JsonPropertyName("currency")] public TransactionCurrencyEnum? Currency { get; set; } @@ -426,15 +445,29 @@ public record Account /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/AccountDetails.cs b/src/Merge.Client/Accounting/Types/AccountDetails.cs index fd063456..efab4338 100644 --- a/src/Merge.Client/Accounting/Types/AccountDetails.cs +++ b/src/Merge.Client/Accounting/Types/AccountDetails.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -5,39 +6,49 @@ namespace Merge.Client.Accounting; public record AccountDetails { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("integration")] public string? Integration { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("integration_slug")] public string? IntegrationSlug { get; set; } [JsonPropertyName("category")] public CategoryEnum? Category { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("end_user_origin_id")] public string? EndUserOriginId { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("end_user_organization_name")] public string? EndUserOrganizationName { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("end_user_email_address")] public string? EndUserEmailAddress { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("status")] public string? Status { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("webhook_listener_url")] public string? WebhookListenerUrl { get; set; } /// /// Whether a Production Linked Account's credentials match another existing Production Linked Account. This field is `null` for Test Linked Accounts, incomplete Production Linked Accounts, and ignored duplicate Production Linked Account sets. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("is_duplicate")] public bool? IsDuplicate { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("account_type")] public string? AccountType { get; set; } @@ -47,6 +58,17 @@ public record AccountDetails [JsonPropertyName("completed_at")] public DateTime? CompletedAt { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/AccountDetailsAndActions.cs b/src/Merge.Client/Accounting/Types/AccountDetailsAndActions.cs index af1b7fd1..94db243d 100644 --- a/src/Merge.Client/Accounting/Types/AccountDetailsAndActions.cs +++ b/src/Merge.Client/Accounting/Types/AccountDetailsAndActions.cs @@ -1,8 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; +/// +/// # The LinkedAccount Object +/// ### Description +/// The `LinkedAccount` object is used to represent an end user's link with a specific integration. +/// +/// ### Usage Example +/// View a list of your organization's `LinkedAccount` objects. +/// public record AccountDetailsAndActions { [JsonPropertyName("id")] @@ -50,6 +59,17 @@ public record AccountDetailsAndActions [JsonPropertyName("completed_at")] public required DateTime CompletedAt { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/AccountDetailsAndActionsIntegration.cs b/src/Merge.Client/Accounting/Types/AccountDetailsAndActionsIntegration.cs index 6607a7d8..78b698d3 100644 --- a/src/Merge.Client/Accounting/Types/AccountDetailsAndActionsIntegration.cs +++ b/src/Merge.Client/Accounting/Types/AccountDetailsAndActionsIntegration.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -29,6 +30,17 @@ public record AccountDetailsAndActionsIntegration [JsonPropertyName("available_model_operations")] public IEnumerable? AvailableModelOperations { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/AccountIntegration.cs b/src/Merge.Client/Accounting/Types/AccountIntegration.cs index 2f638298..84f5c348 100644 --- a/src/Merge.Client/Accounting/Types/AccountIntegration.cs +++ b/src/Merge.Client/Accounting/Types/AccountIntegration.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -20,6 +21,7 @@ public record AccountIntegration /// /// Category or categories this integration belongs to. Multiple categories should be comma separated, i.e. [ats, hris]. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("categories")] public IEnumerable? Categories { get; set; } @@ -41,6 +43,7 @@ public record AccountIntegration [JsonPropertyName("color")] public string? Color { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("slug")] public string? Slug { get; set; } @@ -59,9 +62,21 @@ public record AccountIntegration /// /// Category or categories this integration is in beta status for. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("category_beta_status")] public Dictionary? CategoryBetaStatus { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/AccountRequest.cs b/src/Merge.Client/Accounting/Types/AccountRequest.cs index 6c8591d4..f35577b8 100644 --- a/src/Merge.Client/Accounting/Types/AccountRequest.cs +++ b/src/Merge.Client/Accounting/Types/AccountRequest.cs @@ -1,8 +1,24 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; +/// +/// # The Account Object +/// ### Description +/// An `Account` represents a category in a company’s ledger in which a financial transaction is recorded against. The aggregation of each `Account` object is often referred to as the **Chart of Accounts**. +/// +/// An `Account` can be classified into one of the following categories, determined through the `classification` field: +/// * __Asset:__ Accounts Receivable and Bank Accounts +/// * __Liability:__ Accounts Payable and Credit Card Accounts +/// * __Equity:__ Treasury Accounts and Retained Earnings +/// * __Revenue:__ Income and Other Income +/// * __Expense:__ Cost of Goods Sold and Office Expenses +/// +/// ### Usage Example +/// Fetch from the `LIST Accounts` endpoint and view a company's accounts. +/// public record AccountRequest { /// @@ -20,11 +36,11 @@ public record AccountRequest /// /// The account's broadest grouping. /// - /// - `ASSET` - ASSET - /// - `EQUITY` - EQUITY - /// - `EXPENSE` - EXPENSE - /// - `LIABILITY` - LIABILITY - /// - `REVENUE` - REVENUE + /// * `ASSET` - ASSET + /// * `EQUITY` - EQUITY + /// * `EXPENSE` - EXPENSE + /// * `LIABILITY` - LIABILITY + /// * `REVENUE` - REVENUE /// [JsonPropertyName("classification")] public ClassificationEnum? Classification { get; set; } @@ -38,19 +54,19 @@ public record AccountRequest /// /// Normalized account type- which is a narrower and more specific grouping within the account's classification. /// - /// - `BANK` - BANK - /// - `CREDIT_CARD` - CREDIT_CARD - /// - `ACCOUNTS_PAYABLE` - ACCOUNTS_PAYABLE - /// - `ACCOUNTS_RECEIVABLE` - ACCOUNTS_RECEIVABLE - /// - `FIXED_ASSET` - FIXED_ASSET - /// - `OTHER_ASSET` - OTHER_ASSET - /// - `OTHER_CURRENT_ASSET` - OTHER_CURRENT_ASSET - /// - `OTHER_EXPENSE` - OTHER_EXPENSE - /// - `OTHER_INCOME` - OTHER_INCOME - /// - `COST_OF_GOODS_SOLD` - COST_OF_GOODS_SOLD - /// - `OTHER_CURRENT_LIABILITY` - OTHER_CURRENT_LIABILITY - /// - `LONG_TERM_LIABILITY` - LONG_TERM_LIABILITY - /// - `NON_POSTING` - NON_POSTING + /// * `BANK` - BANK + /// * `CREDIT_CARD` - CREDIT_CARD + /// * `ACCOUNTS_PAYABLE` - ACCOUNTS_PAYABLE + /// * `ACCOUNTS_RECEIVABLE` - ACCOUNTS_RECEIVABLE + /// * `FIXED_ASSET` - FIXED_ASSET + /// * `OTHER_ASSET` - OTHER_ASSET + /// * `OTHER_CURRENT_ASSET` - OTHER_CURRENT_ASSET + /// * `OTHER_EXPENSE` - OTHER_EXPENSE + /// * `OTHER_INCOME` - OTHER_INCOME + /// * `COST_OF_GOODS_SOLD` - COST_OF_GOODS_SOLD + /// * `OTHER_CURRENT_LIABILITY` - OTHER_CURRENT_LIABILITY + /// * `LONG_TERM_LIABILITY` - LONG_TERM_LIABILITY + /// * `NON_POSTING` - NON_POSTING /// [JsonPropertyName("account_type")] public AccountAccountTypeEnum? AccountType { get; set; } @@ -58,9 +74,9 @@ public record AccountRequest /// /// The account's status. /// - /// - `ACTIVE` - ACTIVE - /// - `PENDING` - PENDING - /// - `INACTIVE` - INACTIVE + /// * `ACTIVE` - ACTIVE + /// * `PENDING` - PENDING + /// * `INACTIVE` - INACTIVE /// [JsonPropertyName("status")] public AccountStatusEnum? Status { get; set; } @@ -74,312 +90,312 @@ public record AccountRequest /// /// The account's currency. /// - /// - `XUA` - ADB Unit of Account - /// - `AFN` - Afghan Afghani - /// - `AFA` - Afghan Afghani (1927–2002) - /// - `ALL` - Albanian Lek - /// - `ALK` - Albanian Lek (1946–1965) - /// - `DZD` - Algerian Dinar - /// - `ADP` - Andorran Peseta - /// - `AOA` - Angolan Kwanza - /// - `AOK` - Angolan Kwanza (1977–1991) - /// - `AON` - Angolan New Kwanza (1990–2000) - /// - `AOR` - Angolan Readjusted Kwanza (1995–1999) - /// - `ARA` - Argentine Austral - /// - `ARS` - Argentine Peso - /// - `ARM` - Argentine Peso (1881–1970) - /// - `ARP` - Argentine Peso (1983–1985) - /// - `ARL` - Argentine Peso Ley (1970–1983) - /// - `AMD` - Armenian Dram - /// - `AWG` - Aruban Florin - /// - `AUD` - Australian Dollar - /// - `ATS` - Austrian Schilling - /// - `AZN` - Azerbaijani Manat - /// - `AZM` - Azerbaijani Manat (1993–2006) - /// - `BSD` - Bahamian Dollar - /// - `BHD` - Bahraini Dinar - /// - `BDT` - Bangladeshi Taka - /// - `BBD` - Barbadian Dollar - /// - `BYN` - Belarusian Ruble - /// - `BYB` - Belarusian Ruble (1994–1999) - /// - `BYR` - Belarusian Ruble (2000–2016) - /// - `BEF` - Belgian Franc - /// - `BEC` - Belgian Franc (convertible) - /// - `BEL` - Belgian Franc (financial) - /// - `BZD` - Belize Dollar - /// - `BMD` - Bermudan Dollar - /// - `BTN` - Bhutanese Ngultrum - /// - `BOB` - Bolivian Boliviano - /// - `BOL` - Bolivian Boliviano (1863–1963) - /// - `BOV` - Bolivian Mvdol - /// - `BOP` - Bolivian Peso - /// - `BAM` - Bosnia-Herzegovina Convertible Mark - /// - `BAD` - Bosnia-Herzegovina Dinar (1992–1994) - /// - `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) - /// - `BWP` - Botswanan Pula - /// - `BRC` - Brazilian Cruzado (1986–1989) - /// - `BRZ` - Brazilian Cruzeiro (1942–1967) - /// - `BRE` - Brazilian Cruzeiro (1990–1993) - /// - `BRR` - Brazilian Cruzeiro (1993–1994) - /// - `BRN` - Brazilian New Cruzado (1989–1990) - /// - `BRB` - Brazilian New Cruzeiro (1967–1986) - /// - `BRL` - Brazilian Real - /// - `GBP` - British Pound - /// - `BND` - Brunei Dollar - /// - `BGL` - Bulgarian Hard Lev - /// - `BGN` - Bulgarian Lev - /// - `BGO` - Bulgarian Lev (1879–1952) - /// - `BGM` - Bulgarian Socialist Lev - /// - `BUK` - Burmese Kyat - /// - `BIF` - Burundian Franc - /// - `XPF` - CFP Franc - /// - `KHR` - Cambodian Riel - /// - `CAD` - Canadian Dollar - /// - `CVE` - Cape Verdean Escudo - /// - `KYD` - Cayman Islands Dollar - /// - `XAF` - Central African CFA Franc - /// - `CLE` - Chilean Escudo - /// - `CLP` - Chilean Peso - /// - `CLF` - Chilean Unit of Account (UF) - /// - `CNX` - Chinese People’s Bank Dollar - /// - `CNY` - Chinese Yuan - /// - `CNH` - Chinese Yuan (offshore) - /// - `COP` - Colombian Peso - /// - `COU` - Colombian Real Value Unit - /// - `KMF` - Comorian Franc - /// - `CDF` - Congolese Franc - /// - `CRC` - Costa Rican Colón - /// - `HRD` - Croatian Dinar - /// - `HRK` - Croatian Kuna - /// - `CUC` - Cuban Convertible Peso - /// - `CUP` - Cuban Peso - /// - `CYP` - Cypriot Pound - /// - `CZK` - Czech Koruna - /// - `CSK` - Czechoslovak Hard Koruna - /// - `DKK` - Danish Krone - /// - `DJF` - Djiboutian Franc - /// - `DOP` - Dominican Peso - /// - `NLG` - Dutch Guilder - /// - `XCD` - East Caribbean Dollar - /// - `DDM` - East German Mark - /// - `ECS` - Ecuadorian Sucre - /// - `ECV` - Ecuadorian Unit of Constant Value - /// - `EGP` - Egyptian Pound - /// - `GQE` - Equatorial Guinean Ekwele - /// - `ERN` - Eritrean Nakfa - /// - `EEK` - Estonian Kroon - /// - `ETB` - Ethiopian Birr - /// - `EUR` - Euro - /// - `XBA` - European Composite Unit - /// - `XEU` - European Currency Unit - /// - `XBB` - European Monetary Unit - /// - `XBC` - European Unit of Account (XBC) - /// - `XBD` - European Unit of Account (XBD) - /// - `FKP` - Falkland Islands Pound - /// - `FJD` - Fijian Dollar - /// - `FIM` - Finnish Markka - /// - `FRF` - French Franc - /// - `XFO` - French Gold Franc - /// - `XFU` - French UIC-Franc - /// - `GMD` - Gambian Dalasi - /// - `GEK` - Georgian Kupon Larit - /// - `GEL` - Georgian Lari - /// - `DEM` - German Mark - /// - `GHS` - Ghanaian Cedi - /// - `GHC` - Ghanaian Cedi (1979–2007) - /// - `GIP` - Gibraltar Pound - /// - `XAU` - Gold - /// - `GRD` - Greek Drachma - /// - `GTQ` - Guatemalan Quetzal - /// - `GWP` - Guinea-Bissau Peso - /// - `GNF` - Guinean Franc - /// - `GNS` - Guinean Syli - /// - `GYD` - Guyanaese Dollar - /// - `HTG` - Haitian Gourde - /// - `HNL` - Honduran Lempira - /// - `HKD` - Hong Kong Dollar - /// - `HUF` - Hungarian Forint - /// - `IMP` - IMP - /// - `ISK` - Icelandic Króna - /// - `ISJ` - Icelandic Króna (1918–1981) - /// - `INR` - Indian Rupee - /// - `IDR` - Indonesian Rupiah - /// - `IRR` - Iranian Rial - /// - `IQD` - Iraqi Dinar - /// - `IEP` - Irish Pound - /// - `ILS` - Israeli New Shekel - /// - `ILP` - Israeli Pound - /// - `ILR` - Israeli Shekel (1980–1985) - /// - `ITL` - Italian Lira - /// - `JMD` - Jamaican Dollar - /// - `JPY` - Japanese Yen - /// - `JOD` - Jordanian Dinar - /// - `KZT` - Kazakhstani Tenge - /// - `KES` - Kenyan Shilling - /// - `KWD` - Kuwaiti Dinar - /// - `KGS` - Kyrgystani Som - /// - `LAK` - Laotian Kip - /// - `LVL` - Latvian Lats - /// - `LVR` - Latvian Ruble - /// - `LBP` - Lebanese Pound - /// - `LSL` - Lesotho Loti - /// - `LRD` - Liberian Dollar - /// - `LYD` - Libyan Dinar - /// - `LTL` - Lithuanian Litas - /// - `LTT` - Lithuanian Talonas - /// - `LUL` - Luxembourg Financial Franc - /// - `LUC` - Luxembourgian Convertible Franc - /// - `LUF` - Luxembourgian Franc - /// - `MOP` - Macanese Pataca - /// - `MKD` - Macedonian Denar - /// - `MKN` - Macedonian Denar (1992–1993) - /// - `MGA` - Malagasy Ariary - /// - `MGF` - Malagasy Franc - /// - `MWK` - Malawian Kwacha - /// - `MYR` - Malaysian Ringgit - /// - `MVR` - Maldivian Rufiyaa - /// - `MVP` - Maldivian Rupee (1947–1981) - /// - `MLF` - Malian Franc - /// - `MTL` - Maltese Lira - /// - `MTP` - Maltese Pound - /// - `MRU` - Mauritanian Ouguiya - /// - `MRO` - Mauritanian Ouguiya (1973–2017) - /// - `MUR` - Mauritian Rupee - /// - `MXV` - Mexican Investment Unit - /// - `MXN` - Mexican Peso - /// - `MXP` - Mexican Silver Peso (1861–1992) - /// - `MDC` - Moldovan Cupon - /// - `MDL` - Moldovan Leu - /// - `MCF` - Monegasque Franc - /// - `MNT` - Mongolian Tugrik - /// - `MAD` - Moroccan Dirham - /// - `MAF` - Moroccan Franc - /// - `MZE` - Mozambican Escudo - /// - `MZN` - Mozambican Metical - /// - `MZM` - Mozambican Metical (1980–2006) - /// - `MMK` - Myanmar Kyat - /// - `NAD` - Namibian Dollar - /// - `NPR` - Nepalese Rupee - /// - `ANG` - Netherlands Antillean Guilder - /// - `TWD` - New Taiwan Dollar - /// - `NZD` - New Zealand Dollar - /// - `NIO` - Nicaraguan Córdoba - /// - `NIC` - Nicaraguan Córdoba (1988–1991) - /// - `NGN` - Nigerian Naira - /// - `KPW` - North Korean Won - /// - `NOK` - Norwegian Krone - /// - `OMR` - Omani Rial - /// - `PKR` - Pakistani Rupee - /// - `XPD` - Palladium - /// - `PAB` - Panamanian Balboa - /// - `PGK` - Papua New Guinean Kina - /// - `PYG` - Paraguayan Guarani - /// - `PEI` - Peruvian Inti - /// - `PEN` - Peruvian Sol - /// - `PES` - Peruvian Sol (1863–1965) - /// - `PHP` - Philippine Peso - /// - `XPT` - Platinum - /// - `PLN` - Polish Zloty - /// - `PLZ` - Polish Zloty (1950–1995) - /// - `PTE` - Portuguese Escudo - /// - `GWE` - Portuguese Guinea Escudo - /// - `QAR` - Qatari Rial - /// - `XRE` - RINET Funds - /// - `RHD` - Rhodesian Dollar - /// - `RON` - Romanian Leu - /// - `ROL` - Romanian Leu (1952–2006) - /// - `RUB` - Russian Ruble - /// - `RUR` - Russian Ruble (1991–1998) - /// - `RWF` - Rwandan Franc - /// - `SVC` - Salvadoran Colón - /// - `WST` - Samoan Tala - /// - `SAR` - Saudi Riyal - /// - `RSD` - Serbian Dinar - /// - `CSD` - Serbian Dinar (2002–2006) - /// - `SCR` - Seychellois Rupee - /// - `SLL` - Sierra Leonean Leone - /// - `XAG` - Silver - /// - `SGD` - Singapore Dollar - /// - `SKK` - Slovak Koruna - /// - `SIT` - Slovenian Tolar - /// - `SBD` - Solomon Islands Dollar - /// - `SOS` - Somali Shilling - /// - `ZAR` - South African Rand - /// - `ZAL` - South African Rand (financial) - /// - `KRH` - South Korean Hwan (1953–1962) - /// - `KRW` - South Korean Won - /// - `KRO` - South Korean Won (1945–1953) - /// - `SSP` - South Sudanese Pound - /// - `SUR` - Soviet Rouble - /// - `ESP` - Spanish Peseta - /// - `ESA` - Spanish Peseta (A account) - /// - `ESB` - Spanish Peseta (convertible account) - /// - `XDR` - Special Drawing Rights - /// - `LKR` - Sri Lankan Rupee - /// - `SHP` - St. Helena Pound - /// - `XSU` - Sucre - /// - `SDD` - Sudanese Dinar (1992–2007) - /// - `SDG` - Sudanese Pound - /// - `SDP` - Sudanese Pound (1957–1998) - /// - `SRD` - Surinamese Dollar - /// - `SRG` - Surinamese Guilder - /// - `SZL` - Swazi Lilangeni - /// - `SEK` - Swedish Krona - /// - `CHF` - Swiss Franc - /// - `SYP` - Syrian Pound - /// - `STN` - São Tomé & Príncipe Dobra - /// - `STD` - São Tomé & Príncipe Dobra (1977–2017) - /// - `TVD` - TVD - /// - `TJR` - Tajikistani Ruble - /// - `TJS` - Tajikistani Somoni - /// - `TZS` - Tanzanian Shilling - /// - `XTS` - Testing Currency Code - /// - `THB` - Thai Baht - /// - `XXX` - The codes assigned for transactions where no currency is involved - /// - `TPE` - Timorese Escudo - /// - `TOP` - Tongan Paʻanga - /// - `TTD` - Trinidad & Tobago Dollar - /// - `TND` - Tunisian Dinar - /// - `TRY` - Turkish Lira - /// - `TRL` - Turkish Lira (1922–2005) - /// - `TMT` - Turkmenistani Manat - /// - `TMM` - Turkmenistani Manat (1993–2009) - /// - `USD` - US Dollar - /// - `USN` - US Dollar (Next day) - /// - `USS` - US Dollar (Same day) - /// - `UGX` - Ugandan Shilling - /// - `UGS` - Ugandan Shilling (1966–1987) - /// - `UAH` - Ukrainian Hryvnia - /// - `UAK` - Ukrainian Karbovanets - /// - `AED` - United Arab Emirates Dirham - /// - `UYW` - Uruguayan Nominal Wage Index Unit - /// - `UYU` - Uruguayan Peso - /// - `UYP` - Uruguayan Peso (1975–1993) - /// - `UYI` - Uruguayan Peso (Indexed Units) - /// - `UZS` - Uzbekistani Som - /// - `VUV` - Vanuatu Vatu - /// - `VES` - Venezuelan Bolívar - /// - `VEB` - Venezuelan Bolívar (1871–2008) - /// - `VEF` - Venezuelan Bolívar (2008–2018) - /// - `VND` - Vietnamese Dong - /// - `VNN` - Vietnamese Dong (1978–1985) - /// - `CHE` - WIR Euro - /// - `CHW` - WIR Franc - /// - `XOF` - West African CFA Franc - /// - `YDD` - Yemeni Dinar - /// - `YER` - Yemeni Rial - /// - `YUN` - Yugoslavian Convertible Dinar (1990–1992) - /// - `YUD` - Yugoslavian Hard Dinar (1966–1990) - /// - `YUM` - Yugoslavian New Dinar (1994–2002) - /// - `YUR` - Yugoslavian Reformed Dinar (1992–1993) - /// - `ZWN` - ZWN - /// - `ZRN` - Zairean New Zaire (1993–1998) - /// - `ZRZ` - Zairean Zaire (1971–1993) - /// - `ZMW` - Zambian Kwacha - /// - `ZMK` - Zambian Kwacha (1968–2012) - /// - `ZWD` - Zimbabwean Dollar (1980–2008) - /// - `ZWR` - Zimbabwean Dollar (2008) - /// - `ZWL` - Zimbabwean Dollar (2009) + /// * `XUA` - ADB Unit of Account + /// * `AFN` - Afghan Afghani + /// * `AFA` - Afghan Afghani (1927–2002) + /// * `ALL` - Albanian Lek + /// * `ALK` - Albanian Lek (1946–1965) + /// * `DZD` - Algerian Dinar + /// * `ADP` - Andorran Peseta + /// * `AOA` - Angolan Kwanza + /// * `AOK` - Angolan Kwanza (1977–1991) + /// * `AON` - Angolan New Kwanza (1990–2000) + /// * `AOR` - Angolan Readjusted Kwanza (1995–1999) + /// * `ARA` - Argentine Austral + /// * `ARS` - Argentine Peso + /// * `ARM` - Argentine Peso (1881–1970) + /// * `ARP` - Argentine Peso (1983–1985) + /// * `ARL` - Argentine Peso Ley (1970–1983) + /// * `AMD` - Armenian Dram + /// * `AWG` - Aruban Florin + /// * `AUD` - Australian Dollar + /// * `ATS` - Austrian Schilling + /// * `AZN` - Azerbaijani Manat + /// * `AZM` - Azerbaijani Manat (1993–2006) + /// * `BSD` - Bahamian Dollar + /// * `BHD` - Bahraini Dinar + /// * `BDT` - Bangladeshi Taka + /// * `BBD` - Barbadian Dollar + /// * `BYN` - Belarusian Ruble + /// * `BYB` - Belarusian Ruble (1994–1999) + /// * `BYR` - Belarusian Ruble (2000–2016) + /// * `BEF` - Belgian Franc + /// * `BEC` - Belgian Franc (convertible) + /// * `BEL` - Belgian Franc (financial) + /// * `BZD` - Belize Dollar + /// * `BMD` - Bermudan Dollar + /// * `BTN` - Bhutanese Ngultrum + /// * `BOB` - Bolivian Boliviano + /// * `BOL` - Bolivian Boliviano (1863–1963) + /// * `BOV` - Bolivian Mvdol + /// * `BOP` - Bolivian Peso + /// * `BAM` - Bosnia-Herzegovina Convertible Mark + /// * `BAD` - Bosnia-Herzegovina Dinar (1992–1994) + /// * `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) + /// * `BWP` - Botswanan Pula + /// * `BRC` - Brazilian Cruzado (1986–1989) + /// * `BRZ` - Brazilian Cruzeiro (1942–1967) + /// * `BRE` - Brazilian Cruzeiro (1990–1993) + /// * `BRR` - Brazilian Cruzeiro (1993–1994) + /// * `BRN` - Brazilian New Cruzado (1989–1990) + /// * `BRB` - Brazilian New Cruzeiro (1967–1986) + /// * `BRL` - Brazilian Real + /// * `GBP` - British Pound + /// * `BND` - Brunei Dollar + /// * `BGL` - Bulgarian Hard Lev + /// * `BGN` - Bulgarian Lev + /// * `BGO` - Bulgarian Lev (1879–1952) + /// * `BGM` - Bulgarian Socialist Lev + /// * `BUK` - Burmese Kyat + /// * `BIF` - Burundian Franc + /// * `XPF` - CFP Franc + /// * `KHR` - Cambodian Riel + /// * `CAD` - Canadian Dollar + /// * `CVE` - Cape Verdean Escudo + /// * `KYD` - Cayman Islands Dollar + /// * `XAF` - Central African CFA Franc + /// * `CLE` - Chilean Escudo + /// * `CLP` - Chilean Peso + /// * `CLF` - Chilean Unit of Account (UF) + /// * `CNX` - Chinese People’s Bank Dollar + /// * `CNY` - Chinese Yuan + /// * `CNH` - Chinese Yuan (offshore) + /// * `COP` - Colombian Peso + /// * `COU` - Colombian Real Value Unit + /// * `KMF` - Comorian Franc + /// * `CDF` - Congolese Franc + /// * `CRC` - Costa Rican Colón + /// * `HRD` - Croatian Dinar + /// * `HRK` - Croatian Kuna + /// * `CUC` - Cuban Convertible Peso + /// * `CUP` - Cuban Peso + /// * `CYP` - Cypriot Pound + /// * `CZK` - Czech Koruna + /// * `CSK` - Czechoslovak Hard Koruna + /// * `DKK` - Danish Krone + /// * `DJF` - Djiboutian Franc + /// * `DOP` - Dominican Peso + /// * `NLG` - Dutch Guilder + /// * `XCD` - East Caribbean Dollar + /// * `DDM` - East German Mark + /// * `ECS` - Ecuadorian Sucre + /// * `ECV` - Ecuadorian Unit of Constant Value + /// * `EGP` - Egyptian Pound + /// * `GQE` - Equatorial Guinean Ekwele + /// * `ERN` - Eritrean Nakfa + /// * `EEK` - Estonian Kroon + /// * `ETB` - Ethiopian Birr + /// * `EUR` - Euro + /// * `XBA` - European Composite Unit + /// * `XEU` - European Currency Unit + /// * `XBB` - European Monetary Unit + /// * `XBC` - European Unit of Account (XBC) + /// * `XBD` - European Unit of Account (XBD) + /// * `FKP` - Falkland Islands Pound + /// * `FJD` - Fijian Dollar + /// * `FIM` - Finnish Markka + /// * `FRF` - French Franc + /// * `XFO` - French Gold Franc + /// * `XFU` - French UIC-Franc + /// * `GMD` - Gambian Dalasi + /// * `GEK` - Georgian Kupon Larit + /// * `GEL` - Georgian Lari + /// * `DEM` - German Mark + /// * `GHS` - Ghanaian Cedi + /// * `GHC` - Ghanaian Cedi (1979–2007) + /// * `GIP` - Gibraltar Pound + /// * `XAU` - Gold + /// * `GRD` - Greek Drachma + /// * `GTQ` - Guatemalan Quetzal + /// * `GWP` - Guinea-Bissau Peso + /// * `GNF` - Guinean Franc + /// * `GNS` - Guinean Syli + /// * `GYD` - Guyanaese Dollar + /// * `HTG` - Haitian Gourde + /// * `HNL` - Honduran Lempira + /// * `HKD` - Hong Kong Dollar + /// * `HUF` - Hungarian Forint + /// * `IMP` - IMP + /// * `ISK` - Icelandic Króna + /// * `ISJ` - Icelandic Króna (1918–1981) + /// * `INR` - Indian Rupee + /// * `IDR` - Indonesian Rupiah + /// * `IRR` - Iranian Rial + /// * `IQD` - Iraqi Dinar + /// * `IEP` - Irish Pound + /// * `ILS` - Israeli New Shekel + /// * `ILP` - Israeli Pound + /// * `ILR` - Israeli Shekel (1980–1985) + /// * `ITL` - Italian Lira + /// * `JMD` - Jamaican Dollar + /// * `JPY` - Japanese Yen + /// * `JOD` - Jordanian Dinar + /// * `KZT` - Kazakhstani Tenge + /// * `KES` - Kenyan Shilling + /// * `KWD` - Kuwaiti Dinar + /// * `KGS` - Kyrgystani Som + /// * `LAK` - Laotian Kip + /// * `LVL` - Latvian Lats + /// * `LVR` - Latvian Ruble + /// * `LBP` - Lebanese Pound + /// * `LSL` - Lesotho Loti + /// * `LRD` - Liberian Dollar + /// * `LYD` - Libyan Dinar + /// * `LTL` - Lithuanian Litas + /// * `LTT` - Lithuanian Talonas + /// * `LUL` - Luxembourg Financial Franc + /// * `LUC` - Luxembourgian Convertible Franc + /// * `LUF` - Luxembourgian Franc + /// * `MOP` - Macanese Pataca + /// * `MKD` - Macedonian Denar + /// * `MKN` - Macedonian Denar (1992–1993) + /// * `MGA` - Malagasy Ariary + /// * `MGF` - Malagasy Franc + /// * `MWK` - Malawian Kwacha + /// * `MYR` - Malaysian Ringgit + /// * `MVR` - Maldivian Rufiyaa + /// * `MVP` - Maldivian Rupee (1947–1981) + /// * `MLF` - Malian Franc + /// * `MTL` - Maltese Lira + /// * `MTP` - Maltese Pound + /// * `MRU` - Mauritanian Ouguiya + /// * `MRO` - Mauritanian Ouguiya (1973–2017) + /// * `MUR` - Mauritian Rupee + /// * `MXV` - Mexican Investment Unit + /// * `MXN` - Mexican Peso + /// * `MXP` - Mexican Silver Peso (1861–1992) + /// * `MDC` - Moldovan Cupon + /// * `MDL` - Moldovan Leu + /// * `MCF` - Monegasque Franc + /// * `MNT` - Mongolian Tugrik + /// * `MAD` - Moroccan Dirham + /// * `MAF` - Moroccan Franc + /// * `MZE` - Mozambican Escudo + /// * `MZN` - Mozambican Metical + /// * `MZM` - Mozambican Metical (1980–2006) + /// * `MMK` - Myanmar Kyat + /// * `NAD` - Namibian Dollar + /// * `NPR` - Nepalese Rupee + /// * `ANG` - Netherlands Antillean Guilder + /// * `TWD` - New Taiwan Dollar + /// * `NZD` - New Zealand Dollar + /// * `NIO` - Nicaraguan Córdoba + /// * `NIC` - Nicaraguan Córdoba (1988–1991) + /// * `NGN` - Nigerian Naira + /// * `KPW` - North Korean Won + /// * `NOK` - Norwegian Krone + /// * `OMR` - Omani Rial + /// * `PKR` - Pakistani Rupee + /// * `XPD` - Palladium + /// * `PAB` - Panamanian Balboa + /// * `PGK` - Papua New Guinean Kina + /// * `PYG` - Paraguayan Guarani + /// * `PEI` - Peruvian Inti + /// * `PEN` - Peruvian Sol + /// * `PES` - Peruvian Sol (1863–1965) + /// * `PHP` - Philippine Peso + /// * `XPT` - Platinum + /// * `PLN` - Polish Zloty + /// * `PLZ` - Polish Zloty (1950–1995) + /// * `PTE` - Portuguese Escudo + /// * `GWE` - Portuguese Guinea Escudo + /// * `QAR` - Qatari Rial + /// * `XRE` - RINET Funds + /// * `RHD` - Rhodesian Dollar + /// * `RON` - Romanian Leu + /// * `ROL` - Romanian Leu (1952–2006) + /// * `RUB` - Russian Ruble + /// * `RUR` - Russian Ruble (1991–1998) + /// * `RWF` - Rwandan Franc + /// * `SVC` - Salvadoran Colón + /// * `WST` - Samoan Tala + /// * `SAR` - Saudi Riyal + /// * `RSD` - Serbian Dinar + /// * `CSD` - Serbian Dinar (2002–2006) + /// * `SCR` - Seychellois Rupee + /// * `SLL` - Sierra Leonean Leone + /// * `XAG` - Silver + /// * `SGD` - Singapore Dollar + /// * `SKK` - Slovak Koruna + /// * `SIT` - Slovenian Tolar + /// * `SBD` - Solomon Islands Dollar + /// * `SOS` - Somali Shilling + /// * `ZAR` - South African Rand + /// * `ZAL` - South African Rand (financial) + /// * `KRH` - South Korean Hwan (1953–1962) + /// * `KRW` - South Korean Won + /// * `KRO` - South Korean Won (1945–1953) + /// * `SSP` - South Sudanese Pound + /// * `SUR` - Soviet Rouble + /// * `ESP` - Spanish Peseta + /// * `ESA` - Spanish Peseta (A account) + /// * `ESB` - Spanish Peseta (convertible account) + /// * `XDR` - Special Drawing Rights + /// * `LKR` - Sri Lankan Rupee + /// * `SHP` - St. Helena Pound + /// * `XSU` - Sucre + /// * `SDD` - Sudanese Dinar (1992–2007) + /// * `SDG` - Sudanese Pound + /// * `SDP` - Sudanese Pound (1957–1998) + /// * `SRD` - Surinamese Dollar + /// * `SRG` - Surinamese Guilder + /// * `SZL` - Swazi Lilangeni + /// * `SEK` - Swedish Krona + /// * `CHF` - Swiss Franc + /// * `SYP` - Syrian Pound + /// * `STN` - São Tomé & Príncipe Dobra + /// * `STD` - São Tomé & Príncipe Dobra (1977–2017) + /// * `TVD` - TVD + /// * `TJR` - Tajikistani Ruble + /// * `TJS` - Tajikistani Somoni + /// * `TZS` - Tanzanian Shilling + /// * `XTS` - Testing Currency Code + /// * `THB` - Thai Baht + /// * `XXX` - The codes assigned for transactions where no currency is involved + /// * `TPE` - Timorese Escudo + /// * `TOP` - Tongan Paʻanga + /// * `TTD` - Trinidad & Tobago Dollar + /// * `TND` - Tunisian Dinar + /// * `TRY` - Turkish Lira + /// * `TRL` - Turkish Lira (1922–2005) + /// * `TMT` - Turkmenistani Manat + /// * `TMM` - Turkmenistani Manat (1993–2009) + /// * `USD` - US Dollar + /// * `USN` - US Dollar (Next day) + /// * `USS` - US Dollar (Same day) + /// * `UGX` - Ugandan Shilling + /// * `UGS` - Ugandan Shilling (1966–1987) + /// * `UAH` - Ukrainian Hryvnia + /// * `UAK` - Ukrainian Karbovanets + /// * `AED` - United Arab Emirates Dirham + /// * `UYW` - Uruguayan Nominal Wage Index Unit + /// * `UYU` - Uruguayan Peso + /// * `UYP` - Uruguayan Peso (1975–1993) + /// * `UYI` - Uruguayan Peso (Indexed Units) + /// * `UZS` - Uzbekistani Som + /// * `VUV` - Vanuatu Vatu + /// * `VES` - Venezuelan Bolívar + /// * `VEB` - Venezuelan Bolívar (1871–2008) + /// * `VEF` - Venezuelan Bolívar (2008–2018) + /// * `VND` - Vietnamese Dong + /// * `VNN` - Vietnamese Dong (1978–1985) + /// * `CHE` - WIR Euro + /// * `CHW` - WIR Franc + /// * `XOF` - West African CFA Franc + /// * `YDD` - Yemeni Dinar + /// * `YER` - Yemeni Rial + /// * `YUN` - Yugoslavian Convertible Dinar (1990–1992) + /// * `YUD` - Yugoslavian Hard Dinar (1966–1990) + /// * `YUM` - Yugoslavian New Dinar (1994–2002) + /// * `YUR` - Yugoslavian Reformed Dinar (1992–1993) + /// * `ZWN` - ZWN + /// * `ZRN` - Zairean New Zaire (1993–1998) + /// * `ZRZ` - Zairean Zaire (1971–1993) + /// * `ZMW` - Zambian Kwacha + /// * `ZMK` - Zambian Kwacha (1968–2012) + /// * `ZWD` - Zimbabwean Dollar (1980–2008) + /// * `ZWR` - Zimbabwean Dollar (2008) + /// * `ZWL` - Zimbabwean Dollar (2009) /// [JsonPropertyName("currency")] public TransactionCurrencyEnum? Currency { get; set; } @@ -402,12 +418,25 @@ public record AccountRequest [JsonPropertyName("company")] public string? Company { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("integration_params")] public Dictionary? IntegrationParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("linked_account_params")] public Dictionary? LinkedAccountParams { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/AccountResponse.cs b/src/Merge.Client/Accounting/Types/AccountResponse.cs index edbbed3e..8e1ab266 100644 --- a/src/Merge.Client/Accounting/Types/AccountResponse.cs +++ b/src/Merge.Client/Accounting/Types/AccountResponse.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -19,6 +20,17 @@ public record AccountResponse [JsonPropertyName("logs")] public IEnumerable? Logs { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/AccountToken.cs b/src/Merge.Client/Accounting/Types/AccountToken.cs index 9ab5a20f..5c57d0ec 100644 --- a/src/Merge.Client/Accounting/Types/AccountToken.cs +++ b/src/Merge.Client/Accounting/Types/AccountToken.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -11,6 +12,20 @@ public record AccountToken [JsonPropertyName("integration")] public required AccountIntegration Integration { get; set; } + [JsonPropertyName("id")] + public required string Id { get; set; } + + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/AccountingAttachment.cs b/src/Merge.Client/Accounting/Types/AccountingAttachment.cs index 2fb8a4f9..d9ac053e 100644 --- a/src/Merge.Client/Accounting/Types/AccountingAttachment.cs +++ b/src/Merge.Client/Accounting/Types/AccountingAttachment.cs @@ -1,10 +1,20 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; +/// +/// # The Accounting Attachment Object +/// ### Description +/// The `AccountingAttachment` object is used to represent a company's attachments. +/// +/// ### Usage Example +/// Fetch from the `LIST AccountingAttachments` endpoint and view a company's attachments. +/// public record AccountingAttachment { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -17,12 +27,14 @@ public record AccountingAttachment /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -47,15 +59,29 @@ public record AccountingAttachment /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/AccountingAttachmentRequest.cs b/src/Merge.Client/Accounting/Types/AccountingAttachmentRequest.cs index c976a2a8..af8b6ced 100644 --- a/src/Merge.Client/Accounting/Types/AccountingAttachmentRequest.cs +++ b/src/Merge.Client/Accounting/Types/AccountingAttachmentRequest.cs @@ -1,8 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; +/// +/// # The Accounting Attachment Object +/// ### Description +/// The `AccountingAttachment` object is used to represent a company's attachments. +/// +/// ### Usage Example +/// Fetch from the `LIST AccountingAttachments` endpoint and view a company's attachments. +/// public record AccountingAttachmentRequest { /// @@ -23,12 +32,25 @@ public record AccountingAttachmentRequest [JsonPropertyName("company")] public string? Company { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("integration_params")] public Dictionary? IntegrationParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("linked_account_params")] public Dictionary? LinkedAccountParams { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/AccountingAttachmentResponse.cs b/src/Merge.Client/Accounting/Types/AccountingAttachmentResponse.cs index 301441cf..56a4a92b 100644 --- a/src/Merge.Client/Accounting/Types/AccountingAttachmentResponse.cs +++ b/src/Merge.Client/Accounting/Types/AccountingAttachmentResponse.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -19,6 +20,17 @@ public record AccountingAttachmentResponse [JsonPropertyName("logs")] public IEnumerable? Logs { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/AccountingPeriod.cs b/src/Merge.Client/Accounting/Types/AccountingPeriod.cs index e7c059ab..8d5c945b 100644 --- a/src/Merge.Client/Accounting/Types/AccountingPeriod.cs +++ b/src/Merge.Client/Accounting/Types/AccountingPeriod.cs @@ -1,10 +1,20 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; +/// +/// # The AccountingPeriod Object +/// ### Description +/// The `AccountingPeriod` object is used to define a period of time in which events occurred. +/// +/// ### Usage Example +/// Common models like `Invoice` and `Transaction` will have `AccountingPeriod` objects which will denote when they occurred. +/// public record AccountingPeriod { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -17,12 +27,14 @@ public record AccountingPeriod /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -47,12 +59,25 @@ public record AccountingPeriod [JsonPropertyName("end_date")] public DateTime? EndDate { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/AccountingPhoneNumber.cs b/src/Merge.Client/Accounting/Types/AccountingPhoneNumber.cs index 19a315d5..9adc34c6 100644 --- a/src/Merge.Client/Accounting/Types/AccountingPhoneNumber.cs +++ b/src/Merge.Client/Accounting/Types/AccountingPhoneNumber.cs @@ -1,19 +1,30 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; +/// +/// # The AccountingPhoneNumber Object +/// ### Description +/// The `AccountingPhoneNumber` object is used to represent a contact's or company's phone number. +/// +/// ### Usage Example +/// Fetch from the `GET CompanyInfo` endpoint and view the company's phone numbers. +/// public record AccountingPhoneNumber { /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -29,6 +40,17 @@ public record AccountingPhoneNumber [JsonPropertyName("type")] public string? Type { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/AccountingPhoneNumberRequest.cs b/src/Merge.Client/Accounting/Types/AccountingPhoneNumberRequest.cs index cb151b31..eb29b7ee 100644 --- a/src/Merge.Client/Accounting/Types/AccountingPhoneNumberRequest.cs +++ b/src/Merge.Client/Accounting/Types/AccountingPhoneNumberRequest.cs @@ -1,8 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; +/// +/// # The AccountingPhoneNumber Object +/// ### Description +/// The `AccountingPhoneNumber` object is used to represent a contact's or company's phone number. +/// +/// ### Usage Example +/// Fetch from the `GET CompanyInfo` endpoint and view the company's phone numbers. +/// public record AccountingPhoneNumberRequest { /// @@ -17,12 +26,25 @@ public record AccountingPhoneNumberRequest [JsonPropertyName("type")] public string? Type { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("integration_params")] public Dictionary? IntegrationParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("linked_account_params")] public Dictionary? LinkedAccountParams { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/Address.cs b/src/Merge.Client/Accounting/Types/Address.cs index 79d172b3..c63d1238 100644 --- a/src/Merge.Client/Accounting/Types/Address.cs +++ b/src/Merge.Client/Accounting/Types/Address.cs @@ -1,27 +1,38 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; +/// +/// # The Address Object +/// ### Description +/// The `Address` object is used to represent a contact's or company's address. +/// +/// ### Usage Example +/// Fetch from the `GET CompanyInfo` endpoint and view the company's addresses. +/// public record Address { /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } /// /// The address type. /// - /// - `BILLING` - BILLING - /// - `SHIPPING` - SHIPPING + /// * `BILLING` - BILLING + /// * `SHIPPING` - SHIPPING /// [JsonPropertyName("type")] public AddressTypeEnum? Type { get; set; } @@ -44,6 +55,7 @@ public record Address [JsonPropertyName("city")] public string? City { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("state")] public object? State { get; set; } @@ -56,255 +68,255 @@ public record Address /// /// The address's country. /// - /// - `AF` - Afghanistan - /// - `AX` - Åland Islands - /// - `AL` - Albania - /// - `DZ` - Algeria - /// - `AS` - American Samoa - /// - `AD` - Andorra - /// - `AO` - Angola - /// - `AI` - Anguilla - /// - `AQ` - Antarctica - /// - `AG` - Antigua and Barbuda - /// - `AR` - Argentina - /// - `AM` - Armenia - /// - `AW` - Aruba - /// - `AU` - Australia - /// - `AT` - Austria - /// - `AZ` - Azerbaijan - /// - `BS` - Bahamas - /// - `BH` - Bahrain - /// - `BD` - Bangladesh - /// - `BB` - Barbados - /// - `BY` - Belarus - /// - `BE` - Belgium - /// - `BZ` - Belize - /// - `BJ` - Benin - /// - `BM` - Bermuda - /// - `BT` - Bhutan - /// - `BO` - Bolivia - /// - `BQ` - Bonaire, Sint Eustatius and Saba - /// - `BA` - Bosnia and Herzegovina - /// - `BW` - Botswana - /// - `BV` - Bouvet Island - /// - `BR` - Brazil - /// - `IO` - British Indian Ocean Territory - /// - `BN` - Brunei - /// - `BG` - Bulgaria - /// - `BF` - Burkina Faso - /// - `BI` - Burundi - /// - `CV` - Cabo Verde - /// - `KH` - Cambodia - /// - `CM` - Cameroon - /// - `CA` - Canada - /// - `KY` - Cayman Islands - /// - `CF` - Central African Republic - /// - `TD` - Chad - /// - `CL` - Chile - /// - `CN` - China - /// - `CX` - Christmas Island - /// - `CC` - Cocos (Keeling) Islands - /// - `CO` - Colombia - /// - `KM` - Comoros - /// - `CG` - Congo - /// - `CD` - Congo (the Democratic Republic of the) - /// - `CK` - Cook Islands - /// - `CR` - Costa Rica - /// - `CI` - Côte d'Ivoire - /// - `HR` - Croatia - /// - `CU` - Cuba - /// - `CW` - Curaçao - /// - `CY` - Cyprus - /// - `CZ` - Czechia - /// - `DK` - Denmark - /// - `DJ` - Djibouti - /// - `DM` - Dominica - /// - `DO` - Dominican Republic - /// - `EC` - Ecuador - /// - `EG` - Egypt - /// - `SV` - El Salvador - /// - `GQ` - Equatorial Guinea - /// - `ER` - Eritrea - /// - `EE` - Estonia - /// - `SZ` - Eswatini - /// - `ET` - Ethiopia - /// - `FK` - Falkland Islands (Malvinas) - /// - `FO` - Faroe Islands - /// - `FJ` - Fiji - /// - `FI` - Finland - /// - `FR` - France - /// - `GF` - French Guiana - /// - `PF` - French Polynesia - /// - `TF` - French Southern Territories - /// - `GA` - Gabon - /// - `GM` - Gambia - /// - `GE` - Georgia - /// - `DE` - Germany - /// - `GH` - Ghana - /// - `GI` - Gibraltar - /// - `GR` - Greece - /// - `GL` - Greenland - /// - `GD` - Grenada - /// - `GP` - Guadeloupe - /// - `GU` - Guam - /// - `GT` - Guatemala - /// - `GG` - Guernsey - /// - `GN` - Guinea - /// - `GW` - Guinea-Bissau - /// - `GY` - Guyana - /// - `HT` - Haiti - /// - `HM` - Heard Island and McDonald Islands - /// - `VA` - Holy See - /// - `HN` - Honduras - /// - `HK` - Hong Kong - /// - `HU` - Hungary - /// - `IS` - Iceland - /// - `IN` - India - /// - `ID` - Indonesia - /// - `IR` - Iran - /// - `IQ` - Iraq - /// - `IE` - Ireland - /// - `IM` - Isle of Man - /// - `IL` - Israel - /// - `IT` - Italy - /// - `JM` - Jamaica - /// - `JP` - Japan - /// - `JE` - Jersey - /// - `JO` - Jordan - /// - `KZ` - Kazakhstan - /// - `KE` - Kenya - /// - `KI` - Kiribati - /// - `KW` - Kuwait - /// - `KG` - Kyrgyzstan - /// - `LA` - Laos - /// - `LV` - Latvia - /// - `LB` - Lebanon - /// - `LS` - Lesotho - /// - `LR` - Liberia - /// - `LY` - Libya - /// - `LI` - Liechtenstein - /// - `LT` - Lithuania - /// - `LU` - Luxembourg - /// - `MO` - Macao - /// - `MG` - Madagascar - /// - `MW` - Malawi - /// - `MY` - Malaysia - /// - `MV` - Maldives - /// - `ML` - Mali - /// - `MT` - Malta - /// - `MH` - Marshall Islands - /// - `MQ` - Martinique - /// - `MR` - Mauritania - /// - `MU` - Mauritius - /// - `YT` - Mayotte - /// - `MX` - Mexico - /// - `FM` - Micronesia (Federated States of) - /// - `MD` - Moldova - /// - `MC` - Monaco - /// - `MN` - Mongolia - /// - `ME` - Montenegro - /// - `MS` - Montserrat - /// - `MA` - Morocco - /// - `MZ` - Mozambique - /// - `MM` - Myanmar - /// - `NA` - Namibia - /// - `NR` - Nauru - /// - `NP` - Nepal - /// - `NL` - Netherlands - /// - `NC` - New Caledonia - /// - `NZ` - New Zealand - /// - `NI` - Nicaragua - /// - `NE` - Niger - /// - `NG` - Nigeria - /// - `NU` - Niue - /// - `NF` - Norfolk Island - /// - `KP` - North Korea - /// - `MK` - North Macedonia - /// - `MP` - Northern Mariana Islands - /// - `NO` - Norway - /// - `OM` - Oman - /// - `PK` - Pakistan - /// - `PW` - Palau - /// - `PS` - Palestine, State of - /// - `PA` - Panama - /// - `PG` - Papua New Guinea - /// - `PY` - Paraguay - /// - `PE` - Peru - /// - `PH` - Philippines - /// - `PN` - Pitcairn - /// - `PL` - Poland - /// - `PT` - Portugal - /// - `PR` - Puerto Rico - /// - `QA` - Qatar - /// - `RE` - Réunion - /// - `RO` - Romania - /// - `RU` - Russia - /// - `RW` - Rwanda - /// - `BL` - Saint Barthélemy - /// - `SH` - Saint Helena, Ascension and Tristan da Cunha - /// - `KN` - Saint Kitts and Nevis - /// - `LC` - Saint Lucia - /// - `MF` - Saint Martin (French part) - /// - `PM` - Saint Pierre and Miquelon - /// - `VC` - Saint Vincent and the Grenadines - /// - `WS` - Samoa - /// - `SM` - San Marino - /// - `ST` - Sao Tome and Principe - /// - `SA` - Saudi Arabia - /// - `SN` - Senegal - /// - `RS` - Serbia - /// - `SC` - Seychelles - /// - `SL` - Sierra Leone - /// - `SG` - Singapore - /// - `SX` - Sint Maarten (Dutch part) - /// - `SK` - Slovakia - /// - `SI` - Slovenia - /// - `SB` - Solomon Islands - /// - `SO` - Somalia - /// - `ZA` - South Africa - /// - `GS` - South Georgia and the South Sandwich Islands - /// - `KR` - South Korea - /// - `SS` - South Sudan - /// - `ES` - Spain - /// - `LK` - Sri Lanka - /// - `SD` - Sudan - /// - `SR` - Suriname - /// - `SJ` - Svalbard and Jan Mayen - /// - `SE` - Sweden - /// - `CH` - Switzerland - /// - `SY` - Syria - /// - `TW` - Taiwan - /// - `TJ` - Tajikistan - /// - `TZ` - Tanzania - /// - `TH` - Thailand - /// - `TL` - Timor-Leste - /// - `TG` - Togo - /// - `TK` - Tokelau - /// - `TO` - Tonga - /// - `TT` - Trinidad and Tobago - /// - `TN` - Tunisia - /// - `TR` - Turkey - /// - `TM` - Turkmenistan - /// - `TC` - Turks and Caicos Islands - /// - `TV` - Tuvalu - /// - `UG` - Uganda - /// - `UA` - Ukraine - /// - `AE` - United Arab Emirates - /// - `GB` - United Kingdom - /// - `UM` - United States Minor Outlying Islands - /// - `US` - United States of America - /// - `UY` - Uruguay - /// - `UZ` - Uzbekistan - /// - `VU` - Vanuatu - /// - `VE` - Venezuela - /// - `VN` - Vietnam - /// - `VG` - Virgin Islands (British) - /// - `VI` - Virgin Islands (U.S.) - /// - `WF` - Wallis and Futuna - /// - `EH` - Western Sahara - /// - `YE` - Yemen - /// - `ZM` - Zambia - /// - `ZW` - Zimbabwe + /// * `AF` - Afghanistan + /// * `AX` - Åland Islands + /// * `AL` - Albania + /// * `DZ` - Algeria + /// * `AS` - American Samoa + /// * `AD` - Andorra + /// * `AO` - Angola + /// * `AI` - Anguilla + /// * `AQ` - Antarctica + /// * `AG` - Antigua and Barbuda + /// * `AR` - Argentina + /// * `AM` - Armenia + /// * `AW` - Aruba + /// * `AU` - Australia + /// * `AT` - Austria + /// * `AZ` - Azerbaijan + /// * `BS` - Bahamas + /// * `BH` - Bahrain + /// * `BD` - Bangladesh + /// * `BB` - Barbados + /// * `BY` - Belarus + /// * `BE` - Belgium + /// * `BZ` - Belize + /// * `BJ` - Benin + /// * `BM` - Bermuda + /// * `BT` - Bhutan + /// * `BO` - Bolivia + /// * `BQ` - Bonaire, Sint Eustatius and Saba + /// * `BA` - Bosnia and Herzegovina + /// * `BW` - Botswana + /// * `BV` - Bouvet Island + /// * `BR` - Brazil + /// * `IO` - British Indian Ocean Territory + /// * `BN` - Brunei + /// * `BG` - Bulgaria + /// * `BF` - Burkina Faso + /// * `BI` - Burundi + /// * `CV` - Cabo Verde + /// * `KH` - Cambodia + /// * `CM` - Cameroon + /// * `CA` - Canada + /// * `KY` - Cayman Islands + /// * `CF` - Central African Republic + /// * `TD` - Chad + /// * `CL` - Chile + /// * `CN` - China + /// * `CX` - Christmas Island + /// * `CC` - Cocos (Keeling) Islands + /// * `CO` - Colombia + /// * `KM` - Comoros + /// * `CG` - Congo + /// * `CD` - Congo (the Democratic Republic of the) + /// * `CK` - Cook Islands + /// * `CR` - Costa Rica + /// * `CI` - Côte d'Ivoire + /// * `HR` - Croatia + /// * `CU` - Cuba + /// * `CW` - Curaçao + /// * `CY` - Cyprus + /// * `CZ` - Czechia + /// * `DK` - Denmark + /// * `DJ` - Djibouti + /// * `DM` - Dominica + /// * `DO` - Dominican Republic + /// * `EC` - Ecuador + /// * `EG` - Egypt + /// * `SV` - El Salvador + /// * `GQ` - Equatorial Guinea + /// * `ER` - Eritrea + /// * `EE` - Estonia + /// * `SZ` - Eswatini + /// * `ET` - Ethiopia + /// * `FK` - Falkland Islands (Malvinas) + /// * `FO` - Faroe Islands + /// * `FJ` - Fiji + /// * `FI` - Finland + /// * `FR` - France + /// * `GF` - French Guiana + /// * `PF` - French Polynesia + /// * `TF` - French Southern Territories + /// * `GA` - Gabon + /// * `GM` - Gambia + /// * `GE` - Georgia + /// * `DE` - Germany + /// * `GH` - Ghana + /// * `GI` - Gibraltar + /// * `GR` - Greece + /// * `GL` - Greenland + /// * `GD` - Grenada + /// * `GP` - Guadeloupe + /// * `GU` - Guam + /// * `GT` - Guatemala + /// * `GG` - Guernsey + /// * `GN` - Guinea + /// * `GW` - Guinea-Bissau + /// * `GY` - Guyana + /// * `HT` - Haiti + /// * `HM` - Heard Island and McDonald Islands + /// * `VA` - Holy See + /// * `HN` - Honduras + /// * `HK` - Hong Kong + /// * `HU` - Hungary + /// * `IS` - Iceland + /// * `IN` - India + /// * `ID` - Indonesia + /// * `IR` - Iran + /// * `IQ` - Iraq + /// * `IE` - Ireland + /// * `IM` - Isle of Man + /// * `IL` - Israel + /// * `IT` - Italy + /// * `JM` - Jamaica + /// * `JP` - Japan + /// * `JE` - Jersey + /// * `JO` - Jordan + /// * `KZ` - Kazakhstan + /// * `KE` - Kenya + /// * `KI` - Kiribati + /// * `KW` - Kuwait + /// * `KG` - Kyrgyzstan + /// * `LA` - Laos + /// * `LV` - Latvia + /// * `LB` - Lebanon + /// * `LS` - Lesotho + /// * `LR` - Liberia + /// * `LY` - Libya + /// * `LI` - Liechtenstein + /// * `LT` - Lithuania + /// * `LU` - Luxembourg + /// * `MO` - Macao + /// * `MG` - Madagascar + /// * `MW` - Malawi + /// * `MY` - Malaysia + /// * `MV` - Maldives + /// * `ML` - Mali + /// * `MT` - Malta + /// * `MH` - Marshall Islands + /// * `MQ` - Martinique + /// * `MR` - Mauritania + /// * `MU` - Mauritius + /// * `YT` - Mayotte + /// * `MX` - Mexico + /// * `FM` - Micronesia (Federated States of) + /// * `MD` - Moldova + /// * `MC` - Monaco + /// * `MN` - Mongolia + /// * `ME` - Montenegro + /// * `MS` - Montserrat + /// * `MA` - Morocco + /// * `MZ` - Mozambique + /// * `MM` - Myanmar + /// * `NA` - Namibia + /// * `NR` - Nauru + /// * `NP` - Nepal + /// * `NL` - Netherlands + /// * `NC` - New Caledonia + /// * `NZ` - New Zealand + /// * `NI` - Nicaragua + /// * `NE` - Niger + /// * `NG` - Nigeria + /// * `NU` - Niue + /// * `NF` - Norfolk Island + /// * `KP` - North Korea + /// * `MK` - North Macedonia + /// * `MP` - Northern Mariana Islands + /// * `NO` - Norway + /// * `OM` - Oman + /// * `PK` - Pakistan + /// * `PW` - Palau + /// * `PS` - Palestine, State of + /// * `PA` - Panama + /// * `PG` - Papua New Guinea + /// * `PY` - Paraguay + /// * `PE` - Peru + /// * `PH` - Philippines + /// * `PN` - Pitcairn + /// * `PL` - Poland + /// * `PT` - Portugal + /// * `PR` - Puerto Rico + /// * `QA` - Qatar + /// * `RE` - Réunion + /// * `RO` - Romania + /// * `RU` - Russia + /// * `RW` - Rwanda + /// * `BL` - Saint Barthélemy + /// * `SH` - Saint Helena, Ascension and Tristan da Cunha + /// * `KN` - Saint Kitts and Nevis + /// * `LC` - Saint Lucia + /// * `MF` - Saint Martin (French part) + /// * `PM` - Saint Pierre and Miquelon + /// * `VC` - Saint Vincent and the Grenadines + /// * `WS` - Samoa + /// * `SM` - San Marino + /// * `ST` - Sao Tome and Principe + /// * `SA` - Saudi Arabia + /// * `SN` - Senegal + /// * `RS` - Serbia + /// * `SC` - Seychelles + /// * `SL` - Sierra Leone + /// * `SG` - Singapore + /// * `SX` - Sint Maarten (Dutch part) + /// * `SK` - Slovakia + /// * `SI` - Slovenia + /// * `SB` - Solomon Islands + /// * `SO` - Somalia + /// * `ZA` - South Africa + /// * `GS` - South Georgia and the South Sandwich Islands + /// * `KR` - South Korea + /// * `SS` - South Sudan + /// * `ES` - Spain + /// * `LK` - Sri Lanka + /// * `SD` - Sudan + /// * `SR` - Suriname + /// * `SJ` - Svalbard and Jan Mayen + /// * `SE` - Sweden + /// * `CH` - Switzerland + /// * `SY` - Syria + /// * `TW` - Taiwan + /// * `TJ` - Tajikistan + /// * `TZ` - Tanzania + /// * `TH` - Thailand + /// * `TL` - Timor-Leste + /// * `TG` - Togo + /// * `TK` - Tokelau + /// * `TO` - Tonga + /// * `TT` - Trinidad and Tobago + /// * `TN` - Tunisia + /// * `TR` - Turkey + /// * `TM` - Turkmenistan + /// * `TC` - Turks and Caicos Islands + /// * `TV` - Tuvalu + /// * `UG` - Uganda + /// * `UA` - Ukraine + /// * `AE` - United Arab Emirates + /// * `GB` - United Kingdom + /// * `UM` - United States Minor Outlying Islands + /// * `US` - United States of America + /// * `UY` - Uruguay + /// * `UZ` - Uzbekistan + /// * `VU` - Vanuatu + /// * `VE` - Venezuela + /// * `VN` - Vietnam + /// * `VG` - Virgin Islands (British) + /// * `VI` - Virgin Islands (U.S.) + /// * `WF` - Wallis and Futuna + /// * `EH` - Western Sahara + /// * `YE` - Yemen + /// * `ZM` - Zambia + /// * `ZW` - Zimbabwe /// [JsonPropertyName("country")] public CountryEnum? Country { get; set; } @@ -315,6 +327,17 @@ public record Address [JsonPropertyName("zip_code")] public string? ZipCode { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/AddressRequest.cs b/src/Merge.Client/Accounting/Types/AddressRequest.cs index b919a657..c3a34d36 100644 --- a/src/Merge.Client/Accounting/Types/AddressRequest.cs +++ b/src/Merge.Client/Accounting/Types/AddressRequest.cs @@ -1,15 +1,24 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; +/// +/// # The Address Object +/// ### Description +/// The `Address` object is used to represent a contact's or company's address. +/// +/// ### Usage Example +/// Fetch from the `GET CompanyInfo` endpoint and view the company's addresses. +/// public record AddressRequest { /// /// The address type. /// - /// - `BILLING` - BILLING - /// - `SHIPPING` - SHIPPING + /// * `BILLING` - BILLING + /// * `SHIPPING` - SHIPPING /// [JsonPropertyName("type")] public AddressTypeEnum? Type { get; set; } @@ -41,255 +50,255 @@ public record AddressRequest /// /// The address's country. /// - /// - `AF` - Afghanistan - /// - `AX` - Åland Islands - /// - `AL` - Albania - /// - `DZ` - Algeria - /// - `AS` - American Samoa - /// - `AD` - Andorra - /// - `AO` - Angola - /// - `AI` - Anguilla - /// - `AQ` - Antarctica - /// - `AG` - Antigua and Barbuda - /// - `AR` - Argentina - /// - `AM` - Armenia - /// - `AW` - Aruba - /// - `AU` - Australia - /// - `AT` - Austria - /// - `AZ` - Azerbaijan - /// - `BS` - Bahamas - /// - `BH` - Bahrain - /// - `BD` - Bangladesh - /// - `BB` - Barbados - /// - `BY` - Belarus - /// - `BE` - Belgium - /// - `BZ` - Belize - /// - `BJ` - Benin - /// - `BM` - Bermuda - /// - `BT` - Bhutan - /// - `BO` - Bolivia - /// - `BQ` - Bonaire, Sint Eustatius and Saba - /// - `BA` - Bosnia and Herzegovina - /// - `BW` - Botswana - /// - `BV` - Bouvet Island - /// - `BR` - Brazil - /// - `IO` - British Indian Ocean Territory - /// - `BN` - Brunei - /// - `BG` - Bulgaria - /// - `BF` - Burkina Faso - /// - `BI` - Burundi - /// - `CV` - Cabo Verde - /// - `KH` - Cambodia - /// - `CM` - Cameroon - /// - `CA` - Canada - /// - `KY` - Cayman Islands - /// - `CF` - Central African Republic - /// - `TD` - Chad - /// - `CL` - Chile - /// - `CN` - China - /// - `CX` - Christmas Island - /// - `CC` - Cocos (Keeling) Islands - /// - `CO` - Colombia - /// - `KM` - Comoros - /// - `CG` - Congo - /// - `CD` - Congo (the Democratic Republic of the) - /// - `CK` - Cook Islands - /// - `CR` - Costa Rica - /// - `CI` - Côte d'Ivoire - /// - `HR` - Croatia - /// - `CU` - Cuba - /// - `CW` - Curaçao - /// - `CY` - Cyprus - /// - `CZ` - Czechia - /// - `DK` - Denmark - /// - `DJ` - Djibouti - /// - `DM` - Dominica - /// - `DO` - Dominican Republic - /// - `EC` - Ecuador - /// - `EG` - Egypt - /// - `SV` - El Salvador - /// - `GQ` - Equatorial Guinea - /// - `ER` - Eritrea - /// - `EE` - Estonia - /// - `SZ` - Eswatini - /// - `ET` - Ethiopia - /// - `FK` - Falkland Islands (Malvinas) - /// - `FO` - Faroe Islands - /// - `FJ` - Fiji - /// - `FI` - Finland - /// - `FR` - France - /// - `GF` - French Guiana - /// - `PF` - French Polynesia - /// - `TF` - French Southern Territories - /// - `GA` - Gabon - /// - `GM` - Gambia - /// - `GE` - Georgia - /// - `DE` - Germany - /// - `GH` - Ghana - /// - `GI` - Gibraltar - /// - `GR` - Greece - /// - `GL` - Greenland - /// - `GD` - Grenada - /// - `GP` - Guadeloupe - /// - `GU` - Guam - /// - `GT` - Guatemala - /// - `GG` - Guernsey - /// - `GN` - Guinea - /// - `GW` - Guinea-Bissau - /// - `GY` - Guyana - /// - `HT` - Haiti - /// - `HM` - Heard Island and McDonald Islands - /// - `VA` - Holy See - /// - `HN` - Honduras - /// - `HK` - Hong Kong - /// - `HU` - Hungary - /// - `IS` - Iceland - /// - `IN` - India - /// - `ID` - Indonesia - /// - `IR` - Iran - /// - `IQ` - Iraq - /// - `IE` - Ireland - /// - `IM` - Isle of Man - /// - `IL` - Israel - /// - `IT` - Italy - /// - `JM` - Jamaica - /// - `JP` - Japan - /// - `JE` - Jersey - /// - `JO` - Jordan - /// - `KZ` - Kazakhstan - /// - `KE` - Kenya - /// - `KI` - Kiribati - /// - `KW` - Kuwait - /// - `KG` - Kyrgyzstan - /// - `LA` - Laos - /// - `LV` - Latvia - /// - `LB` - Lebanon - /// - `LS` - Lesotho - /// - `LR` - Liberia - /// - `LY` - Libya - /// - `LI` - Liechtenstein - /// - `LT` - Lithuania - /// - `LU` - Luxembourg - /// - `MO` - Macao - /// - `MG` - Madagascar - /// - `MW` - Malawi - /// - `MY` - Malaysia - /// - `MV` - Maldives - /// - `ML` - Mali - /// - `MT` - Malta - /// - `MH` - Marshall Islands - /// - `MQ` - Martinique - /// - `MR` - Mauritania - /// - `MU` - Mauritius - /// - `YT` - Mayotte - /// - `MX` - Mexico - /// - `FM` - Micronesia (Federated States of) - /// - `MD` - Moldova - /// - `MC` - Monaco - /// - `MN` - Mongolia - /// - `ME` - Montenegro - /// - `MS` - Montserrat - /// - `MA` - Morocco - /// - `MZ` - Mozambique - /// - `MM` - Myanmar - /// - `NA` - Namibia - /// - `NR` - Nauru - /// - `NP` - Nepal - /// - `NL` - Netherlands - /// - `NC` - New Caledonia - /// - `NZ` - New Zealand - /// - `NI` - Nicaragua - /// - `NE` - Niger - /// - `NG` - Nigeria - /// - `NU` - Niue - /// - `NF` - Norfolk Island - /// - `KP` - North Korea - /// - `MK` - North Macedonia - /// - `MP` - Northern Mariana Islands - /// - `NO` - Norway - /// - `OM` - Oman - /// - `PK` - Pakistan - /// - `PW` - Palau - /// - `PS` - Palestine, State of - /// - `PA` - Panama - /// - `PG` - Papua New Guinea - /// - `PY` - Paraguay - /// - `PE` - Peru - /// - `PH` - Philippines - /// - `PN` - Pitcairn - /// - `PL` - Poland - /// - `PT` - Portugal - /// - `PR` - Puerto Rico - /// - `QA` - Qatar - /// - `RE` - Réunion - /// - `RO` - Romania - /// - `RU` - Russia - /// - `RW` - Rwanda - /// - `BL` - Saint Barthélemy - /// - `SH` - Saint Helena, Ascension and Tristan da Cunha - /// - `KN` - Saint Kitts and Nevis - /// - `LC` - Saint Lucia - /// - `MF` - Saint Martin (French part) - /// - `PM` - Saint Pierre and Miquelon - /// - `VC` - Saint Vincent and the Grenadines - /// - `WS` - Samoa - /// - `SM` - San Marino - /// - `ST` - Sao Tome and Principe - /// - `SA` - Saudi Arabia - /// - `SN` - Senegal - /// - `RS` - Serbia - /// - `SC` - Seychelles - /// - `SL` - Sierra Leone - /// - `SG` - Singapore - /// - `SX` - Sint Maarten (Dutch part) - /// - `SK` - Slovakia - /// - `SI` - Slovenia - /// - `SB` - Solomon Islands - /// - `SO` - Somalia - /// - `ZA` - South Africa - /// - `GS` - South Georgia and the South Sandwich Islands - /// - `KR` - South Korea - /// - `SS` - South Sudan - /// - `ES` - Spain - /// - `LK` - Sri Lanka - /// - `SD` - Sudan - /// - `SR` - Suriname - /// - `SJ` - Svalbard and Jan Mayen - /// - `SE` - Sweden - /// - `CH` - Switzerland - /// - `SY` - Syria - /// - `TW` - Taiwan - /// - `TJ` - Tajikistan - /// - `TZ` - Tanzania - /// - `TH` - Thailand - /// - `TL` - Timor-Leste - /// - `TG` - Togo - /// - `TK` - Tokelau - /// - `TO` - Tonga - /// - `TT` - Trinidad and Tobago - /// - `TN` - Tunisia - /// - `TR` - Turkey - /// - `TM` - Turkmenistan - /// - `TC` - Turks and Caicos Islands - /// - `TV` - Tuvalu - /// - `UG` - Uganda - /// - `UA` - Ukraine - /// - `AE` - United Arab Emirates - /// - `GB` - United Kingdom - /// - `UM` - United States Minor Outlying Islands - /// - `US` - United States of America - /// - `UY` - Uruguay - /// - `UZ` - Uzbekistan - /// - `VU` - Vanuatu - /// - `VE` - Venezuela - /// - `VN` - Vietnam - /// - `VG` - Virgin Islands (British) - /// - `VI` - Virgin Islands (U.S.) - /// - `WF` - Wallis and Futuna - /// - `EH` - Western Sahara - /// - `YE` - Yemen - /// - `ZM` - Zambia - /// - `ZW` - Zimbabwe + /// * `AF` - Afghanistan + /// * `AX` - Åland Islands + /// * `AL` - Albania + /// * `DZ` - Algeria + /// * `AS` - American Samoa + /// * `AD` - Andorra + /// * `AO` - Angola + /// * `AI` - Anguilla + /// * `AQ` - Antarctica + /// * `AG` - Antigua and Barbuda + /// * `AR` - Argentina + /// * `AM` - Armenia + /// * `AW` - Aruba + /// * `AU` - Australia + /// * `AT` - Austria + /// * `AZ` - Azerbaijan + /// * `BS` - Bahamas + /// * `BH` - Bahrain + /// * `BD` - Bangladesh + /// * `BB` - Barbados + /// * `BY` - Belarus + /// * `BE` - Belgium + /// * `BZ` - Belize + /// * `BJ` - Benin + /// * `BM` - Bermuda + /// * `BT` - Bhutan + /// * `BO` - Bolivia + /// * `BQ` - Bonaire, Sint Eustatius and Saba + /// * `BA` - Bosnia and Herzegovina + /// * `BW` - Botswana + /// * `BV` - Bouvet Island + /// * `BR` - Brazil + /// * `IO` - British Indian Ocean Territory + /// * `BN` - Brunei + /// * `BG` - Bulgaria + /// * `BF` - Burkina Faso + /// * `BI` - Burundi + /// * `CV` - Cabo Verde + /// * `KH` - Cambodia + /// * `CM` - Cameroon + /// * `CA` - Canada + /// * `KY` - Cayman Islands + /// * `CF` - Central African Republic + /// * `TD` - Chad + /// * `CL` - Chile + /// * `CN` - China + /// * `CX` - Christmas Island + /// * `CC` - Cocos (Keeling) Islands + /// * `CO` - Colombia + /// * `KM` - Comoros + /// * `CG` - Congo + /// * `CD` - Congo (the Democratic Republic of the) + /// * `CK` - Cook Islands + /// * `CR` - Costa Rica + /// * `CI` - Côte d'Ivoire + /// * `HR` - Croatia + /// * `CU` - Cuba + /// * `CW` - Curaçao + /// * `CY` - Cyprus + /// * `CZ` - Czechia + /// * `DK` - Denmark + /// * `DJ` - Djibouti + /// * `DM` - Dominica + /// * `DO` - Dominican Republic + /// * `EC` - Ecuador + /// * `EG` - Egypt + /// * `SV` - El Salvador + /// * `GQ` - Equatorial Guinea + /// * `ER` - Eritrea + /// * `EE` - Estonia + /// * `SZ` - Eswatini + /// * `ET` - Ethiopia + /// * `FK` - Falkland Islands (Malvinas) + /// * `FO` - Faroe Islands + /// * `FJ` - Fiji + /// * `FI` - Finland + /// * `FR` - France + /// * `GF` - French Guiana + /// * `PF` - French Polynesia + /// * `TF` - French Southern Territories + /// * `GA` - Gabon + /// * `GM` - Gambia + /// * `GE` - Georgia + /// * `DE` - Germany + /// * `GH` - Ghana + /// * `GI` - Gibraltar + /// * `GR` - Greece + /// * `GL` - Greenland + /// * `GD` - Grenada + /// * `GP` - Guadeloupe + /// * `GU` - Guam + /// * `GT` - Guatemala + /// * `GG` - Guernsey + /// * `GN` - Guinea + /// * `GW` - Guinea-Bissau + /// * `GY` - Guyana + /// * `HT` - Haiti + /// * `HM` - Heard Island and McDonald Islands + /// * `VA` - Holy See + /// * `HN` - Honduras + /// * `HK` - Hong Kong + /// * `HU` - Hungary + /// * `IS` - Iceland + /// * `IN` - India + /// * `ID` - Indonesia + /// * `IR` - Iran + /// * `IQ` - Iraq + /// * `IE` - Ireland + /// * `IM` - Isle of Man + /// * `IL` - Israel + /// * `IT` - Italy + /// * `JM` - Jamaica + /// * `JP` - Japan + /// * `JE` - Jersey + /// * `JO` - Jordan + /// * `KZ` - Kazakhstan + /// * `KE` - Kenya + /// * `KI` - Kiribati + /// * `KW` - Kuwait + /// * `KG` - Kyrgyzstan + /// * `LA` - Laos + /// * `LV` - Latvia + /// * `LB` - Lebanon + /// * `LS` - Lesotho + /// * `LR` - Liberia + /// * `LY` - Libya + /// * `LI` - Liechtenstein + /// * `LT` - Lithuania + /// * `LU` - Luxembourg + /// * `MO` - Macao + /// * `MG` - Madagascar + /// * `MW` - Malawi + /// * `MY` - Malaysia + /// * `MV` - Maldives + /// * `ML` - Mali + /// * `MT` - Malta + /// * `MH` - Marshall Islands + /// * `MQ` - Martinique + /// * `MR` - Mauritania + /// * `MU` - Mauritius + /// * `YT` - Mayotte + /// * `MX` - Mexico + /// * `FM` - Micronesia (Federated States of) + /// * `MD` - Moldova + /// * `MC` - Monaco + /// * `MN` - Mongolia + /// * `ME` - Montenegro + /// * `MS` - Montserrat + /// * `MA` - Morocco + /// * `MZ` - Mozambique + /// * `MM` - Myanmar + /// * `NA` - Namibia + /// * `NR` - Nauru + /// * `NP` - Nepal + /// * `NL` - Netherlands + /// * `NC` - New Caledonia + /// * `NZ` - New Zealand + /// * `NI` - Nicaragua + /// * `NE` - Niger + /// * `NG` - Nigeria + /// * `NU` - Niue + /// * `NF` - Norfolk Island + /// * `KP` - North Korea + /// * `MK` - North Macedonia + /// * `MP` - Northern Mariana Islands + /// * `NO` - Norway + /// * `OM` - Oman + /// * `PK` - Pakistan + /// * `PW` - Palau + /// * `PS` - Palestine, State of + /// * `PA` - Panama + /// * `PG` - Papua New Guinea + /// * `PY` - Paraguay + /// * `PE` - Peru + /// * `PH` - Philippines + /// * `PN` - Pitcairn + /// * `PL` - Poland + /// * `PT` - Portugal + /// * `PR` - Puerto Rico + /// * `QA` - Qatar + /// * `RE` - Réunion + /// * `RO` - Romania + /// * `RU` - Russia + /// * `RW` - Rwanda + /// * `BL` - Saint Barthélemy + /// * `SH` - Saint Helena, Ascension and Tristan da Cunha + /// * `KN` - Saint Kitts and Nevis + /// * `LC` - Saint Lucia + /// * `MF` - Saint Martin (French part) + /// * `PM` - Saint Pierre and Miquelon + /// * `VC` - Saint Vincent and the Grenadines + /// * `WS` - Samoa + /// * `SM` - San Marino + /// * `ST` - Sao Tome and Principe + /// * `SA` - Saudi Arabia + /// * `SN` - Senegal + /// * `RS` - Serbia + /// * `SC` - Seychelles + /// * `SL` - Sierra Leone + /// * `SG` - Singapore + /// * `SX` - Sint Maarten (Dutch part) + /// * `SK` - Slovakia + /// * `SI` - Slovenia + /// * `SB` - Solomon Islands + /// * `SO` - Somalia + /// * `ZA` - South Africa + /// * `GS` - South Georgia and the South Sandwich Islands + /// * `KR` - South Korea + /// * `SS` - South Sudan + /// * `ES` - Spain + /// * `LK` - Sri Lanka + /// * `SD` - Sudan + /// * `SR` - Suriname + /// * `SJ` - Svalbard and Jan Mayen + /// * `SE` - Sweden + /// * `CH` - Switzerland + /// * `SY` - Syria + /// * `TW` - Taiwan + /// * `TJ` - Tajikistan + /// * `TZ` - Tanzania + /// * `TH` - Thailand + /// * `TL` - Timor-Leste + /// * `TG` - Togo + /// * `TK` - Tokelau + /// * `TO` - Tonga + /// * `TT` - Trinidad and Tobago + /// * `TN` - Tunisia + /// * `TR` - Turkey + /// * `TM` - Turkmenistan + /// * `TC` - Turks and Caicos Islands + /// * `TV` - Tuvalu + /// * `UG` - Uganda + /// * `UA` - Ukraine + /// * `AE` - United Arab Emirates + /// * `GB` - United Kingdom + /// * `UM` - United States Minor Outlying Islands + /// * `US` - United States of America + /// * `UY` - Uruguay + /// * `UZ` - Uzbekistan + /// * `VU` - Vanuatu + /// * `VE` - Venezuela + /// * `VN` - Vietnam + /// * `VG` - Virgin Islands (British) + /// * `VI` - Virgin Islands (U.S.) + /// * `WF` - Wallis and Futuna + /// * `EH` - Western Sahara + /// * `YE` - Yemen + /// * `ZM` - Zambia + /// * `ZW` - Zimbabwe /// [JsonPropertyName("country")] public CountryEnum? Country { get; set; } @@ -300,12 +309,25 @@ public record AddressRequest [JsonPropertyName("zip_code")] public string? ZipCode { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("integration_params")] public Dictionary? IntegrationParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("linked_account_params")] public Dictionary? LinkedAccountParams { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/AdvancedMetadata.cs b/src/Merge.Client/Accounting/Types/AdvancedMetadata.cs index e2bcf1ec..c03ab3a1 100644 --- a/src/Merge.Client/Accounting/Types/AdvancedMetadata.cs +++ b/src/Merge.Client/Accounting/Types/AdvancedMetadata.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -23,6 +24,17 @@ public record AdvancedMetadata [JsonPropertyName("field_choices")] public IEnumerable? FieldChoices { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/AsyncPassthroughReciept.cs b/src/Merge.Client/Accounting/Types/AsyncPassthroughReciept.cs index e8ffc4fc..228b415c 100644 --- a/src/Merge.Client/Accounting/Types/AsyncPassthroughReciept.cs +++ b/src/Merge.Client/Accounting/Types/AsyncPassthroughReciept.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -8,6 +9,17 @@ public record AsyncPassthroughReciept [JsonPropertyName("async_passthrough_receipt_id")] public required string AsyncPassthroughReceiptId { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/AsyncPostTask.cs b/src/Merge.Client/Accounting/Types/AsyncPostTask.cs index 45a205d2..67cf3db9 100644 --- a/src/Merge.Client/Accounting/Types/AsyncPostTask.cs +++ b/src/Merge.Client/Accounting/Types/AsyncPostTask.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -11,6 +12,17 @@ public record AsyncPostTask [JsonPropertyName("result")] public required AsyncPostTaskResult Result { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/AsyncPostTaskResult.cs b/src/Merge.Client/Accounting/Types/AsyncPostTaskResult.cs index 91eacc2f..4986591f 100644 --- a/src/Merge.Client/Accounting/Types/AsyncPostTaskResult.cs +++ b/src/Merge.Client/Accounting/Types/AsyncPostTaskResult.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -11,6 +12,17 @@ public record AsyncPostTaskResult [JsonPropertyName("response")] public Dictionary? Response { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/AuditLogEvent.cs b/src/Merge.Client/Accounting/Types/AuditLogEvent.cs index ace59b7c..2e5dd62f 100644 --- a/src/Merge.Client/Accounting/Types/AuditLogEvent.cs +++ b/src/Merge.Client/Accounting/Types/AuditLogEvent.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -5,6 +6,7 @@ namespace Merge.Client.Accounting; public record AuditLogEvent { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -23,12 +25,12 @@ public record AuditLogEvent /// /// Designates the role of the user (or SYSTEM/API if action not taken by a user) at the time of this Event occurring. /// - /// - `ADMIN` - ADMIN - /// - `DEVELOPER` - DEVELOPER - /// - `MEMBER` - MEMBER - /// - `API` - API - /// - `SYSTEM` - SYSTEM - /// - `MERGE_TEAM` - MERGE_TEAM + /// * `ADMIN` - ADMIN + /// * `DEVELOPER` - DEVELOPER + /// * `MEMBER` - MEMBER + /// * `API` - API + /// * `SYSTEM` - SYSTEM + /// * `MERGE_TEAM` - MERGE_TEAM /// [JsonPropertyName("role")] public required RoleEnum Role { get; set; } @@ -39,47 +41,48 @@ public record AuditLogEvent /// /// Designates the type of event that occurred. /// - /// - `CREATED_REMOTE_PRODUCTION_API_KEY` - CREATED_REMOTE_PRODUCTION_API_KEY - /// - `DELETED_REMOTE_PRODUCTION_API_KEY` - DELETED_REMOTE_PRODUCTION_API_KEY - /// - `CREATED_TEST_API_KEY` - CREATED_TEST_API_KEY - /// - `DELETED_TEST_API_KEY` - DELETED_TEST_API_KEY - /// - `REGENERATED_PRODUCTION_API_KEY` - REGENERATED_PRODUCTION_API_KEY - /// - `INVITED_USER` - INVITED_USER - /// - `TWO_FACTOR_AUTH_ENABLED` - TWO_FACTOR_AUTH_ENABLED - /// - `TWO_FACTOR_AUTH_DISABLED` - TWO_FACTOR_AUTH_DISABLED - /// - `DELETED_LINKED_ACCOUNT` - DELETED_LINKED_ACCOUNT - /// - `CREATED_DESTINATION` - CREATED_DESTINATION - /// - `DELETED_DESTINATION` - DELETED_DESTINATION - /// - `CHANGED_DESTINATION` - CHANGED_DESTINATION - /// - `CHANGED_SCOPES` - CHANGED_SCOPES - /// - `CHANGED_PERSONAL_INFORMATION` - CHANGED_PERSONAL_INFORMATION - /// - `CHANGED_ORGANIZATION_SETTINGS` - CHANGED_ORGANIZATION_SETTINGS - /// - `ENABLED_INTEGRATION` - ENABLED_INTEGRATION - /// - `DISABLED_INTEGRATION` - DISABLED_INTEGRATION - /// - `ENABLED_CATEGORY` - ENABLED_CATEGORY - /// - `DISABLED_CATEGORY` - DISABLED_CATEGORY - /// - `CHANGED_PASSWORD` - CHANGED_PASSWORD - /// - `RESET_PASSWORD` - RESET_PASSWORD - /// - `ENABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION` - ENABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION - /// - `ENABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT` - ENABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT - /// - `DISABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION` - DISABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION - /// - `DISABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT` - DISABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT - /// - `CREATED_INTEGRATION_WIDE_FIELD_MAPPING` - CREATED_INTEGRATION_WIDE_FIELD_MAPPING - /// - `CREATED_LINKED_ACCOUNT_FIELD_MAPPING` - CREATED_LINKED_ACCOUNT_FIELD_MAPPING - /// - `CHANGED_INTEGRATION_WIDE_FIELD_MAPPING` - CHANGED_INTEGRATION_WIDE_FIELD_MAPPING - /// - `CHANGED_LINKED_ACCOUNT_FIELD_MAPPING` - CHANGED_LINKED_ACCOUNT_FIELD_MAPPING - /// - `DELETED_INTEGRATION_WIDE_FIELD_MAPPING` - DELETED_INTEGRATION_WIDE_FIELD_MAPPING - /// - `DELETED_LINKED_ACCOUNT_FIELD_MAPPING` - DELETED_LINKED_ACCOUNT_FIELD_MAPPING - /// - `CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE` - CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE - /// - `CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE` - CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE - /// - `DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE` - DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE - /// - `FORCED_LINKED_ACCOUNT_RESYNC` - FORCED_LINKED_ACCOUNT_RESYNC - /// - `MUTED_ISSUE` - MUTED_ISSUE - /// - `GENERATED_MAGIC_LINK` - GENERATED_MAGIC_LINK - /// - `ENABLED_MERGE_WEBHOOK` - ENABLED_MERGE_WEBHOOK - /// - `DISABLED_MERGE_WEBHOOK` - DISABLED_MERGE_WEBHOOK - /// - `MERGE_WEBHOOK_TARGET_CHANGED` - MERGE_WEBHOOK_TARGET_CHANGED - /// - `END_USER_CREDENTIALS_ACCESSED` - END_USER_CREDENTIALS_ACCESSED + /// * `CREATED_REMOTE_PRODUCTION_API_KEY` - CREATED_REMOTE_PRODUCTION_API_KEY + /// * `DELETED_REMOTE_PRODUCTION_API_KEY` - DELETED_REMOTE_PRODUCTION_API_KEY + /// * `CREATED_TEST_API_KEY` - CREATED_TEST_API_KEY + /// * `DELETED_TEST_API_KEY` - DELETED_TEST_API_KEY + /// * `REGENERATED_PRODUCTION_API_KEY` - REGENERATED_PRODUCTION_API_KEY + /// * `INVITED_USER` - INVITED_USER + /// * `TWO_FACTOR_AUTH_ENABLED` - TWO_FACTOR_AUTH_ENABLED + /// * `TWO_FACTOR_AUTH_DISABLED` - TWO_FACTOR_AUTH_DISABLED + /// * `DELETED_LINKED_ACCOUNT` - DELETED_LINKED_ACCOUNT + /// * `DELETED_ALL_COMMON_MODELS_FOR_LINKED_ACCOUNT` - DELETED_ALL_COMMON_MODELS_FOR_LINKED_ACCOUNT + /// * `CREATED_DESTINATION` - CREATED_DESTINATION + /// * `DELETED_DESTINATION` - DELETED_DESTINATION + /// * `CHANGED_DESTINATION` - CHANGED_DESTINATION + /// * `CHANGED_SCOPES` - CHANGED_SCOPES + /// * `CHANGED_PERSONAL_INFORMATION` - CHANGED_PERSONAL_INFORMATION + /// * `CHANGED_ORGANIZATION_SETTINGS` - CHANGED_ORGANIZATION_SETTINGS + /// * `ENABLED_INTEGRATION` - ENABLED_INTEGRATION + /// * `DISABLED_INTEGRATION` - DISABLED_INTEGRATION + /// * `ENABLED_CATEGORY` - ENABLED_CATEGORY + /// * `DISABLED_CATEGORY` - DISABLED_CATEGORY + /// * `CHANGED_PASSWORD` - CHANGED_PASSWORD + /// * `RESET_PASSWORD` - RESET_PASSWORD + /// * `ENABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION` - ENABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION + /// * `ENABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT` - ENABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT + /// * `DISABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION` - DISABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION + /// * `DISABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT` - DISABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT + /// * `CREATED_INTEGRATION_WIDE_FIELD_MAPPING` - CREATED_INTEGRATION_WIDE_FIELD_MAPPING + /// * `CREATED_LINKED_ACCOUNT_FIELD_MAPPING` - CREATED_LINKED_ACCOUNT_FIELD_MAPPING + /// * `CHANGED_INTEGRATION_WIDE_FIELD_MAPPING` - CHANGED_INTEGRATION_WIDE_FIELD_MAPPING + /// * `CHANGED_LINKED_ACCOUNT_FIELD_MAPPING` - CHANGED_LINKED_ACCOUNT_FIELD_MAPPING + /// * `DELETED_INTEGRATION_WIDE_FIELD_MAPPING` - DELETED_INTEGRATION_WIDE_FIELD_MAPPING + /// * `DELETED_LINKED_ACCOUNT_FIELD_MAPPING` - DELETED_LINKED_ACCOUNT_FIELD_MAPPING + /// * `CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE` - CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE + /// * `CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE` - CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE + /// * `DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE` - DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE + /// * `FORCED_LINKED_ACCOUNT_RESYNC` - FORCED_LINKED_ACCOUNT_RESYNC + /// * `MUTED_ISSUE` - MUTED_ISSUE + /// * `GENERATED_MAGIC_LINK` - GENERATED_MAGIC_LINK + /// * `ENABLED_MERGE_WEBHOOK` - ENABLED_MERGE_WEBHOOK + /// * `DISABLED_MERGE_WEBHOOK` - DISABLED_MERGE_WEBHOOK + /// * `MERGE_WEBHOOK_TARGET_CHANGED` - MERGE_WEBHOOK_TARGET_CHANGED + /// * `END_USER_CREDENTIALS_ACCESSED` - END_USER_CREDENTIALS_ACCESSED /// [JsonPropertyName("event_type")] public required EventTypeEnum EventType { get; set; } @@ -87,9 +90,21 @@ public record AuditLogEvent [JsonPropertyName("event_description")] public required string EventDescription { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/AvailableActions.cs b/src/Merge.Client/Accounting/Types/AvailableActions.cs index 910860e7..0206ec68 100644 --- a/src/Merge.Client/Accounting/Types/AvailableActions.cs +++ b/src/Merge.Client/Accounting/Types/AvailableActions.cs @@ -1,8 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; +/// +/// # The AvailableActions Object +/// ### Description +/// The `Activity` object is used to see all available model/operation combinations for an integration. +/// +/// ### Usage Example +/// Fetch all the actions available for the `Zenefits` integration. +/// public record AvailableActions { [JsonPropertyName("integration")] @@ -14,6 +23,17 @@ public record AvailableActions [JsonPropertyName("available_model_operations")] public IEnumerable? AvailableModelOperations { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/BalanceSheet.cs b/src/Merge.Client/Accounting/Types/BalanceSheet.cs index 83f30b79..ab808554 100644 --- a/src/Merge.Client/Accounting/Types/BalanceSheet.cs +++ b/src/Merge.Client/Accounting/Types/BalanceSheet.cs @@ -1,11 +1,21 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Accounting; +/// +/// # The BalanceSheet Object +/// ### Description +/// The `BalanceSheet` object shows a company’s assets, liabilities, and equity. Assets should be equal to liability and equity combined. This shows the company’s financial health at a specific point in time. +/// +/// ### Usage Example +/// Fetch from the `LIST BalanceSheets` endpoint and view a company's balance sheets. +/// public record BalanceSheet { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -18,12 +28,14 @@ public record BalanceSheet /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -36,312 +48,312 @@ public record BalanceSheet /// /// The balance sheet's currency. /// - /// - `XUA` - ADB Unit of Account - /// - `AFN` - Afghan Afghani - /// - `AFA` - Afghan Afghani (1927–2002) - /// - `ALL` - Albanian Lek - /// - `ALK` - Albanian Lek (1946–1965) - /// - `DZD` - Algerian Dinar - /// - `ADP` - Andorran Peseta - /// - `AOA` - Angolan Kwanza - /// - `AOK` - Angolan Kwanza (1977–1991) - /// - `AON` - Angolan New Kwanza (1990–2000) - /// - `AOR` - Angolan Readjusted Kwanza (1995–1999) - /// - `ARA` - Argentine Austral - /// - `ARS` - Argentine Peso - /// - `ARM` - Argentine Peso (1881–1970) - /// - `ARP` - Argentine Peso (1983–1985) - /// - `ARL` - Argentine Peso Ley (1970–1983) - /// - `AMD` - Armenian Dram - /// - `AWG` - Aruban Florin - /// - `AUD` - Australian Dollar - /// - `ATS` - Austrian Schilling - /// - `AZN` - Azerbaijani Manat - /// - `AZM` - Azerbaijani Manat (1993–2006) - /// - `BSD` - Bahamian Dollar - /// - `BHD` - Bahraini Dinar - /// - `BDT` - Bangladeshi Taka - /// - `BBD` - Barbadian Dollar - /// - `BYN` - Belarusian Ruble - /// - `BYB` - Belarusian Ruble (1994–1999) - /// - `BYR` - Belarusian Ruble (2000–2016) - /// - `BEF` - Belgian Franc - /// - `BEC` - Belgian Franc (convertible) - /// - `BEL` - Belgian Franc (financial) - /// - `BZD` - Belize Dollar - /// - `BMD` - Bermudan Dollar - /// - `BTN` - Bhutanese Ngultrum - /// - `BOB` - Bolivian Boliviano - /// - `BOL` - Bolivian Boliviano (1863–1963) - /// - `BOV` - Bolivian Mvdol - /// - `BOP` - Bolivian Peso - /// - `BAM` - Bosnia-Herzegovina Convertible Mark - /// - `BAD` - Bosnia-Herzegovina Dinar (1992–1994) - /// - `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) - /// - `BWP` - Botswanan Pula - /// - `BRC` - Brazilian Cruzado (1986–1989) - /// - `BRZ` - Brazilian Cruzeiro (1942–1967) - /// - `BRE` - Brazilian Cruzeiro (1990–1993) - /// - `BRR` - Brazilian Cruzeiro (1993–1994) - /// - `BRN` - Brazilian New Cruzado (1989–1990) - /// - `BRB` - Brazilian New Cruzeiro (1967–1986) - /// - `BRL` - Brazilian Real - /// - `GBP` - British Pound - /// - `BND` - Brunei Dollar - /// - `BGL` - Bulgarian Hard Lev - /// - `BGN` - Bulgarian Lev - /// - `BGO` - Bulgarian Lev (1879–1952) - /// - `BGM` - Bulgarian Socialist Lev - /// - `BUK` - Burmese Kyat - /// - `BIF` - Burundian Franc - /// - `XPF` - CFP Franc - /// - `KHR` - Cambodian Riel - /// - `CAD` - Canadian Dollar - /// - `CVE` - Cape Verdean Escudo - /// - `KYD` - Cayman Islands Dollar - /// - `XAF` - Central African CFA Franc - /// - `CLE` - Chilean Escudo - /// - `CLP` - Chilean Peso - /// - `CLF` - Chilean Unit of Account (UF) - /// - `CNX` - Chinese People’s Bank Dollar - /// - `CNY` - Chinese Yuan - /// - `CNH` - Chinese Yuan (offshore) - /// - `COP` - Colombian Peso - /// - `COU` - Colombian Real Value Unit - /// - `KMF` - Comorian Franc - /// - `CDF` - Congolese Franc - /// - `CRC` - Costa Rican Colón - /// - `HRD` - Croatian Dinar - /// - `HRK` - Croatian Kuna - /// - `CUC` - Cuban Convertible Peso - /// - `CUP` - Cuban Peso - /// - `CYP` - Cypriot Pound - /// - `CZK` - Czech Koruna - /// - `CSK` - Czechoslovak Hard Koruna - /// - `DKK` - Danish Krone - /// - `DJF` - Djiboutian Franc - /// - `DOP` - Dominican Peso - /// - `NLG` - Dutch Guilder - /// - `XCD` - East Caribbean Dollar - /// - `DDM` - East German Mark - /// - `ECS` - Ecuadorian Sucre - /// - `ECV` - Ecuadorian Unit of Constant Value - /// - `EGP` - Egyptian Pound - /// - `GQE` - Equatorial Guinean Ekwele - /// - `ERN` - Eritrean Nakfa - /// - `EEK` - Estonian Kroon - /// - `ETB` - Ethiopian Birr - /// - `EUR` - Euro - /// - `XBA` - European Composite Unit - /// - `XEU` - European Currency Unit - /// - `XBB` - European Monetary Unit - /// - `XBC` - European Unit of Account (XBC) - /// - `XBD` - European Unit of Account (XBD) - /// - `FKP` - Falkland Islands Pound - /// - `FJD` - Fijian Dollar - /// - `FIM` - Finnish Markka - /// - `FRF` - French Franc - /// - `XFO` - French Gold Franc - /// - `XFU` - French UIC-Franc - /// - `GMD` - Gambian Dalasi - /// - `GEK` - Georgian Kupon Larit - /// - `GEL` - Georgian Lari - /// - `DEM` - German Mark - /// - `GHS` - Ghanaian Cedi - /// - `GHC` - Ghanaian Cedi (1979–2007) - /// - `GIP` - Gibraltar Pound - /// - `XAU` - Gold - /// - `GRD` - Greek Drachma - /// - `GTQ` - Guatemalan Quetzal - /// - `GWP` - Guinea-Bissau Peso - /// - `GNF` - Guinean Franc - /// - `GNS` - Guinean Syli - /// - `GYD` - Guyanaese Dollar - /// - `HTG` - Haitian Gourde - /// - `HNL` - Honduran Lempira - /// - `HKD` - Hong Kong Dollar - /// - `HUF` - Hungarian Forint - /// - `IMP` - IMP - /// - `ISK` - Icelandic Króna - /// - `ISJ` - Icelandic Króna (1918–1981) - /// - `INR` - Indian Rupee - /// - `IDR` - Indonesian Rupiah - /// - `IRR` - Iranian Rial - /// - `IQD` - Iraqi Dinar - /// - `IEP` - Irish Pound - /// - `ILS` - Israeli New Shekel - /// - `ILP` - Israeli Pound - /// - `ILR` - Israeli Shekel (1980–1985) - /// - `ITL` - Italian Lira - /// - `JMD` - Jamaican Dollar - /// - `JPY` - Japanese Yen - /// - `JOD` - Jordanian Dinar - /// - `KZT` - Kazakhstani Tenge - /// - `KES` - Kenyan Shilling - /// - `KWD` - Kuwaiti Dinar - /// - `KGS` - Kyrgystani Som - /// - `LAK` - Laotian Kip - /// - `LVL` - Latvian Lats - /// - `LVR` - Latvian Ruble - /// - `LBP` - Lebanese Pound - /// - `LSL` - Lesotho Loti - /// - `LRD` - Liberian Dollar - /// - `LYD` - Libyan Dinar - /// - `LTL` - Lithuanian Litas - /// - `LTT` - Lithuanian Talonas - /// - `LUL` - Luxembourg Financial Franc - /// - `LUC` - Luxembourgian Convertible Franc - /// - `LUF` - Luxembourgian Franc - /// - `MOP` - Macanese Pataca - /// - `MKD` - Macedonian Denar - /// - `MKN` - Macedonian Denar (1992–1993) - /// - `MGA` - Malagasy Ariary - /// - `MGF` - Malagasy Franc - /// - `MWK` - Malawian Kwacha - /// - `MYR` - Malaysian Ringgit - /// - `MVR` - Maldivian Rufiyaa - /// - `MVP` - Maldivian Rupee (1947–1981) - /// - `MLF` - Malian Franc - /// - `MTL` - Maltese Lira - /// - `MTP` - Maltese Pound - /// - `MRU` - Mauritanian Ouguiya - /// - `MRO` - Mauritanian Ouguiya (1973–2017) - /// - `MUR` - Mauritian Rupee - /// - `MXV` - Mexican Investment Unit - /// - `MXN` - Mexican Peso - /// - `MXP` - Mexican Silver Peso (1861–1992) - /// - `MDC` - Moldovan Cupon - /// - `MDL` - Moldovan Leu - /// - `MCF` - Monegasque Franc - /// - `MNT` - Mongolian Tugrik - /// - `MAD` - Moroccan Dirham - /// - `MAF` - Moroccan Franc - /// - `MZE` - Mozambican Escudo - /// - `MZN` - Mozambican Metical - /// - `MZM` - Mozambican Metical (1980–2006) - /// - `MMK` - Myanmar Kyat - /// - `NAD` - Namibian Dollar - /// - `NPR` - Nepalese Rupee - /// - `ANG` - Netherlands Antillean Guilder - /// - `TWD` - New Taiwan Dollar - /// - `NZD` - New Zealand Dollar - /// - `NIO` - Nicaraguan Córdoba - /// - `NIC` - Nicaraguan Córdoba (1988–1991) - /// - `NGN` - Nigerian Naira - /// - `KPW` - North Korean Won - /// - `NOK` - Norwegian Krone - /// - `OMR` - Omani Rial - /// - `PKR` - Pakistani Rupee - /// - `XPD` - Palladium - /// - `PAB` - Panamanian Balboa - /// - `PGK` - Papua New Guinean Kina - /// - `PYG` - Paraguayan Guarani - /// - `PEI` - Peruvian Inti - /// - `PEN` - Peruvian Sol - /// - `PES` - Peruvian Sol (1863–1965) - /// - `PHP` - Philippine Peso - /// - `XPT` - Platinum - /// - `PLN` - Polish Zloty - /// - `PLZ` - Polish Zloty (1950–1995) - /// - `PTE` - Portuguese Escudo - /// - `GWE` - Portuguese Guinea Escudo - /// - `QAR` - Qatari Rial - /// - `XRE` - RINET Funds - /// - `RHD` - Rhodesian Dollar - /// - `RON` - Romanian Leu - /// - `ROL` - Romanian Leu (1952–2006) - /// - `RUB` - Russian Ruble - /// - `RUR` - Russian Ruble (1991–1998) - /// - `RWF` - Rwandan Franc - /// - `SVC` - Salvadoran Colón - /// - `WST` - Samoan Tala - /// - `SAR` - Saudi Riyal - /// - `RSD` - Serbian Dinar - /// - `CSD` - Serbian Dinar (2002–2006) - /// - `SCR` - Seychellois Rupee - /// - `SLL` - Sierra Leonean Leone - /// - `XAG` - Silver - /// - `SGD` - Singapore Dollar - /// - `SKK` - Slovak Koruna - /// - `SIT` - Slovenian Tolar - /// - `SBD` - Solomon Islands Dollar - /// - `SOS` - Somali Shilling - /// - `ZAR` - South African Rand - /// - `ZAL` - South African Rand (financial) - /// - `KRH` - South Korean Hwan (1953–1962) - /// - `KRW` - South Korean Won - /// - `KRO` - South Korean Won (1945–1953) - /// - `SSP` - South Sudanese Pound - /// - `SUR` - Soviet Rouble - /// - `ESP` - Spanish Peseta - /// - `ESA` - Spanish Peseta (A account) - /// - `ESB` - Spanish Peseta (convertible account) - /// - `XDR` - Special Drawing Rights - /// - `LKR` - Sri Lankan Rupee - /// - `SHP` - St. Helena Pound - /// - `XSU` - Sucre - /// - `SDD` - Sudanese Dinar (1992–2007) - /// - `SDG` - Sudanese Pound - /// - `SDP` - Sudanese Pound (1957–1998) - /// - `SRD` - Surinamese Dollar - /// - `SRG` - Surinamese Guilder - /// - `SZL` - Swazi Lilangeni - /// - `SEK` - Swedish Krona - /// - `CHF` - Swiss Franc - /// - `SYP` - Syrian Pound - /// - `STN` - São Tomé & Príncipe Dobra - /// - `STD` - São Tomé & Príncipe Dobra (1977–2017) - /// - `TVD` - TVD - /// - `TJR` - Tajikistani Ruble - /// - `TJS` - Tajikistani Somoni - /// - `TZS` - Tanzanian Shilling - /// - `XTS` - Testing Currency Code - /// - `THB` - Thai Baht - /// - `XXX` - The codes assigned for transactions where no currency is involved - /// - `TPE` - Timorese Escudo - /// - `TOP` - Tongan Paʻanga - /// - `TTD` - Trinidad & Tobago Dollar - /// - `TND` - Tunisian Dinar - /// - `TRY` - Turkish Lira - /// - `TRL` - Turkish Lira (1922–2005) - /// - `TMT` - Turkmenistani Manat - /// - `TMM` - Turkmenistani Manat (1993–2009) - /// - `USD` - US Dollar - /// - `USN` - US Dollar (Next day) - /// - `USS` - US Dollar (Same day) - /// - `UGX` - Ugandan Shilling - /// - `UGS` - Ugandan Shilling (1966–1987) - /// - `UAH` - Ukrainian Hryvnia - /// - `UAK` - Ukrainian Karbovanets - /// - `AED` - United Arab Emirates Dirham - /// - `UYW` - Uruguayan Nominal Wage Index Unit - /// - `UYU` - Uruguayan Peso - /// - `UYP` - Uruguayan Peso (1975–1993) - /// - `UYI` - Uruguayan Peso (Indexed Units) - /// - `UZS` - Uzbekistani Som - /// - `VUV` - Vanuatu Vatu - /// - `VES` - Venezuelan Bolívar - /// - `VEB` - Venezuelan Bolívar (1871–2008) - /// - `VEF` - Venezuelan Bolívar (2008–2018) - /// - `VND` - Vietnamese Dong - /// - `VNN` - Vietnamese Dong (1978–1985) - /// - `CHE` - WIR Euro - /// - `CHW` - WIR Franc - /// - `XOF` - West African CFA Franc - /// - `YDD` - Yemeni Dinar - /// - `YER` - Yemeni Rial - /// - `YUN` - Yugoslavian Convertible Dinar (1990–1992) - /// - `YUD` - Yugoslavian Hard Dinar (1966–1990) - /// - `YUM` - Yugoslavian New Dinar (1994–2002) - /// - `YUR` - Yugoslavian Reformed Dinar (1992–1993) - /// - `ZWN` - ZWN - /// - `ZRN` - Zairean New Zaire (1993–1998) - /// - `ZRZ` - Zairean Zaire (1971–1993) - /// - `ZMW` - Zambian Kwacha - /// - `ZMK` - Zambian Kwacha (1968–2012) - /// - `ZWD` - Zimbabwean Dollar (1980–2008) - /// - `ZWR` - Zimbabwean Dollar (2008) - /// - `ZWL` - Zimbabwean Dollar (2009) + /// * `XUA` - ADB Unit of Account + /// * `AFN` - Afghan Afghani + /// * `AFA` - Afghan Afghani (1927–2002) + /// * `ALL` - Albanian Lek + /// * `ALK` - Albanian Lek (1946–1965) + /// * `DZD` - Algerian Dinar + /// * `ADP` - Andorran Peseta + /// * `AOA` - Angolan Kwanza + /// * `AOK` - Angolan Kwanza (1977–1991) + /// * `AON` - Angolan New Kwanza (1990–2000) + /// * `AOR` - Angolan Readjusted Kwanza (1995–1999) + /// * `ARA` - Argentine Austral + /// * `ARS` - Argentine Peso + /// * `ARM` - Argentine Peso (1881–1970) + /// * `ARP` - Argentine Peso (1983–1985) + /// * `ARL` - Argentine Peso Ley (1970–1983) + /// * `AMD` - Armenian Dram + /// * `AWG` - Aruban Florin + /// * `AUD` - Australian Dollar + /// * `ATS` - Austrian Schilling + /// * `AZN` - Azerbaijani Manat + /// * `AZM` - Azerbaijani Manat (1993–2006) + /// * `BSD` - Bahamian Dollar + /// * `BHD` - Bahraini Dinar + /// * `BDT` - Bangladeshi Taka + /// * `BBD` - Barbadian Dollar + /// * `BYN` - Belarusian Ruble + /// * `BYB` - Belarusian Ruble (1994–1999) + /// * `BYR` - Belarusian Ruble (2000–2016) + /// * `BEF` - Belgian Franc + /// * `BEC` - Belgian Franc (convertible) + /// * `BEL` - Belgian Franc (financial) + /// * `BZD` - Belize Dollar + /// * `BMD` - Bermudan Dollar + /// * `BTN` - Bhutanese Ngultrum + /// * `BOB` - Bolivian Boliviano + /// * `BOL` - Bolivian Boliviano (1863–1963) + /// * `BOV` - Bolivian Mvdol + /// * `BOP` - Bolivian Peso + /// * `BAM` - Bosnia-Herzegovina Convertible Mark + /// * `BAD` - Bosnia-Herzegovina Dinar (1992–1994) + /// * `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) + /// * `BWP` - Botswanan Pula + /// * `BRC` - Brazilian Cruzado (1986–1989) + /// * `BRZ` - Brazilian Cruzeiro (1942–1967) + /// * `BRE` - Brazilian Cruzeiro (1990–1993) + /// * `BRR` - Brazilian Cruzeiro (1993–1994) + /// * `BRN` - Brazilian New Cruzado (1989–1990) + /// * `BRB` - Brazilian New Cruzeiro (1967–1986) + /// * `BRL` - Brazilian Real + /// * `GBP` - British Pound + /// * `BND` - Brunei Dollar + /// * `BGL` - Bulgarian Hard Lev + /// * `BGN` - Bulgarian Lev + /// * `BGO` - Bulgarian Lev (1879–1952) + /// * `BGM` - Bulgarian Socialist Lev + /// * `BUK` - Burmese Kyat + /// * `BIF` - Burundian Franc + /// * `XPF` - CFP Franc + /// * `KHR` - Cambodian Riel + /// * `CAD` - Canadian Dollar + /// * `CVE` - Cape Verdean Escudo + /// * `KYD` - Cayman Islands Dollar + /// * `XAF` - Central African CFA Franc + /// * `CLE` - Chilean Escudo + /// * `CLP` - Chilean Peso + /// * `CLF` - Chilean Unit of Account (UF) + /// * `CNX` - Chinese People’s Bank Dollar + /// * `CNY` - Chinese Yuan + /// * `CNH` - Chinese Yuan (offshore) + /// * `COP` - Colombian Peso + /// * `COU` - Colombian Real Value Unit + /// * `KMF` - Comorian Franc + /// * `CDF` - Congolese Franc + /// * `CRC` - Costa Rican Colón + /// * `HRD` - Croatian Dinar + /// * `HRK` - Croatian Kuna + /// * `CUC` - Cuban Convertible Peso + /// * `CUP` - Cuban Peso + /// * `CYP` - Cypriot Pound + /// * `CZK` - Czech Koruna + /// * `CSK` - Czechoslovak Hard Koruna + /// * `DKK` - Danish Krone + /// * `DJF` - Djiboutian Franc + /// * `DOP` - Dominican Peso + /// * `NLG` - Dutch Guilder + /// * `XCD` - East Caribbean Dollar + /// * `DDM` - East German Mark + /// * `ECS` - Ecuadorian Sucre + /// * `ECV` - Ecuadorian Unit of Constant Value + /// * `EGP` - Egyptian Pound + /// * `GQE` - Equatorial Guinean Ekwele + /// * `ERN` - Eritrean Nakfa + /// * `EEK` - Estonian Kroon + /// * `ETB` - Ethiopian Birr + /// * `EUR` - Euro + /// * `XBA` - European Composite Unit + /// * `XEU` - European Currency Unit + /// * `XBB` - European Monetary Unit + /// * `XBC` - European Unit of Account (XBC) + /// * `XBD` - European Unit of Account (XBD) + /// * `FKP` - Falkland Islands Pound + /// * `FJD` - Fijian Dollar + /// * `FIM` - Finnish Markka + /// * `FRF` - French Franc + /// * `XFO` - French Gold Franc + /// * `XFU` - French UIC-Franc + /// * `GMD` - Gambian Dalasi + /// * `GEK` - Georgian Kupon Larit + /// * `GEL` - Georgian Lari + /// * `DEM` - German Mark + /// * `GHS` - Ghanaian Cedi + /// * `GHC` - Ghanaian Cedi (1979–2007) + /// * `GIP` - Gibraltar Pound + /// * `XAU` - Gold + /// * `GRD` - Greek Drachma + /// * `GTQ` - Guatemalan Quetzal + /// * `GWP` - Guinea-Bissau Peso + /// * `GNF` - Guinean Franc + /// * `GNS` - Guinean Syli + /// * `GYD` - Guyanaese Dollar + /// * `HTG` - Haitian Gourde + /// * `HNL` - Honduran Lempira + /// * `HKD` - Hong Kong Dollar + /// * `HUF` - Hungarian Forint + /// * `IMP` - IMP + /// * `ISK` - Icelandic Króna + /// * `ISJ` - Icelandic Króna (1918–1981) + /// * `INR` - Indian Rupee + /// * `IDR` - Indonesian Rupiah + /// * `IRR` - Iranian Rial + /// * `IQD` - Iraqi Dinar + /// * `IEP` - Irish Pound + /// * `ILS` - Israeli New Shekel + /// * `ILP` - Israeli Pound + /// * `ILR` - Israeli Shekel (1980–1985) + /// * `ITL` - Italian Lira + /// * `JMD` - Jamaican Dollar + /// * `JPY` - Japanese Yen + /// * `JOD` - Jordanian Dinar + /// * `KZT` - Kazakhstani Tenge + /// * `KES` - Kenyan Shilling + /// * `KWD` - Kuwaiti Dinar + /// * `KGS` - Kyrgystani Som + /// * `LAK` - Laotian Kip + /// * `LVL` - Latvian Lats + /// * `LVR` - Latvian Ruble + /// * `LBP` - Lebanese Pound + /// * `LSL` - Lesotho Loti + /// * `LRD` - Liberian Dollar + /// * `LYD` - Libyan Dinar + /// * `LTL` - Lithuanian Litas + /// * `LTT` - Lithuanian Talonas + /// * `LUL` - Luxembourg Financial Franc + /// * `LUC` - Luxembourgian Convertible Franc + /// * `LUF` - Luxembourgian Franc + /// * `MOP` - Macanese Pataca + /// * `MKD` - Macedonian Denar + /// * `MKN` - Macedonian Denar (1992–1993) + /// * `MGA` - Malagasy Ariary + /// * `MGF` - Malagasy Franc + /// * `MWK` - Malawian Kwacha + /// * `MYR` - Malaysian Ringgit + /// * `MVR` - Maldivian Rufiyaa + /// * `MVP` - Maldivian Rupee (1947–1981) + /// * `MLF` - Malian Franc + /// * `MTL` - Maltese Lira + /// * `MTP` - Maltese Pound + /// * `MRU` - Mauritanian Ouguiya + /// * `MRO` - Mauritanian Ouguiya (1973–2017) + /// * `MUR` - Mauritian Rupee + /// * `MXV` - Mexican Investment Unit + /// * `MXN` - Mexican Peso + /// * `MXP` - Mexican Silver Peso (1861–1992) + /// * `MDC` - Moldovan Cupon + /// * `MDL` - Moldovan Leu + /// * `MCF` - Monegasque Franc + /// * `MNT` - Mongolian Tugrik + /// * `MAD` - Moroccan Dirham + /// * `MAF` - Moroccan Franc + /// * `MZE` - Mozambican Escudo + /// * `MZN` - Mozambican Metical + /// * `MZM` - Mozambican Metical (1980–2006) + /// * `MMK` - Myanmar Kyat + /// * `NAD` - Namibian Dollar + /// * `NPR` - Nepalese Rupee + /// * `ANG` - Netherlands Antillean Guilder + /// * `TWD` - New Taiwan Dollar + /// * `NZD` - New Zealand Dollar + /// * `NIO` - Nicaraguan Córdoba + /// * `NIC` - Nicaraguan Córdoba (1988–1991) + /// * `NGN` - Nigerian Naira + /// * `KPW` - North Korean Won + /// * `NOK` - Norwegian Krone + /// * `OMR` - Omani Rial + /// * `PKR` - Pakistani Rupee + /// * `XPD` - Palladium + /// * `PAB` - Panamanian Balboa + /// * `PGK` - Papua New Guinean Kina + /// * `PYG` - Paraguayan Guarani + /// * `PEI` - Peruvian Inti + /// * `PEN` - Peruvian Sol + /// * `PES` - Peruvian Sol (1863–1965) + /// * `PHP` - Philippine Peso + /// * `XPT` - Platinum + /// * `PLN` - Polish Zloty + /// * `PLZ` - Polish Zloty (1950–1995) + /// * `PTE` - Portuguese Escudo + /// * `GWE` - Portuguese Guinea Escudo + /// * `QAR` - Qatari Rial + /// * `XRE` - RINET Funds + /// * `RHD` - Rhodesian Dollar + /// * `RON` - Romanian Leu + /// * `ROL` - Romanian Leu (1952–2006) + /// * `RUB` - Russian Ruble + /// * `RUR` - Russian Ruble (1991–1998) + /// * `RWF` - Rwandan Franc + /// * `SVC` - Salvadoran Colón + /// * `WST` - Samoan Tala + /// * `SAR` - Saudi Riyal + /// * `RSD` - Serbian Dinar + /// * `CSD` - Serbian Dinar (2002–2006) + /// * `SCR` - Seychellois Rupee + /// * `SLL` - Sierra Leonean Leone + /// * `XAG` - Silver + /// * `SGD` - Singapore Dollar + /// * `SKK` - Slovak Koruna + /// * `SIT` - Slovenian Tolar + /// * `SBD` - Solomon Islands Dollar + /// * `SOS` - Somali Shilling + /// * `ZAR` - South African Rand + /// * `ZAL` - South African Rand (financial) + /// * `KRH` - South Korean Hwan (1953–1962) + /// * `KRW` - South Korean Won + /// * `KRO` - South Korean Won (1945–1953) + /// * `SSP` - South Sudanese Pound + /// * `SUR` - Soviet Rouble + /// * `ESP` - Spanish Peseta + /// * `ESA` - Spanish Peseta (A account) + /// * `ESB` - Spanish Peseta (convertible account) + /// * `XDR` - Special Drawing Rights + /// * `LKR` - Sri Lankan Rupee + /// * `SHP` - St. Helena Pound + /// * `XSU` - Sucre + /// * `SDD` - Sudanese Dinar (1992–2007) + /// * `SDG` - Sudanese Pound + /// * `SDP` - Sudanese Pound (1957–1998) + /// * `SRD` - Surinamese Dollar + /// * `SRG` - Surinamese Guilder + /// * `SZL` - Swazi Lilangeni + /// * `SEK` - Swedish Krona + /// * `CHF` - Swiss Franc + /// * `SYP` - Syrian Pound + /// * `STN` - São Tomé & Príncipe Dobra + /// * `STD` - São Tomé & Príncipe Dobra (1977–2017) + /// * `TVD` - TVD + /// * `TJR` - Tajikistani Ruble + /// * `TJS` - Tajikistani Somoni + /// * `TZS` - Tanzanian Shilling + /// * `XTS` - Testing Currency Code + /// * `THB` - Thai Baht + /// * `XXX` - The codes assigned for transactions where no currency is involved + /// * `TPE` - Timorese Escudo + /// * `TOP` - Tongan Paʻanga + /// * `TTD` - Trinidad & Tobago Dollar + /// * `TND` - Tunisian Dinar + /// * `TRY` - Turkish Lira + /// * `TRL` - Turkish Lira (1922–2005) + /// * `TMT` - Turkmenistani Manat + /// * `TMM` - Turkmenistani Manat (1993–2009) + /// * `USD` - US Dollar + /// * `USN` - US Dollar (Next day) + /// * `USS` - US Dollar (Same day) + /// * `UGX` - Ugandan Shilling + /// * `UGS` - Ugandan Shilling (1966–1987) + /// * `UAH` - Ukrainian Hryvnia + /// * `UAK` - Ukrainian Karbovanets + /// * `AED` - United Arab Emirates Dirham + /// * `UYW` - Uruguayan Nominal Wage Index Unit + /// * `UYU` - Uruguayan Peso + /// * `UYP` - Uruguayan Peso (1975–1993) + /// * `UYI` - Uruguayan Peso (Indexed Units) + /// * `UZS` - Uzbekistani Som + /// * `VUV` - Vanuatu Vatu + /// * `VES` - Venezuelan Bolívar + /// * `VEB` - Venezuelan Bolívar (1871–2008) + /// * `VEF` - Venezuelan Bolívar (2008–2018) + /// * `VND` - Vietnamese Dong + /// * `VNN` - Vietnamese Dong (1978–1985) + /// * `CHE` - WIR Euro + /// * `CHW` - WIR Franc + /// * `XOF` - West African CFA Franc + /// * `YDD` - Yemeni Dinar + /// * `YER` - Yemeni Rial + /// * `YUN` - Yugoslavian Convertible Dinar (1990–1992) + /// * `YUD` - Yugoslavian Hard Dinar (1966–1990) + /// * `YUM` - Yugoslavian New Dinar (1994–2002) + /// * `YUR` - Yugoslavian Reformed Dinar (1992–1993) + /// * `ZWN` - ZWN + /// * `ZRN` - Zairean New Zaire (1993–1998) + /// * `ZRZ` - Zairean Zaire (1971–1993) + /// * `ZMW` - Zambian Kwacha + /// * `ZMK` - Zambian Kwacha (1968–2012) + /// * `ZWD` - Zimbabwean Dollar (1980–2008) + /// * `ZWR` - Zimbabwean Dollar (2008) + /// * `ZWL` - Zimbabwean Dollar (2009) /// [JsonPropertyName("currency")] public TransactionCurrencyEnum? Currency { get; set; } @@ -364,12 +376,15 @@ public record BalanceSheet [JsonPropertyName("net_assets")] public double? NetAssets { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("assets")] public IEnumerable? Assets { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("liabilities")] public IEnumerable? Liabilities { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("equity")] public IEnumerable? Equity { get; set; } @@ -382,15 +397,29 @@ public record BalanceSheet /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/BankFeedAccount.cs b/src/Merge.Client/Accounting/Types/BankFeedAccount.cs index dcb243f3..25e1e586 100644 --- a/src/Merge.Client/Accounting/Types/BankFeedAccount.cs +++ b/src/Merge.Client/Accounting/Types/BankFeedAccount.cs @@ -1,10 +1,20 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; +/// +/// # The BankFeedAccount Object +/// ### Description +/// The `BankFeedAccount` object represents a bank feed account, detailing various attributes including account identifiers, names, currency, and balance information. This object is central to managing and tracking bank feed accounts within the system. +/// +/// ### Usage Example +/// Fetch from the `GET BankFeedAccount` endpoint to view details of a bank feed account. +/// public record BankFeedAccount { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -17,12 +27,14 @@ public record BankFeedAccount /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -59,312 +71,312 @@ public record BankFeedAccount /// /// The currency code of the bank feed. /// - /// - `XUA` - ADB Unit of Account - /// - `AFN` - Afghan Afghani - /// - `AFA` - Afghan Afghani (1927–2002) - /// - `ALL` - Albanian Lek - /// - `ALK` - Albanian Lek (1946–1965) - /// - `DZD` - Algerian Dinar - /// - `ADP` - Andorran Peseta - /// - `AOA` - Angolan Kwanza - /// - `AOK` - Angolan Kwanza (1977–1991) - /// - `AON` - Angolan New Kwanza (1990–2000) - /// - `AOR` - Angolan Readjusted Kwanza (1995–1999) - /// - `ARA` - Argentine Austral - /// - `ARS` - Argentine Peso - /// - `ARM` - Argentine Peso (1881–1970) - /// - `ARP` - Argentine Peso (1983–1985) - /// - `ARL` - Argentine Peso Ley (1970–1983) - /// - `AMD` - Armenian Dram - /// - `AWG` - Aruban Florin - /// - `AUD` - Australian Dollar - /// - `ATS` - Austrian Schilling - /// - `AZN` - Azerbaijani Manat - /// - `AZM` - Azerbaijani Manat (1993–2006) - /// - `BSD` - Bahamian Dollar - /// - `BHD` - Bahraini Dinar - /// - `BDT` - Bangladeshi Taka - /// - `BBD` - Barbadian Dollar - /// - `BYN` - Belarusian Ruble - /// - `BYB` - Belarusian Ruble (1994–1999) - /// - `BYR` - Belarusian Ruble (2000–2016) - /// - `BEF` - Belgian Franc - /// - `BEC` - Belgian Franc (convertible) - /// - `BEL` - Belgian Franc (financial) - /// - `BZD` - Belize Dollar - /// - `BMD` - Bermudan Dollar - /// - `BTN` - Bhutanese Ngultrum - /// - `BOB` - Bolivian Boliviano - /// - `BOL` - Bolivian Boliviano (1863–1963) - /// - `BOV` - Bolivian Mvdol - /// - `BOP` - Bolivian Peso - /// - `BAM` - Bosnia-Herzegovina Convertible Mark - /// - `BAD` - Bosnia-Herzegovina Dinar (1992–1994) - /// - `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) - /// - `BWP` - Botswanan Pula - /// - `BRC` - Brazilian Cruzado (1986–1989) - /// - `BRZ` - Brazilian Cruzeiro (1942–1967) - /// - `BRE` - Brazilian Cruzeiro (1990–1993) - /// - `BRR` - Brazilian Cruzeiro (1993–1994) - /// - `BRN` - Brazilian New Cruzado (1989–1990) - /// - `BRB` - Brazilian New Cruzeiro (1967–1986) - /// - `BRL` - Brazilian Real - /// - `GBP` - British Pound - /// - `BND` - Brunei Dollar - /// - `BGL` - Bulgarian Hard Lev - /// - `BGN` - Bulgarian Lev - /// - `BGO` - Bulgarian Lev (1879–1952) - /// - `BGM` - Bulgarian Socialist Lev - /// - `BUK` - Burmese Kyat - /// - `BIF` - Burundian Franc - /// - `XPF` - CFP Franc - /// - `KHR` - Cambodian Riel - /// - `CAD` - Canadian Dollar - /// - `CVE` - Cape Verdean Escudo - /// - `KYD` - Cayman Islands Dollar - /// - `XAF` - Central African CFA Franc - /// - `CLE` - Chilean Escudo - /// - `CLP` - Chilean Peso - /// - `CLF` - Chilean Unit of Account (UF) - /// - `CNX` - Chinese People’s Bank Dollar - /// - `CNY` - Chinese Yuan - /// - `CNH` - Chinese Yuan (offshore) - /// - `COP` - Colombian Peso - /// - `COU` - Colombian Real Value Unit - /// - `KMF` - Comorian Franc - /// - `CDF` - Congolese Franc - /// - `CRC` - Costa Rican Colón - /// - `HRD` - Croatian Dinar - /// - `HRK` - Croatian Kuna - /// - `CUC` - Cuban Convertible Peso - /// - `CUP` - Cuban Peso - /// - `CYP` - Cypriot Pound - /// - `CZK` - Czech Koruna - /// - `CSK` - Czechoslovak Hard Koruna - /// - `DKK` - Danish Krone - /// - `DJF` - Djiboutian Franc - /// - `DOP` - Dominican Peso - /// - `NLG` - Dutch Guilder - /// - `XCD` - East Caribbean Dollar - /// - `DDM` - East German Mark - /// - `ECS` - Ecuadorian Sucre - /// - `ECV` - Ecuadorian Unit of Constant Value - /// - `EGP` - Egyptian Pound - /// - `GQE` - Equatorial Guinean Ekwele - /// - `ERN` - Eritrean Nakfa - /// - `EEK` - Estonian Kroon - /// - `ETB` - Ethiopian Birr - /// - `EUR` - Euro - /// - `XBA` - European Composite Unit - /// - `XEU` - European Currency Unit - /// - `XBB` - European Monetary Unit - /// - `XBC` - European Unit of Account (XBC) - /// - `XBD` - European Unit of Account (XBD) - /// - `FKP` - Falkland Islands Pound - /// - `FJD` - Fijian Dollar - /// - `FIM` - Finnish Markka - /// - `FRF` - French Franc - /// - `XFO` - French Gold Franc - /// - `XFU` - French UIC-Franc - /// - `GMD` - Gambian Dalasi - /// - `GEK` - Georgian Kupon Larit - /// - `GEL` - Georgian Lari - /// - `DEM` - German Mark - /// - `GHS` - Ghanaian Cedi - /// - `GHC` - Ghanaian Cedi (1979–2007) - /// - `GIP` - Gibraltar Pound - /// - `XAU` - Gold - /// - `GRD` - Greek Drachma - /// - `GTQ` - Guatemalan Quetzal - /// - `GWP` - Guinea-Bissau Peso - /// - `GNF` - Guinean Franc - /// - `GNS` - Guinean Syli - /// - `GYD` - Guyanaese Dollar - /// - `HTG` - Haitian Gourde - /// - `HNL` - Honduran Lempira - /// - `HKD` - Hong Kong Dollar - /// - `HUF` - Hungarian Forint - /// - `IMP` - IMP - /// - `ISK` - Icelandic Króna - /// - `ISJ` - Icelandic Króna (1918–1981) - /// - `INR` - Indian Rupee - /// - `IDR` - Indonesian Rupiah - /// - `IRR` - Iranian Rial - /// - `IQD` - Iraqi Dinar - /// - `IEP` - Irish Pound - /// - `ILS` - Israeli New Shekel - /// - `ILP` - Israeli Pound - /// - `ILR` - Israeli Shekel (1980–1985) - /// - `ITL` - Italian Lira - /// - `JMD` - Jamaican Dollar - /// - `JPY` - Japanese Yen - /// - `JOD` - Jordanian Dinar - /// - `KZT` - Kazakhstani Tenge - /// - `KES` - Kenyan Shilling - /// - `KWD` - Kuwaiti Dinar - /// - `KGS` - Kyrgystani Som - /// - `LAK` - Laotian Kip - /// - `LVL` - Latvian Lats - /// - `LVR` - Latvian Ruble - /// - `LBP` - Lebanese Pound - /// - `LSL` - Lesotho Loti - /// - `LRD` - Liberian Dollar - /// - `LYD` - Libyan Dinar - /// - `LTL` - Lithuanian Litas - /// - `LTT` - Lithuanian Talonas - /// - `LUL` - Luxembourg Financial Franc - /// - `LUC` - Luxembourgian Convertible Franc - /// - `LUF` - Luxembourgian Franc - /// - `MOP` - Macanese Pataca - /// - `MKD` - Macedonian Denar - /// - `MKN` - Macedonian Denar (1992–1993) - /// - `MGA` - Malagasy Ariary - /// - `MGF` - Malagasy Franc - /// - `MWK` - Malawian Kwacha - /// - `MYR` - Malaysian Ringgit - /// - `MVR` - Maldivian Rufiyaa - /// - `MVP` - Maldivian Rupee (1947–1981) - /// - `MLF` - Malian Franc - /// - `MTL` - Maltese Lira - /// - `MTP` - Maltese Pound - /// - `MRU` - Mauritanian Ouguiya - /// - `MRO` - Mauritanian Ouguiya (1973–2017) - /// - `MUR` - Mauritian Rupee - /// - `MXV` - Mexican Investment Unit - /// - `MXN` - Mexican Peso - /// - `MXP` - Mexican Silver Peso (1861–1992) - /// - `MDC` - Moldovan Cupon - /// - `MDL` - Moldovan Leu - /// - `MCF` - Monegasque Franc - /// - `MNT` - Mongolian Tugrik - /// - `MAD` - Moroccan Dirham - /// - `MAF` - Moroccan Franc - /// - `MZE` - Mozambican Escudo - /// - `MZN` - Mozambican Metical - /// - `MZM` - Mozambican Metical (1980–2006) - /// - `MMK` - Myanmar Kyat - /// - `NAD` - Namibian Dollar - /// - `NPR` - Nepalese Rupee - /// - `ANG` - Netherlands Antillean Guilder - /// - `TWD` - New Taiwan Dollar - /// - `NZD` - New Zealand Dollar - /// - `NIO` - Nicaraguan Córdoba - /// - `NIC` - Nicaraguan Córdoba (1988–1991) - /// - `NGN` - Nigerian Naira - /// - `KPW` - North Korean Won - /// - `NOK` - Norwegian Krone - /// - `OMR` - Omani Rial - /// - `PKR` - Pakistani Rupee - /// - `XPD` - Palladium - /// - `PAB` - Panamanian Balboa - /// - `PGK` - Papua New Guinean Kina - /// - `PYG` - Paraguayan Guarani - /// - `PEI` - Peruvian Inti - /// - `PEN` - Peruvian Sol - /// - `PES` - Peruvian Sol (1863–1965) - /// - `PHP` - Philippine Peso - /// - `XPT` - Platinum - /// - `PLN` - Polish Zloty - /// - `PLZ` - Polish Zloty (1950–1995) - /// - `PTE` - Portuguese Escudo - /// - `GWE` - Portuguese Guinea Escudo - /// - `QAR` - Qatari Rial - /// - `XRE` - RINET Funds - /// - `RHD` - Rhodesian Dollar - /// - `RON` - Romanian Leu - /// - `ROL` - Romanian Leu (1952–2006) - /// - `RUB` - Russian Ruble - /// - `RUR` - Russian Ruble (1991–1998) - /// - `RWF` - Rwandan Franc - /// - `SVC` - Salvadoran Colón - /// - `WST` - Samoan Tala - /// - `SAR` - Saudi Riyal - /// - `RSD` - Serbian Dinar - /// - `CSD` - Serbian Dinar (2002–2006) - /// - `SCR` - Seychellois Rupee - /// - `SLL` - Sierra Leonean Leone - /// - `XAG` - Silver - /// - `SGD` - Singapore Dollar - /// - `SKK` - Slovak Koruna - /// - `SIT` - Slovenian Tolar - /// - `SBD` - Solomon Islands Dollar - /// - `SOS` - Somali Shilling - /// - `ZAR` - South African Rand - /// - `ZAL` - South African Rand (financial) - /// - `KRH` - South Korean Hwan (1953–1962) - /// - `KRW` - South Korean Won - /// - `KRO` - South Korean Won (1945–1953) - /// - `SSP` - South Sudanese Pound - /// - `SUR` - Soviet Rouble - /// - `ESP` - Spanish Peseta - /// - `ESA` - Spanish Peseta (A account) - /// - `ESB` - Spanish Peseta (convertible account) - /// - `XDR` - Special Drawing Rights - /// - `LKR` - Sri Lankan Rupee - /// - `SHP` - St. Helena Pound - /// - `XSU` - Sucre - /// - `SDD` - Sudanese Dinar (1992–2007) - /// - `SDG` - Sudanese Pound - /// - `SDP` - Sudanese Pound (1957–1998) - /// - `SRD` - Surinamese Dollar - /// - `SRG` - Surinamese Guilder - /// - `SZL` - Swazi Lilangeni - /// - `SEK` - Swedish Krona - /// - `CHF` - Swiss Franc - /// - `SYP` - Syrian Pound - /// - `STN` - São Tomé & Príncipe Dobra - /// - `STD` - São Tomé & Príncipe Dobra (1977–2017) - /// - `TVD` - TVD - /// - `TJR` - Tajikistani Ruble - /// - `TJS` - Tajikistani Somoni - /// - `TZS` - Tanzanian Shilling - /// - `XTS` - Testing Currency Code - /// - `THB` - Thai Baht - /// - `XXX` - The codes assigned for transactions where no currency is involved - /// - `TPE` - Timorese Escudo - /// - `TOP` - Tongan Paʻanga - /// - `TTD` - Trinidad & Tobago Dollar - /// - `TND` - Tunisian Dinar - /// - `TRY` - Turkish Lira - /// - `TRL` - Turkish Lira (1922–2005) - /// - `TMT` - Turkmenistani Manat - /// - `TMM` - Turkmenistani Manat (1993–2009) - /// - `USD` - US Dollar - /// - `USN` - US Dollar (Next day) - /// - `USS` - US Dollar (Same day) - /// - `UGX` - Ugandan Shilling - /// - `UGS` - Ugandan Shilling (1966–1987) - /// - `UAH` - Ukrainian Hryvnia - /// - `UAK` - Ukrainian Karbovanets - /// - `AED` - United Arab Emirates Dirham - /// - `UYW` - Uruguayan Nominal Wage Index Unit - /// - `UYU` - Uruguayan Peso - /// - `UYP` - Uruguayan Peso (1975–1993) - /// - `UYI` - Uruguayan Peso (Indexed Units) - /// - `UZS` - Uzbekistani Som - /// - `VUV` - Vanuatu Vatu - /// - `VES` - Venezuelan Bolívar - /// - `VEB` - Venezuelan Bolívar (1871–2008) - /// - `VEF` - Venezuelan Bolívar (2008–2018) - /// - `VND` - Vietnamese Dong - /// - `VNN` - Vietnamese Dong (1978–1985) - /// - `CHE` - WIR Euro - /// - `CHW` - WIR Franc - /// - `XOF` - West African CFA Franc - /// - `YDD` - Yemeni Dinar - /// - `YER` - Yemeni Rial - /// - `YUN` - Yugoslavian Convertible Dinar (1990–1992) - /// - `YUD` - Yugoslavian Hard Dinar (1966–1990) - /// - `YUM` - Yugoslavian New Dinar (1994–2002) - /// - `YUR` - Yugoslavian Reformed Dinar (1992–1993) - /// - `ZWN` - ZWN - /// - `ZRN` - Zairean New Zaire (1993–1998) - /// - `ZRZ` - Zairean Zaire (1971–1993) - /// - `ZMW` - Zambian Kwacha - /// - `ZMK` - Zambian Kwacha (1968–2012) - /// - `ZWD` - Zimbabwean Dollar (1980–2008) - /// - `ZWR` - Zimbabwean Dollar (2008) - /// - `ZWL` - Zimbabwean Dollar (2009) + /// * `XUA` - ADB Unit of Account + /// * `AFN` - Afghan Afghani + /// * `AFA` - Afghan Afghani (1927–2002) + /// * `ALL` - Albanian Lek + /// * `ALK` - Albanian Lek (1946–1965) + /// * `DZD` - Algerian Dinar + /// * `ADP` - Andorran Peseta + /// * `AOA` - Angolan Kwanza + /// * `AOK` - Angolan Kwanza (1977–1991) + /// * `AON` - Angolan New Kwanza (1990–2000) + /// * `AOR` - Angolan Readjusted Kwanza (1995–1999) + /// * `ARA` - Argentine Austral + /// * `ARS` - Argentine Peso + /// * `ARM` - Argentine Peso (1881–1970) + /// * `ARP` - Argentine Peso (1983–1985) + /// * `ARL` - Argentine Peso Ley (1970–1983) + /// * `AMD` - Armenian Dram + /// * `AWG` - Aruban Florin + /// * `AUD` - Australian Dollar + /// * `ATS` - Austrian Schilling + /// * `AZN` - Azerbaijani Manat + /// * `AZM` - Azerbaijani Manat (1993–2006) + /// * `BSD` - Bahamian Dollar + /// * `BHD` - Bahraini Dinar + /// * `BDT` - Bangladeshi Taka + /// * `BBD` - Barbadian Dollar + /// * `BYN` - Belarusian Ruble + /// * `BYB` - Belarusian Ruble (1994–1999) + /// * `BYR` - Belarusian Ruble (2000–2016) + /// * `BEF` - Belgian Franc + /// * `BEC` - Belgian Franc (convertible) + /// * `BEL` - Belgian Franc (financial) + /// * `BZD` - Belize Dollar + /// * `BMD` - Bermudan Dollar + /// * `BTN` - Bhutanese Ngultrum + /// * `BOB` - Bolivian Boliviano + /// * `BOL` - Bolivian Boliviano (1863–1963) + /// * `BOV` - Bolivian Mvdol + /// * `BOP` - Bolivian Peso + /// * `BAM` - Bosnia-Herzegovina Convertible Mark + /// * `BAD` - Bosnia-Herzegovina Dinar (1992–1994) + /// * `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) + /// * `BWP` - Botswanan Pula + /// * `BRC` - Brazilian Cruzado (1986–1989) + /// * `BRZ` - Brazilian Cruzeiro (1942–1967) + /// * `BRE` - Brazilian Cruzeiro (1990–1993) + /// * `BRR` - Brazilian Cruzeiro (1993–1994) + /// * `BRN` - Brazilian New Cruzado (1989–1990) + /// * `BRB` - Brazilian New Cruzeiro (1967–1986) + /// * `BRL` - Brazilian Real + /// * `GBP` - British Pound + /// * `BND` - Brunei Dollar + /// * `BGL` - Bulgarian Hard Lev + /// * `BGN` - Bulgarian Lev + /// * `BGO` - Bulgarian Lev (1879–1952) + /// * `BGM` - Bulgarian Socialist Lev + /// * `BUK` - Burmese Kyat + /// * `BIF` - Burundian Franc + /// * `XPF` - CFP Franc + /// * `KHR` - Cambodian Riel + /// * `CAD` - Canadian Dollar + /// * `CVE` - Cape Verdean Escudo + /// * `KYD` - Cayman Islands Dollar + /// * `XAF` - Central African CFA Franc + /// * `CLE` - Chilean Escudo + /// * `CLP` - Chilean Peso + /// * `CLF` - Chilean Unit of Account (UF) + /// * `CNX` - Chinese People’s Bank Dollar + /// * `CNY` - Chinese Yuan + /// * `CNH` - Chinese Yuan (offshore) + /// * `COP` - Colombian Peso + /// * `COU` - Colombian Real Value Unit + /// * `KMF` - Comorian Franc + /// * `CDF` - Congolese Franc + /// * `CRC` - Costa Rican Colón + /// * `HRD` - Croatian Dinar + /// * `HRK` - Croatian Kuna + /// * `CUC` - Cuban Convertible Peso + /// * `CUP` - Cuban Peso + /// * `CYP` - Cypriot Pound + /// * `CZK` - Czech Koruna + /// * `CSK` - Czechoslovak Hard Koruna + /// * `DKK` - Danish Krone + /// * `DJF` - Djiboutian Franc + /// * `DOP` - Dominican Peso + /// * `NLG` - Dutch Guilder + /// * `XCD` - East Caribbean Dollar + /// * `DDM` - East German Mark + /// * `ECS` - Ecuadorian Sucre + /// * `ECV` - Ecuadorian Unit of Constant Value + /// * `EGP` - Egyptian Pound + /// * `GQE` - Equatorial Guinean Ekwele + /// * `ERN` - Eritrean Nakfa + /// * `EEK` - Estonian Kroon + /// * `ETB` - Ethiopian Birr + /// * `EUR` - Euro + /// * `XBA` - European Composite Unit + /// * `XEU` - European Currency Unit + /// * `XBB` - European Monetary Unit + /// * `XBC` - European Unit of Account (XBC) + /// * `XBD` - European Unit of Account (XBD) + /// * `FKP` - Falkland Islands Pound + /// * `FJD` - Fijian Dollar + /// * `FIM` - Finnish Markka + /// * `FRF` - French Franc + /// * `XFO` - French Gold Franc + /// * `XFU` - French UIC-Franc + /// * `GMD` - Gambian Dalasi + /// * `GEK` - Georgian Kupon Larit + /// * `GEL` - Georgian Lari + /// * `DEM` - German Mark + /// * `GHS` - Ghanaian Cedi + /// * `GHC` - Ghanaian Cedi (1979–2007) + /// * `GIP` - Gibraltar Pound + /// * `XAU` - Gold + /// * `GRD` - Greek Drachma + /// * `GTQ` - Guatemalan Quetzal + /// * `GWP` - Guinea-Bissau Peso + /// * `GNF` - Guinean Franc + /// * `GNS` - Guinean Syli + /// * `GYD` - Guyanaese Dollar + /// * `HTG` - Haitian Gourde + /// * `HNL` - Honduran Lempira + /// * `HKD` - Hong Kong Dollar + /// * `HUF` - Hungarian Forint + /// * `IMP` - IMP + /// * `ISK` - Icelandic Króna + /// * `ISJ` - Icelandic Króna (1918–1981) + /// * `INR` - Indian Rupee + /// * `IDR` - Indonesian Rupiah + /// * `IRR` - Iranian Rial + /// * `IQD` - Iraqi Dinar + /// * `IEP` - Irish Pound + /// * `ILS` - Israeli New Shekel + /// * `ILP` - Israeli Pound + /// * `ILR` - Israeli Shekel (1980–1985) + /// * `ITL` - Italian Lira + /// * `JMD` - Jamaican Dollar + /// * `JPY` - Japanese Yen + /// * `JOD` - Jordanian Dinar + /// * `KZT` - Kazakhstani Tenge + /// * `KES` - Kenyan Shilling + /// * `KWD` - Kuwaiti Dinar + /// * `KGS` - Kyrgystani Som + /// * `LAK` - Laotian Kip + /// * `LVL` - Latvian Lats + /// * `LVR` - Latvian Ruble + /// * `LBP` - Lebanese Pound + /// * `LSL` - Lesotho Loti + /// * `LRD` - Liberian Dollar + /// * `LYD` - Libyan Dinar + /// * `LTL` - Lithuanian Litas + /// * `LTT` - Lithuanian Talonas + /// * `LUL` - Luxembourg Financial Franc + /// * `LUC` - Luxembourgian Convertible Franc + /// * `LUF` - Luxembourgian Franc + /// * `MOP` - Macanese Pataca + /// * `MKD` - Macedonian Denar + /// * `MKN` - Macedonian Denar (1992–1993) + /// * `MGA` - Malagasy Ariary + /// * `MGF` - Malagasy Franc + /// * `MWK` - Malawian Kwacha + /// * `MYR` - Malaysian Ringgit + /// * `MVR` - Maldivian Rufiyaa + /// * `MVP` - Maldivian Rupee (1947–1981) + /// * `MLF` - Malian Franc + /// * `MTL` - Maltese Lira + /// * `MTP` - Maltese Pound + /// * `MRU` - Mauritanian Ouguiya + /// * `MRO` - Mauritanian Ouguiya (1973–2017) + /// * `MUR` - Mauritian Rupee + /// * `MXV` - Mexican Investment Unit + /// * `MXN` - Mexican Peso + /// * `MXP` - Mexican Silver Peso (1861–1992) + /// * `MDC` - Moldovan Cupon + /// * `MDL` - Moldovan Leu + /// * `MCF` - Monegasque Franc + /// * `MNT` - Mongolian Tugrik + /// * `MAD` - Moroccan Dirham + /// * `MAF` - Moroccan Franc + /// * `MZE` - Mozambican Escudo + /// * `MZN` - Mozambican Metical + /// * `MZM` - Mozambican Metical (1980–2006) + /// * `MMK` - Myanmar Kyat + /// * `NAD` - Namibian Dollar + /// * `NPR` - Nepalese Rupee + /// * `ANG` - Netherlands Antillean Guilder + /// * `TWD` - New Taiwan Dollar + /// * `NZD` - New Zealand Dollar + /// * `NIO` - Nicaraguan Córdoba + /// * `NIC` - Nicaraguan Córdoba (1988–1991) + /// * `NGN` - Nigerian Naira + /// * `KPW` - North Korean Won + /// * `NOK` - Norwegian Krone + /// * `OMR` - Omani Rial + /// * `PKR` - Pakistani Rupee + /// * `XPD` - Palladium + /// * `PAB` - Panamanian Balboa + /// * `PGK` - Papua New Guinean Kina + /// * `PYG` - Paraguayan Guarani + /// * `PEI` - Peruvian Inti + /// * `PEN` - Peruvian Sol + /// * `PES` - Peruvian Sol (1863–1965) + /// * `PHP` - Philippine Peso + /// * `XPT` - Platinum + /// * `PLN` - Polish Zloty + /// * `PLZ` - Polish Zloty (1950–1995) + /// * `PTE` - Portuguese Escudo + /// * `GWE` - Portuguese Guinea Escudo + /// * `QAR` - Qatari Rial + /// * `XRE` - RINET Funds + /// * `RHD` - Rhodesian Dollar + /// * `RON` - Romanian Leu + /// * `ROL` - Romanian Leu (1952–2006) + /// * `RUB` - Russian Ruble + /// * `RUR` - Russian Ruble (1991–1998) + /// * `RWF` - Rwandan Franc + /// * `SVC` - Salvadoran Colón + /// * `WST` - Samoan Tala + /// * `SAR` - Saudi Riyal + /// * `RSD` - Serbian Dinar + /// * `CSD` - Serbian Dinar (2002–2006) + /// * `SCR` - Seychellois Rupee + /// * `SLL` - Sierra Leonean Leone + /// * `XAG` - Silver + /// * `SGD` - Singapore Dollar + /// * `SKK` - Slovak Koruna + /// * `SIT` - Slovenian Tolar + /// * `SBD` - Solomon Islands Dollar + /// * `SOS` - Somali Shilling + /// * `ZAR` - South African Rand + /// * `ZAL` - South African Rand (financial) + /// * `KRH` - South Korean Hwan (1953–1962) + /// * `KRW` - South Korean Won + /// * `KRO` - South Korean Won (1945–1953) + /// * `SSP` - South Sudanese Pound + /// * `SUR` - Soviet Rouble + /// * `ESP` - Spanish Peseta + /// * `ESA` - Spanish Peseta (A account) + /// * `ESB` - Spanish Peseta (convertible account) + /// * `XDR` - Special Drawing Rights + /// * `LKR` - Sri Lankan Rupee + /// * `SHP` - St. Helena Pound + /// * `XSU` - Sucre + /// * `SDD` - Sudanese Dinar (1992–2007) + /// * `SDG` - Sudanese Pound + /// * `SDP` - Sudanese Pound (1957–1998) + /// * `SRD` - Surinamese Dollar + /// * `SRG` - Surinamese Guilder + /// * `SZL` - Swazi Lilangeni + /// * `SEK` - Swedish Krona + /// * `CHF` - Swiss Franc + /// * `SYP` - Syrian Pound + /// * `STN` - São Tomé & Príncipe Dobra + /// * `STD` - São Tomé & Príncipe Dobra (1977–2017) + /// * `TVD` - TVD + /// * `TJR` - Tajikistani Ruble + /// * `TJS` - Tajikistani Somoni + /// * `TZS` - Tanzanian Shilling + /// * `XTS` - Testing Currency Code + /// * `THB` - Thai Baht + /// * `XXX` - The codes assigned for transactions where no currency is involved + /// * `TPE` - Timorese Escudo + /// * `TOP` - Tongan Paʻanga + /// * `TTD` - Trinidad & Tobago Dollar + /// * `TND` - Tunisian Dinar + /// * `TRY` - Turkish Lira + /// * `TRL` - Turkish Lira (1922–2005) + /// * `TMT` - Turkmenistani Manat + /// * `TMM` - Turkmenistani Manat (1993–2009) + /// * `USD` - US Dollar + /// * `USN` - US Dollar (Next day) + /// * `USS` - US Dollar (Same day) + /// * `UGX` - Ugandan Shilling + /// * `UGS` - Ugandan Shilling (1966–1987) + /// * `UAH` - Ukrainian Hryvnia + /// * `UAK` - Ukrainian Karbovanets + /// * `AED` - United Arab Emirates Dirham + /// * `UYW` - Uruguayan Nominal Wage Index Unit + /// * `UYU` - Uruguayan Peso + /// * `UYP` - Uruguayan Peso (1975–1993) + /// * `UYI` - Uruguayan Peso (Indexed Units) + /// * `UZS` - Uzbekistani Som + /// * `VUV` - Vanuatu Vatu + /// * `VES` - Venezuelan Bolívar + /// * `VEB` - Venezuelan Bolívar (1871–2008) + /// * `VEF` - Venezuelan Bolívar (2008–2018) + /// * `VND` - Vietnamese Dong + /// * `VNN` - Vietnamese Dong (1978–1985) + /// * `CHE` - WIR Euro + /// * `CHW` - WIR Franc + /// * `XOF` - West African CFA Franc + /// * `YDD` - Yemeni Dinar + /// * `YER` - Yemeni Rial + /// * `YUN` - Yugoslavian Convertible Dinar (1990–1992) + /// * `YUD` - Yugoslavian Hard Dinar (1966–1990) + /// * `YUM` - Yugoslavian New Dinar (1994–2002) + /// * `YUR` - Yugoslavian Reformed Dinar (1992–1993) + /// * `ZWN` - ZWN + /// * `ZRN` - Zairean New Zaire (1993–1998) + /// * `ZRZ` - Zairean Zaire (1971–1993) + /// * `ZMW` - Zambian Kwacha + /// * `ZMK` - Zambian Kwacha (1968–2012) + /// * `ZWD` - Zimbabwean Dollar (1980–2008) + /// * `ZWR` - Zimbabwean Dollar (2008) + /// * `ZWL` - Zimbabwean Dollar (2009) /// [JsonPropertyName("currency")] public TransactionCurrencyEnum? Currency { get; set; } @@ -372,8 +384,8 @@ public record BankFeedAccount /// /// The status of the bank feed. /// - /// - `ACTIVE` - ACTIVE - /// - `INACTIVE` - INACTIVE + /// * `ACTIVE` - ACTIVE + /// * `INACTIVE` - INACTIVE /// [JsonPropertyName("feed_status")] public FeedStatusEnum? FeedStatus { get; set; } @@ -393,8 +405,8 @@ public record BankFeedAccount /// /// The type of the account. /// - /// - `BANK` - BANK - /// - `CREDIT_CARD` - CREDIT_CARD + /// * `BANK` - BANK + /// * `CREDIT_CARD` - CREDIT_CARD /// [JsonPropertyName("account_type")] public BankFeedAccountAccountTypeEnum? AccountType { get; set; } @@ -405,12 +417,24 @@ public record BankFeedAccount [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } [JsonPropertyName("remote_data")] public IEnumerable>? RemoteData { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/BankFeedAccountRequest.cs b/src/Merge.Client/Accounting/Types/BankFeedAccountRequest.cs index 85702191..43ae9645 100644 --- a/src/Merge.Client/Accounting/Types/BankFeedAccountRequest.cs +++ b/src/Merge.Client/Accounting/Types/BankFeedAccountRequest.cs @@ -1,8 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; +/// +/// # The BankFeedAccount Object +/// ### Description +/// The `BankFeedAccount` object represents a bank feed account, detailing various attributes including account identifiers, names, currency, and balance information. This object is central to managing and tracking bank feed accounts within the system. +/// +/// ### Usage Example +/// Fetch from the `GET BankFeedAccount` endpoint to view details of a bank feed account. +/// public record BankFeedAccountRequest { /// @@ -38,312 +47,312 @@ public record BankFeedAccountRequest /// /// The currency code of the bank feed. /// - /// - `XUA` - ADB Unit of Account - /// - `AFN` - Afghan Afghani - /// - `AFA` - Afghan Afghani (1927–2002) - /// - `ALL` - Albanian Lek - /// - `ALK` - Albanian Lek (1946–1965) - /// - `DZD` - Algerian Dinar - /// - `ADP` - Andorran Peseta - /// - `AOA` - Angolan Kwanza - /// - `AOK` - Angolan Kwanza (1977–1991) - /// - `AON` - Angolan New Kwanza (1990–2000) - /// - `AOR` - Angolan Readjusted Kwanza (1995–1999) - /// - `ARA` - Argentine Austral - /// - `ARS` - Argentine Peso - /// - `ARM` - Argentine Peso (1881–1970) - /// - `ARP` - Argentine Peso (1983–1985) - /// - `ARL` - Argentine Peso Ley (1970–1983) - /// - `AMD` - Armenian Dram - /// - `AWG` - Aruban Florin - /// - `AUD` - Australian Dollar - /// - `ATS` - Austrian Schilling - /// - `AZN` - Azerbaijani Manat - /// - `AZM` - Azerbaijani Manat (1993–2006) - /// - `BSD` - Bahamian Dollar - /// - `BHD` - Bahraini Dinar - /// - `BDT` - Bangladeshi Taka - /// - `BBD` - Barbadian Dollar - /// - `BYN` - Belarusian Ruble - /// - `BYB` - Belarusian Ruble (1994–1999) - /// - `BYR` - Belarusian Ruble (2000–2016) - /// - `BEF` - Belgian Franc - /// - `BEC` - Belgian Franc (convertible) - /// - `BEL` - Belgian Franc (financial) - /// - `BZD` - Belize Dollar - /// - `BMD` - Bermudan Dollar - /// - `BTN` - Bhutanese Ngultrum - /// - `BOB` - Bolivian Boliviano - /// - `BOL` - Bolivian Boliviano (1863–1963) - /// - `BOV` - Bolivian Mvdol - /// - `BOP` - Bolivian Peso - /// - `BAM` - Bosnia-Herzegovina Convertible Mark - /// - `BAD` - Bosnia-Herzegovina Dinar (1992–1994) - /// - `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) - /// - `BWP` - Botswanan Pula - /// - `BRC` - Brazilian Cruzado (1986–1989) - /// - `BRZ` - Brazilian Cruzeiro (1942–1967) - /// - `BRE` - Brazilian Cruzeiro (1990–1993) - /// - `BRR` - Brazilian Cruzeiro (1993–1994) - /// - `BRN` - Brazilian New Cruzado (1989–1990) - /// - `BRB` - Brazilian New Cruzeiro (1967–1986) - /// - `BRL` - Brazilian Real - /// - `GBP` - British Pound - /// - `BND` - Brunei Dollar - /// - `BGL` - Bulgarian Hard Lev - /// - `BGN` - Bulgarian Lev - /// - `BGO` - Bulgarian Lev (1879–1952) - /// - `BGM` - Bulgarian Socialist Lev - /// - `BUK` - Burmese Kyat - /// - `BIF` - Burundian Franc - /// - `XPF` - CFP Franc - /// - `KHR` - Cambodian Riel - /// - `CAD` - Canadian Dollar - /// - `CVE` - Cape Verdean Escudo - /// - `KYD` - Cayman Islands Dollar - /// - `XAF` - Central African CFA Franc - /// - `CLE` - Chilean Escudo - /// - `CLP` - Chilean Peso - /// - `CLF` - Chilean Unit of Account (UF) - /// - `CNX` - Chinese People’s Bank Dollar - /// - `CNY` - Chinese Yuan - /// - `CNH` - Chinese Yuan (offshore) - /// - `COP` - Colombian Peso - /// - `COU` - Colombian Real Value Unit - /// - `KMF` - Comorian Franc - /// - `CDF` - Congolese Franc - /// - `CRC` - Costa Rican Colón - /// - `HRD` - Croatian Dinar - /// - `HRK` - Croatian Kuna - /// - `CUC` - Cuban Convertible Peso - /// - `CUP` - Cuban Peso - /// - `CYP` - Cypriot Pound - /// - `CZK` - Czech Koruna - /// - `CSK` - Czechoslovak Hard Koruna - /// - `DKK` - Danish Krone - /// - `DJF` - Djiboutian Franc - /// - `DOP` - Dominican Peso - /// - `NLG` - Dutch Guilder - /// - `XCD` - East Caribbean Dollar - /// - `DDM` - East German Mark - /// - `ECS` - Ecuadorian Sucre - /// - `ECV` - Ecuadorian Unit of Constant Value - /// - `EGP` - Egyptian Pound - /// - `GQE` - Equatorial Guinean Ekwele - /// - `ERN` - Eritrean Nakfa - /// - `EEK` - Estonian Kroon - /// - `ETB` - Ethiopian Birr - /// - `EUR` - Euro - /// - `XBA` - European Composite Unit - /// - `XEU` - European Currency Unit - /// - `XBB` - European Monetary Unit - /// - `XBC` - European Unit of Account (XBC) - /// - `XBD` - European Unit of Account (XBD) - /// - `FKP` - Falkland Islands Pound - /// - `FJD` - Fijian Dollar - /// - `FIM` - Finnish Markka - /// - `FRF` - French Franc - /// - `XFO` - French Gold Franc - /// - `XFU` - French UIC-Franc - /// - `GMD` - Gambian Dalasi - /// - `GEK` - Georgian Kupon Larit - /// - `GEL` - Georgian Lari - /// - `DEM` - German Mark - /// - `GHS` - Ghanaian Cedi - /// - `GHC` - Ghanaian Cedi (1979–2007) - /// - `GIP` - Gibraltar Pound - /// - `XAU` - Gold - /// - `GRD` - Greek Drachma - /// - `GTQ` - Guatemalan Quetzal - /// - `GWP` - Guinea-Bissau Peso - /// - `GNF` - Guinean Franc - /// - `GNS` - Guinean Syli - /// - `GYD` - Guyanaese Dollar - /// - `HTG` - Haitian Gourde - /// - `HNL` - Honduran Lempira - /// - `HKD` - Hong Kong Dollar - /// - `HUF` - Hungarian Forint - /// - `IMP` - IMP - /// - `ISK` - Icelandic Króna - /// - `ISJ` - Icelandic Króna (1918–1981) - /// - `INR` - Indian Rupee - /// - `IDR` - Indonesian Rupiah - /// - `IRR` - Iranian Rial - /// - `IQD` - Iraqi Dinar - /// - `IEP` - Irish Pound - /// - `ILS` - Israeli New Shekel - /// - `ILP` - Israeli Pound - /// - `ILR` - Israeli Shekel (1980–1985) - /// - `ITL` - Italian Lira - /// - `JMD` - Jamaican Dollar - /// - `JPY` - Japanese Yen - /// - `JOD` - Jordanian Dinar - /// - `KZT` - Kazakhstani Tenge - /// - `KES` - Kenyan Shilling - /// - `KWD` - Kuwaiti Dinar - /// - `KGS` - Kyrgystani Som - /// - `LAK` - Laotian Kip - /// - `LVL` - Latvian Lats - /// - `LVR` - Latvian Ruble - /// - `LBP` - Lebanese Pound - /// - `LSL` - Lesotho Loti - /// - `LRD` - Liberian Dollar - /// - `LYD` - Libyan Dinar - /// - `LTL` - Lithuanian Litas - /// - `LTT` - Lithuanian Talonas - /// - `LUL` - Luxembourg Financial Franc - /// - `LUC` - Luxembourgian Convertible Franc - /// - `LUF` - Luxembourgian Franc - /// - `MOP` - Macanese Pataca - /// - `MKD` - Macedonian Denar - /// - `MKN` - Macedonian Denar (1992–1993) - /// - `MGA` - Malagasy Ariary - /// - `MGF` - Malagasy Franc - /// - `MWK` - Malawian Kwacha - /// - `MYR` - Malaysian Ringgit - /// - `MVR` - Maldivian Rufiyaa - /// - `MVP` - Maldivian Rupee (1947–1981) - /// - `MLF` - Malian Franc - /// - `MTL` - Maltese Lira - /// - `MTP` - Maltese Pound - /// - `MRU` - Mauritanian Ouguiya - /// - `MRO` - Mauritanian Ouguiya (1973–2017) - /// - `MUR` - Mauritian Rupee - /// - `MXV` - Mexican Investment Unit - /// - `MXN` - Mexican Peso - /// - `MXP` - Mexican Silver Peso (1861–1992) - /// - `MDC` - Moldovan Cupon - /// - `MDL` - Moldovan Leu - /// - `MCF` - Monegasque Franc - /// - `MNT` - Mongolian Tugrik - /// - `MAD` - Moroccan Dirham - /// - `MAF` - Moroccan Franc - /// - `MZE` - Mozambican Escudo - /// - `MZN` - Mozambican Metical - /// - `MZM` - Mozambican Metical (1980–2006) - /// - `MMK` - Myanmar Kyat - /// - `NAD` - Namibian Dollar - /// - `NPR` - Nepalese Rupee - /// - `ANG` - Netherlands Antillean Guilder - /// - `TWD` - New Taiwan Dollar - /// - `NZD` - New Zealand Dollar - /// - `NIO` - Nicaraguan Córdoba - /// - `NIC` - Nicaraguan Córdoba (1988–1991) - /// - `NGN` - Nigerian Naira - /// - `KPW` - North Korean Won - /// - `NOK` - Norwegian Krone - /// - `OMR` - Omani Rial - /// - `PKR` - Pakistani Rupee - /// - `XPD` - Palladium - /// - `PAB` - Panamanian Balboa - /// - `PGK` - Papua New Guinean Kina - /// - `PYG` - Paraguayan Guarani - /// - `PEI` - Peruvian Inti - /// - `PEN` - Peruvian Sol - /// - `PES` - Peruvian Sol (1863–1965) - /// - `PHP` - Philippine Peso - /// - `XPT` - Platinum - /// - `PLN` - Polish Zloty - /// - `PLZ` - Polish Zloty (1950–1995) - /// - `PTE` - Portuguese Escudo - /// - `GWE` - Portuguese Guinea Escudo - /// - `QAR` - Qatari Rial - /// - `XRE` - RINET Funds - /// - `RHD` - Rhodesian Dollar - /// - `RON` - Romanian Leu - /// - `ROL` - Romanian Leu (1952–2006) - /// - `RUB` - Russian Ruble - /// - `RUR` - Russian Ruble (1991–1998) - /// - `RWF` - Rwandan Franc - /// - `SVC` - Salvadoran Colón - /// - `WST` - Samoan Tala - /// - `SAR` - Saudi Riyal - /// - `RSD` - Serbian Dinar - /// - `CSD` - Serbian Dinar (2002–2006) - /// - `SCR` - Seychellois Rupee - /// - `SLL` - Sierra Leonean Leone - /// - `XAG` - Silver - /// - `SGD` - Singapore Dollar - /// - `SKK` - Slovak Koruna - /// - `SIT` - Slovenian Tolar - /// - `SBD` - Solomon Islands Dollar - /// - `SOS` - Somali Shilling - /// - `ZAR` - South African Rand - /// - `ZAL` - South African Rand (financial) - /// - `KRH` - South Korean Hwan (1953–1962) - /// - `KRW` - South Korean Won - /// - `KRO` - South Korean Won (1945–1953) - /// - `SSP` - South Sudanese Pound - /// - `SUR` - Soviet Rouble - /// - `ESP` - Spanish Peseta - /// - `ESA` - Spanish Peseta (A account) - /// - `ESB` - Spanish Peseta (convertible account) - /// - `XDR` - Special Drawing Rights - /// - `LKR` - Sri Lankan Rupee - /// - `SHP` - St. Helena Pound - /// - `XSU` - Sucre - /// - `SDD` - Sudanese Dinar (1992–2007) - /// - `SDG` - Sudanese Pound - /// - `SDP` - Sudanese Pound (1957–1998) - /// - `SRD` - Surinamese Dollar - /// - `SRG` - Surinamese Guilder - /// - `SZL` - Swazi Lilangeni - /// - `SEK` - Swedish Krona - /// - `CHF` - Swiss Franc - /// - `SYP` - Syrian Pound - /// - `STN` - São Tomé & Príncipe Dobra - /// - `STD` - São Tomé & Príncipe Dobra (1977–2017) - /// - `TVD` - TVD - /// - `TJR` - Tajikistani Ruble - /// - `TJS` - Tajikistani Somoni - /// - `TZS` - Tanzanian Shilling - /// - `XTS` - Testing Currency Code - /// - `THB` - Thai Baht - /// - `XXX` - The codes assigned for transactions where no currency is involved - /// - `TPE` - Timorese Escudo - /// - `TOP` - Tongan Paʻanga - /// - `TTD` - Trinidad & Tobago Dollar - /// - `TND` - Tunisian Dinar - /// - `TRY` - Turkish Lira - /// - `TRL` - Turkish Lira (1922–2005) - /// - `TMT` - Turkmenistani Manat - /// - `TMM` - Turkmenistani Manat (1993–2009) - /// - `USD` - US Dollar - /// - `USN` - US Dollar (Next day) - /// - `USS` - US Dollar (Same day) - /// - `UGX` - Ugandan Shilling - /// - `UGS` - Ugandan Shilling (1966–1987) - /// - `UAH` - Ukrainian Hryvnia - /// - `UAK` - Ukrainian Karbovanets - /// - `AED` - United Arab Emirates Dirham - /// - `UYW` - Uruguayan Nominal Wage Index Unit - /// - `UYU` - Uruguayan Peso - /// - `UYP` - Uruguayan Peso (1975–1993) - /// - `UYI` - Uruguayan Peso (Indexed Units) - /// - `UZS` - Uzbekistani Som - /// - `VUV` - Vanuatu Vatu - /// - `VES` - Venezuelan Bolívar - /// - `VEB` - Venezuelan Bolívar (1871–2008) - /// - `VEF` - Venezuelan Bolívar (2008–2018) - /// - `VND` - Vietnamese Dong - /// - `VNN` - Vietnamese Dong (1978–1985) - /// - `CHE` - WIR Euro - /// - `CHW` - WIR Franc - /// - `XOF` - West African CFA Franc - /// - `YDD` - Yemeni Dinar - /// - `YER` - Yemeni Rial - /// - `YUN` - Yugoslavian Convertible Dinar (1990–1992) - /// - `YUD` - Yugoslavian Hard Dinar (1966–1990) - /// - `YUM` - Yugoslavian New Dinar (1994–2002) - /// - `YUR` - Yugoslavian Reformed Dinar (1992–1993) - /// - `ZWN` - ZWN - /// - `ZRN` - Zairean New Zaire (1993–1998) - /// - `ZRZ` - Zairean Zaire (1971–1993) - /// - `ZMW` - Zambian Kwacha - /// - `ZMK` - Zambian Kwacha (1968–2012) - /// - `ZWD` - Zimbabwean Dollar (1980–2008) - /// - `ZWR` - Zimbabwean Dollar (2008) - /// - `ZWL` - Zimbabwean Dollar (2009) + /// * `XUA` - ADB Unit of Account + /// * `AFN` - Afghan Afghani + /// * `AFA` - Afghan Afghani (1927–2002) + /// * `ALL` - Albanian Lek + /// * `ALK` - Albanian Lek (1946–1965) + /// * `DZD` - Algerian Dinar + /// * `ADP` - Andorran Peseta + /// * `AOA` - Angolan Kwanza + /// * `AOK` - Angolan Kwanza (1977–1991) + /// * `AON` - Angolan New Kwanza (1990–2000) + /// * `AOR` - Angolan Readjusted Kwanza (1995–1999) + /// * `ARA` - Argentine Austral + /// * `ARS` - Argentine Peso + /// * `ARM` - Argentine Peso (1881–1970) + /// * `ARP` - Argentine Peso (1983–1985) + /// * `ARL` - Argentine Peso Ley (1970–1983) + /// * `AMD` - Armenian Dram + /// * `AWG` - Aruban Florin + /// * `AUD` - Australian Dollar + /// * `ATS` - Austrian Schilling + /// * `AZN` - Azerbaijani Manat + /// * `AZM` - Azerbaijani Manat (1993–2006) + /// * `BSD` - Bahamian Dollar + /// * `BHD` - Bahraini Dinar + /// * `BDT` - Bangladeshi Taka + /// * `BBD` - Barbadian Dollar + /// * `BYN` - Belarusian Ruble + /// * `BYB` - Belarusian Ruble (1994–1999) + /// * `BYR` - Belarusian Ruble (2000–2016) + /// * `BEF` - Belgian Franc + /// * `BEC` - Belgian Franc (convertible) + /// * `BEL` - Belgian Franc (financial) + /// * `BZD` - Belize Dollar + /// * `BMD` - Bermudan Dollar + /// * `BTN` - Bhutanese Ngultrum + /// * `BOB` - Bolivian Boliviano + /// * `BOL` - Bolivian Boliviano (1863–1963) + /// * `BOV` - Bolivian Mvdol + /// * `BOP` - Bolivian Peso + /// * `BAM` - Bosnia-Herzegovina Convertible Mark + /// * `BAD` - Bosnia-Herzegovina Dinar (1992–1994) + /// * `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) + /// * `BWP` - Botswanan Pula + /// * `BRC` - Brazilian Cruzado (1986–1989) + /// * `BRZ` - Brazilian Cruzeiro (1942–1967) + /// * `BRE` - Brazilian Cruzeiro (1990–1993) + /// * `BRR` - Brazilian Cruzeiro (1993–1994) + /// * `BRN` - Brazilian New Cruzado (1989–1990) + /// * `BRB` - Brazilian New Cruzeiro (1967–1986) + /// * `BRL` - Brazilian Real + /// * `GBP` - British Pound + /// * `BND` - Brunei Dollar + /// * `BGL` - Bulgarian Hard Lev + /// * `BGN` - Bulgarian Lev + /// * `BGO` - Bulgarian Lev (1879–1952) + /// * `BGM` - Bulgarian Socialist Lev + /// * `BUK` - Burmese Kyat + /// * `BIF` - Burundian Franc + /// * `XPF` - CFP Franc + /// * `KHR` - Cambodian Riel + /// * `CAD` - Canadian Dollar + /// * `CVE` - Cape Verdean Escudo + /// * `KYD` - Cayman Islands Dollar + /// * `XAF` - Central African CFA Franc + /// * `CLE` - Chilean Escudo + /// * `CLP` - Chilean Peso + /// * `CLF` - Chilean Unit of Account (UF) + /// * `CNX` - Chinese People’s Bank Dollar + /// * `CNY` - Chinese Yuan + /// * `CNH` - Chinese Yuan (offshore) + /// * `COP` - Colombian Peso + /// * `COU` - Colombian Real Value Unit + /// * `KMF` - Comorian Franc + /// * `CDF` - Congolese Franc + /// * `CRC` - Costa Rican Colón + /// * `HRD` - Croatian Dinar + /// * `HRK` - Croatian Kuna + /// * `CUC` - Cuban Convertible Peso + /// * `CUP` - Cuban Peso + /// * `CYP` - Cypriot Pound + /// * `CZK` - Czech Koruna + /// * `CSK` - Czechoslovak Hard Koruna + /// * `DKK` - Danish Krone + /// * `DJF` - Djiboutian Franc + /// * `DOP` - Dominican Peso + /// * `NLG` - Dutch Guilder + /// * `XCD` - East Caribbean Dollar + /// * `DDM` - East German Mark + /// * `ECS` - Ecuadorian Sucre + /// * `ECV` - Ecuadorian Unit of Constant Value + /// * `EGP` - Egyptian Pound + /// * `GQE` - Equatorial Guinean Ekwele + /// * `ERN` - Eritrean Nakfa + /// * `EEK` - Estonian Kroon + /// * `ETB` - Ethiopian Birr + /// * `EUR` - Euro + /// * `XBA` - European Composite Unit + /// * `XEU` - European Currency Unit + /// * `XBB` - European Monetary Unit + /// * `XBC` - European Unit of Account (XBC) + /// * `XBD` - European Unit of Account (XBD) + /// * `FKP` - Falkland Islands Pound + /// * `FJD` - Fijian Dollar + /// * `FIM` - Finnish Markka + /// * `FRF` - French Franc + /// * `XFO` - French Gold Franc + /// * `XFU` - French UIC-Franc + /// * `GMD` - Gambian Dalasi + /// * `GEK` - Georgian Kupon Larit + /// * `GEL` - Georgian Lari + /// * `DEM` - German Mark + /// * `GHS` - Ghanaian Cedi + /// * `GHC` - Ghanaian Cedi (1979–2007) + /// * `GIP` - Gibraltar Pound + /// * `XAU` - Gold + /// * `GRD` - Greek Drachma + /// * `GTQ` - Guatemalan Quetzal + /// * `GWP` - Guinea-Bissau Peso + /// * `GNF` - Guinean Franc + /// * `GNS` - Guinean Syli + /// * `GYD` - Guyanaese Dollar + /// * `HTG` - Haitian Gourde + /// * `HNL` - Honduran Lempira + /// * `HKD` - Hong Kong Dollar + /// * `HUF` - Hungarian Forint + /// * `IMP` - IMP + /// * `ISK` - Icelandic Króna + /// * `ISJ` - Icelandic Króna (1918–1981) + /// * `INR` - Indian Rupee + /// * `IDR` - Indonesian Rupiah + /// * `IRR` - Iranian Rial + /// * `IQD` - Iraqi Dinar + /// * `IEP` - Irish Pound + /// * `ILS` - Israeli New Shekel + /// * `ILP` - Israeli Pound + /// * `ILR` - Israeli Shekel (1980–1985) + /// * `ITL` - Italian Lira + /// * `JMD` - Jamaican Dollar + /// * `JPY` - Japanese Yen + /// * `JOD` - Jordanian Dinar + /// * `KZT` - Kazakhstani Tenge + /// * `KES` - Kenyan Shilling + /// * `KWD` - Kuwaiti Dinar + /// * `KGS` - Kyrgystani Som + /// * `LAK` - Laotian Kip + /// * `LVL` - Latvian Lats + /// * `LVR` - Latvian Ruble + /// * `LBP` - Lebanese Pound + /// * `LSL` - Lesotho Loti + /// * `LRD` - Liberian Dollar + /// * `LYD` - Libyan Dinar + /// * `LTL` - Lithuanian Litas + /// * `LTT` - Lithuanian Talonas + /// * `LUL` - Luxembourg Financial Franc + /// * `LUC` - Luxembourgian Convertible Franc + /// * `LUF` - Luxembourgian Franc + /// * `MOP` - Macanese Pataca + /// * `MKD` - Macedonian Denar + /// * `MKN` - Macedonian Denar (1992–1993) + /// * `MGA` - Malagasy Ariary + /// * `MGF` - Malagasy Franc + /// * `MWK` - Malawian Kwacha + /// * `MYR` - Malaysian Ringgit + /// * `MVR` - Maldivian Rufiyaa + /// * `MVP` - Maldivian Rupee (1947–1981) + /// * `MLF` - Malian Franc + /// * `MTL` - Maltese Lira + /// * `MTP` - Maltese Pound + /// * `MRU` - Mauritanian Ouguiya + /// * `MRO` - Mauritanian Ouguiya (1973–2017) + /// * `MUR` - Mauritian Rupee + /// * `MXV` - Mexican Investment Unit + /// * `MXN` - Mexican Peso + /// * `MXP` - Mexican Silver Peso (1861–1992) + /// * `MDC` - Moldovan Cupon + /// * `MDL` - Moldovan Leu + /// * `MCF` - Monegasque Franc + /// * `MNT` - Mongolian Tugrik + /// * `MAD` - Moroccan Dirham + /// * `MAF` - Moroccan Franc + /// * `MZE` - Mozambican Escudo + /// * `MZN` - Mozambican Metical + /// * `MZM` - Mozambican Metical (1980–2006) + /// * `MMK` - Myanmar Kyat + /// * `NAD` - Namibian Dollar + /// * `NPR` - Nepalese Rupee + /// * `ANG` - Netherlands Antillean Guilder + /// * `TWD` - New Taiwan Dollar + /// * `NZD` - New Zealand Dollar + /// * `NIO` - Nicaraguan Córdoba + /// * `NIC` - Nicaraguan Córdoba (1988–1991) + /// * `NGN` - Nigerian Naira + /// * `KPW` - North Korean Won + /// * `NOK` - Norwegian Krone + /// * `OMR` - Omani Rial + /// * `PKR` - Pakistani Rupee + /// * `XPD` - Palladium + /// * `PAB` - Panamanian Balboa + /// * `PGK` - Papua New Guinean Kina + /// * `PYG` - Paraguayan Guarani + /// * `PEI` - Peruvian Inti + /// * `PEN` - Peruvian Sol + /// * `PES` - Peruvian Sol (1863–1965) + /// * `PHP` - Philippine Peso + /// * `XPT` - Platinum + /// * `PLN` - Polish Zloty + /// * `PLZ` - Polish Zloty (1950–1995) + /// * `PTE` - Portuguese Escudo + /// * `GWE` - Portuguese Guinea Escudo + /// * `QAR` - Qatari Rial + /// * `XRE` - RINET Funds + /// * `RHD` - Rhodesian Dollar + /// * `RON` - Romanian Leu + /// * `ROL` - Romanian Leu (1952–2006) + /// * `RUB` - Russian Ruble + /// * `RUR` - Russian Ruble (1991–1998) + /// * `RWF` - Rwandan Franc + /// * `SVC` - Salvadoran Colón + /// * `WST` - Samoan Tala + /// * `SAR` - Saudi Riyal + /// * `RSD` - Serbian Dinar + /// * `CSD` - Serbian Dinar (2002–2006) + /// * `SCR` - Seychellois Rupee + /// * `SLL` - Sierra Leonean Leone + /// * `XAG` - Silver + /// * `SGD` - Singapore Dollar + /// * `SKK` - Slovak Koruna + /// * `SIT` - Slovenian Tolar + /// * `SBD` - Solomon Islands Dollar + /// * `SOS` - Somali Shilling + /// * `ZAR` - South African Rand + /// * `ZAL` - South African Rand (financial) + /// * `KRH` - South Korean Hwan (1953–1962) + /// * `KRW` - South Korean Won + /// * `KRO` - South Korean Won (1945–1953) + /// * `SSP` - South Sudanese Pound + /// * `SUR` - Soviet Rouble + /// * `ESP` - Spanish Peseta + /// * `ESA` - Spanish Peseta (A account) + /// * `ESB` - Spanish Peseta (convertible account) + /// * `XDR` - Special Drawing Rights + /// * `LKR` - Sri Lankan Rupee + /// * `SHP` - St. Helena Pound + /// * `XSU` - Sucre + /// * `SDD` - Sudanese Dinar (1992–2007) + /// * `SDG` - Sudanese Pound + /// * `SDP` - Sudanese Pound (1957–1998) + /// * `SRD` - Surinamese Dollar + /// * `SRG` - Surinamese Guilder + /// * `SZL` - Swazi Lilangeni + /// * `SEK` - Swedish Krona + /// * `CHF` - Swiss Franc + /// * `SYP` - Syrian Pound + /// * `STN` - São Tomé & Príncipe Dobra + /// * `STD` - São Tomé & Príncipe Dobra (1977–2017) + /// * `TVD` - TVD + /// * `TJR` - Tajikistani Ruble + /// * `TJS` - Tajikistani Somoni + /// * `TZS` - Tanzanian Shilling + /// * `XTS` - Testing Currency Code + /// * `THB` - Thai Baht + /// * `XXX` - The codes assigned for transactions where no currency is involved + /// * `TPE` - Timorese Escudo + /// * `TOP` - Tongan Paʻanga + /// * `TTD` - Trinidad & Tobago Dollar + /// * `TND` - Tunisian Dinar + /// * `TRY` - Turkish Lira + /// * `TRL` - Turkish Lira (1922–2005) + /// * `TMT` - Turkmenistani Manat + /// * `TMM` - Turkmenistani Manat (1993–2009) + /// * `USD` - US Dollar + /// * `USN` - US Dollar (Next day) + /// * `USS` - US Dollar (Same day) + /// * `UGX` - Ugandan Shilling + /// * `UGS` - Ugandan Shilling (1966–1987) + /// * `UAH` - Ukrainian Hryvnia + /// * `UAK` - Ukrainian Karbovanets + /// * `AED` - United Arab Emirates Dirham + /// * `UYW` - Uruguayan Nominal Wage Index Unit + /// * `UYU` - Uruguayan Peso + /// * `UYP` - Uruguayan Peso (1975–1993) + /// * `UYI` - Uruguayan Peso (Indexed Units) + /// * `UZS` - Uzbekistani Som + /// * `VUV` - Vanuatu Vatu + /// * `VES` - Venezuelan Bolívar + /// * `VEB` - Venezuelan Bolívar (1871–2008) + /// * `VEF` - Venezuelan Bolívar (2008–2018) + /// * `VND` - Vietnamese Dong + /// * `VNN` - Vietnamese Dong (1978–1985) + /// * `CHE` - WIR Euro + /// * `CHW` - WIR Franc + /// * `XOF` - West African CFA Franc + /// * `YDD` - Yemeni Dinar + /// * `YER` - Yemeni Rial + /// * `YUN` - Yugoslavian Convertible Dinar (1990–1992) + /// * `YUD` - Yugoslavian Hard Dinar (1966–1990) + /// * `YUM` - Yugoslavian New Dinar (1994–2002) + /// * `YUR` - Yugoslavian Reformed Dinar (1992–1993) + /// * `ZWN` - ZWN + /// * `ZRN` - Zairean New Zaire (1993–1998) + /// * `ZRZ` - Zairean Zaire (1971–1993) + /// * `ZMW` - Zambian Kwacha + /// * `ZMK` - Zambian Kwacha (1968–2012) + /// * `ZWD` - Zimbabwean Dollar (1980–2008) + /// * `ZWR` - Zimbabwean Dollar (2008) + /// * `ZWL` - Zimbabwean Dollar (2009) /// [JsonPropertyName("currency")] public TransactionCurrencyEnum? Currency { get; set; } @@ -351,8 +360,8 @@ public record BankFeedAccountRequest /// /// The status of the bank feed. /// - /// - `ACTIVE` - ACTIVE - /// - `INACTIVE` - INACTIVE + /// * `ACTIVE` - ACTIVE + /// * `INACTIVE` - INACTIVE /// [JsonPropertyName("feed_status")] public FeedStatusEnum? FeedStatus { get; set; } @@ -372,18 +381,31 @@ public record BankFeedAccountRequest /// /// The type of the account. /// - /// - `BANK` - BANK - /// - `CREDIT_CARD` - CREDIT_CARD + /// * `BANK` - BANK + /// * `CREDIT_CARD` - CREDIT_CARD /// [JsonPropertyName("account_type")] public BankFeedAccountAccountTypeEnum? AccountType { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("integration_params")] public Dictionary? IntegrationParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("linked_account_params")] public Dictionary? LinkedAccountParams { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/BankFeedAccountResponse.cs b/src/Merge.Client/Accounting/Types/BankFeedAccountResponse.cs index f7d84cc3..fc8e53b7 100644 --- a/src/Merge.Client/Accounting/Types/BankFeedAccountResponse.cs +++ b/src/Merge.Client/Accounting/Types/BankFeedAccountResponse.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -19,6 +20,17 @@ public record BankFeedAccountResponse [JsonPropertyName("logs")] public IEnumerable? Logs { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/BankFeedTransaction.cs b/src/Merge.Client/Accounting/Types/BankFeedTransaction.cs index 68c54e71..497604ae 100644 --- a/src/Merge.Client/Accounting/Types/BankFeedTransaction.cs +++ b/src/Merge.Client/Accounting/Types/BankFeedTransaction.cs @@ -1,11 +1,21 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Accounting; +/// +/// # The BankFeedTransaction Object +/// ### Description +/// The `BankFeedTransaction` object is used to represent transactions linked to a bank feed account. This includes details about the transaction such as the date, amount, description, and type. +/// +/// ### Usage Example +/// Fetch from the `GET BankFeedTransaction` endpoint to view details of a transaction associated with a bank feed account. +/// public record BankFeedTransaction { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -18,12 +28,14 @@ public record BankFeedTransaction /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -72,8 +84,8 @@ public record BankFeedTransaction /// /// If the transaction is of type debit or credit. /// - /// - `CREDIT` - CREDIT - /// - `DEBIT` - DEBIT + /// * `CREDIT` - CREDIT + /// * `DEBIT` - DEBIT /// [JsonPropertyName("credit_or_debit")] public CreditOrDebitEnum? CreditOrDebit { get; set; } @@ -87,15 +99,28 @@ public record BankFeedTransaction /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } /// /// Whether or not this transaction has been processed by the external system. For example, NetSuite writes this field as True when the SuiteApp has processed the transaction. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("is_processed")] public bool? IsProcessed { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/BankFeedTransactionRequestRequest.cs b/src/Merge.Client/Accounting/Types/BankFeedTransactionRequestRequest.cs index 44d0f0eb..128f215e 100644 --- a/src/Merge.Client/Accounting/Types/BankFeedTransactionRequestRequest.cs +++ b/src/Merge.Client/Accounting/Types/BankFeedTransactionRequestRequest.cs @@ -1,9 +1,18 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Accounting; +/// +/// # The BankFeedTransaction Object +/// ### Description +/// The `BankFeedTransaction` object is used to represent transactions linked to a bank feed account. This includes details about the transaction such as the date, amount, description, and type. +/// +/// ### Usage Example +/// Fetch from the `GET BankFeedTransaction` endpoint to view details of a transaction associated with a bank feed account. +/// public record BankFeedTransactionRequestRequest { /// @@ -51,8 +60,8 @@ public record BankFeedTransactionRequestRequest /// /// If the transaction is of type debit or credit. /// - /// - `CREDIT` - CREDIT - /// - `DEBIT` - DEBIT + /// * `CREDIT` - CREDIT + /// * `DEBIT` - DEBIT /// [JsonPropertyName("credit_or_debit")] public CreditOrDebitEnum? CreditOrDebit { get; set; } @@ -63,12 +72,25 @@ public record BankFeedTransactionRequestRequest [JsonPropertyName("source_transaction_id")] public string? SourceTransactionId { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("integration_params")] public Dictionary? IntegrationParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("linked_account_params")] public Dictionary? LinkedAccountParams { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/BankFeedTransactionResponse.cs b/src/Merge.Client/Accounting/Types/BankFeedTransactionResponse.cs index d4aa96c1..0712650f 100644 --- a/src/Merge.Client/Accounting/Types/BankFeedTransactionResponse.cs +++ b/src/Merge.Client/Accounting/Types/BankFeedTransactionResponse.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -19,6 +20,17 @@ public record BankFeedTransactionResponse [JsonPropertyName("logs")] public IEnumerable? Logs { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/CashFlowStatement.cs b/src/Merge.Client/Accounting/Types/CashFlowStatement.cs index c19ae725..bf05a400 100644 --- a/src/Merge.Client/Accounting/Types/CashFlowStatement.cs +++ b/src/Merge.Client/Accounting/Types/CashFlowStatement.cs @@ -1,11 +1,21 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Accounting; +/// +/// # The CashFlowStatement Object +/// ### Description +/// The `CashFlowStatement` object shows operating activities, investing activities, and financing activities over a period of time (month, quarter, or year). +/// +/// ### Usage Example +/// Fetch from the `LIST CashFlowStatements` endpoint and view a company's cash flow statements. +/// public record CashFlowStatement { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -18,12 +28,14 @@ public record CashFlowStatement /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -36,312 +48,312 @@ public record CashFlowStatement /// /// The cash flow statement's currency. /// - /// - `XUA` - ADB Unit of Account - /// - `AFN` - Afghan Afghani - /// - `AFA` - Afghan Afghani (1927–2002) - /// - `ALL` - Albanian Lek - /// - `ALK` - Albanian Lek (1946–1965) - /// - `DZD` - Algerian Dinar - /// - `ADP` - Andorran Peseta - /// - `AOA` - Angolan Kwanza - /// - `AOK` - Angolan Kwanza (1977–1991) - /// - `AON` - Angolan New Kwanza (1990–2000) - /// - `AOR` - Angolan Readjusted Kwanza (1995–1999) - /// - `ARA` - Argentine Austral - /// - `ARS` - Argentine Peso - /// - `ARM` - Argentine Peso (1881–1970) - /// - `ARP` - Argentine Peso (1983–1985) - /// - `ARL` - Argentine Peso Ley (1970–1983) - /// - `AMD` - Armenian Dram - /// - `AWG` - Aruban Florin - /// - `AUD` - Australian Dollar - /// - `ATS` - Austrian Schilling - /// - `AZN` - Azerbaijani Manat - /// - `AZM` - Azerbaijani Manat (1993–2006) - /// - `BSD` - Bahamian Dollar - /// - `BHD` - Bahraini Dinar - /// - `BDT` - Bangladeshi Taka - /// - `BBD` - Barbadian Dollar - /// - `BYN` - Belarusian Ruble - /// - `BYB` - Belarusian Ruble (1994–1999) - /// - `BYR` - Belarusian Ruble (2000–2016) - /// - `BEF` - Belgian Franc - /// - `BEC` - Belgian Franc (convertible) - /// - `BEL` - Belgian Franc (financial) - /// - `BZD` - Belize Dollar - /// - `BMD` - Bermudan Dollar - /// - `BTN` - Bhutanese Ngultrum - /// - `BOB` - Bolivian Boliviano - /// - `BOL` - Bolivian Boliviano (1863–1963) - /// - `BOV` - Bolivian Mvdol - /// - `BOP` - Bolivian Peso - /// - `BAM` - Bosnia-Herzegovina Convertible Mark - /// - `BAD` - Bosnia-Herzegovina Dinar (1992–1994) - /// - `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) - /// - `BWP` - Botswanan Pula - /// - `BRC` - Brazilian Cruzado (1986–1989) - /// - `BRZ` - Brazilian Cruzeiro (1942–1967) - /// - `BRE` - Brazilian Cruzeiro (1990–1993) - /// - `BRR` - Brazilian Cruzeiro (1993–1994) - /// - `BRN` - Brazilian New Cruzado (1989–1990) - /// - `BRB` - Brazilian New Cruzeiro (1967–1986) - /// - `BRL` - Brazilian Real - /// - `GBP` - British Pound - /// - `BND` - Brunei Dollar - /// - `BGL` - Bulgarian Hard Lev - /// - `BGN` - Bulgarian Lev - /// - `BGO` - Bulgarian Lev (1879–1952) - /// - `BGM` - Bulgarian Socialist Lev - /// - `BUK` - Burmese Kyat - /// - `BIF` - Burundian Franc - /// - `XPF` - CFP Franc - /// - `KHR` - Cambodian Riel - /// - `CAD` - Canadian Dollar - /// - `CVE` - Cape Verdean Escudo - /// - `KYD` - Cayman Islands Dollar - /// - `XAF` - Central African CFA Franc - /// - `CLE` - Chilean Escudo - /// - `CLP` - Chilean Peso - /// - `CLF` - Chilean Unit of Account (UF) - /// - `CNX` - Chinese People’s Bank Dollar - /// - `CNY` - Chinese Yuan - /// - `CNH` - Chinese Yuan (offshore) - /// - `COP` - Colombian Peso - /// - `COU` - Colombian Real Value Unit - /// - `KMF` - Comorian Franc - /// - `CDF` - Congolese Franc - /// - `CRC` - Costa Rican Colón - /// - `HRD` - Croatian Dinar - /// - `HRK` - Croatian Kuna - /// - `CUC` - Cuban Convertible Peso - /// - `CUP` - Cuban Peso - /// - `CYP` - Cypriot Pound - /// - `CZK` - Czech Koruna - /// - `CSK` - Czechoslovak Hard Koruna - /// - `DKK` - Danish Krone - /// - `DJF` - Djiboutian Franc - /// - `DOP` - Dominican Peso - /// - `NLG` - Dutch Guilder - /// - `XCD` - East Caribbean Dollar - /// - `DDM` - East German Mark - /// - `ECS` - Ecuadorian Sucre - /// - `ECV` - Ecuadorian Unit of Constant Value - /// - `EGP` - Egyptian Pound - /// - `GQE` - Equatorial Guinean Ekwele - /// - `ERN` - Eritrean Nakfa - /// - `EEK` - Estonian Kroon - /// - `ETB` - Ethiopian Birr - /// - `EUR` - Euro - /// - `XBA` - European Composite Unit - /// - `XEU` - European Currency Unit - /// - `XBB` - European Monetary Unit - /// - `XBC` - European Unit of Account (XBC) - /// - `XBD` - European Unit of Account (XBD) - /// - `FKP` - Falkland Islands Pound - /// - `FJD` - Fijian Dollar - /// - `FIM` - Finnish Markka - /// - `FRF` - French Franc - /// - `XFO` - French Gold Franc - /// - `XFU` - French UIC-Franc - /// - `GMD` - Gambian Dalasi - /// - `GEK` - Georgian Kupon Larit - /// - `GEL` - Georgian Lari - /// - `DEM` - German Mark - /// - `GHS` - Ghanaian Cedi - /// - `GHC` - Ghanaian Cedi (1979–2007) - /// - `GIP` - Gibraltar Pound - /// - `XAU` - Gold - /// - `GRD` - Greek Drachma - /// - `GTQ` - Guatemalan Quetzal - /// - `GWP` - Guinea-Bissau Peso - /// - `GNF` - Guinean Franc - /// - `GNS` - Guinean Syli - /// - `GYD` - Guyanaese Dollar - /// - `HTG` - Haitian Gourde - /// - `HNL` - Honduran Lempira - /// - `HKD` - Hong Kong Dollar - /// - `HUF` - Hungarian Forint - /// - `IMP` - IMP - /// - `ISK` - Icelandic Króna - /// - `ISJ` - Icelandic Króna (1918–1981) - /// - `INR` - Indian Rupee - /// - `IDR` - Indonesian Rupiah - /// - `IRR` - Iranian Rial - /// - `IQD` - Iraqi Dinar - /// - `IEP` - Irish Pound - /// - `ILS` - Israeli New Shekel - /// - `ILP` - Israeli Pound - /// - `ILR` - Israeli Shekel (1980–1985) - /// - `ITL` - Italian Lira - /// - `JMD` - Jamaican Dollar - /// - `JPY` - Japanese Yen - /// - `JOD` - Jordanian Dinar - /// - `KZT` - Kazakhstani Tenge - /// - `KES` - Kenyan Shilling - /// - `KWD` - Kuwaiti Dinar - /// - `KGS` - Kyrgystani Som - /// - `LAK` - Laotian Kip - /// - `LVL` - Latvian Lats - /// - `LVR` - Latvian Ruble - /// - `LBP` - Lebanese Pound - /// - `LSL` - Lesotho Loti - /// - `LRD` - Liberian Dollar - /// - `LYD` - Libyan Dinar - /// - `LTL` - Lithuanian Litas - /// - `LTT` - Lithuanian Talonas - /// - `LUL` - Luxembourg Financial Franc - /// - `LUC` - Luxembourgian Convertible Franc - /// - `LUF` - Luxembourgian Franc - /// - `MOP` - Macanese Pataca - /// - `MKD` - Macedonian Denar - /// - `MKN` - Macedonian Denar (1992–1993) - /// - `MGA` - Malagasy Ariary - /// - `MGF` - Malagasy Franc - /// - `MWK` - Malawian Kwacha - /// - `MYR` - Malaysian Ringgit - /// - `MVR` - Maldivian Rufiyaa - /// - `MVP` - Maldivian Rupee (1947–1981) - /// - `MLF` - Malian Franc - /// - `MTL` - Maltese Lira - /// - `MTP` - Maltese Pound - /// - `MRU` - Mauritanian Ouguiya - /// - `MRO` - Mauritanian Ouguiya (1973–2017) - /// - `MUR` - Mauritian Rupee - /// - `MXV` - Mexican Investment Unit - /// - `MXN` - Mexican Peso - /// - `MXP` - Mexican Silver Peso (1861–1992) - /// - `MDC` - Moldovan Cupon - /// - `MDL` - Moldovan Leu - /// - `MCF` - Monegasque Franc - /// - `MNT` - Mongolian Tugrik - /// - `MAD` - Moroccan Dirham - /// - `MAF` - Moroccan Franc - /// - `MZE` - Mozambican Escudo - /// - `MZN` - Mozambican Metical - /// - `MZM` - Mozambican Metical (1980–2006) - /// - `MMK` - Myanmar Kyat - /// - `NAD` - Namibian Dollar - /// - `NPR` - Nepalese Rupee - /// - `ANG` - Netherlands Antillean Guilder - /// - `TWD` - New Taiwan Dollar - /// - `NZD` - New Zealand Dollar - /// - `NIO` - Nicaraguan Córdoba - /// - `NIC` - Nicaraguan Córdoba (1988–1991) - /// - `NGN` - Nigerian Naira - /// - `KPW` - North Korean Won - /// - `NOK` - Norwegian Krone - /// - `OMR` - Omani Rial - /// - `PKR` - Pakistani Rupee - /// - `XPD` - Palladium - /// - `PAB` - Panamanian Balboa - /// - `PGK` - Papua New Guinean Kina - /// - `PYG` - Paraguayan Guarani - /// - `PEI` - Peruvian Inti - /// - `PEN` - Peruvian Sol - /// - `PES` - Peruvian Sol (1863–1965) - /// - `PHP` - Philippine Peso - /// - `XPT` - Platinum - /// - `PLN` - Polish Zloty - /// - `PLZ` - Polish Zloty (1950–1995) - /// - `PTE` - Portuguese Escudo - /// - `GWE` - Portuguese Guinea Escudo - /// - `QAR` - Qatari Rial - /// - `XRE` - RINET Funds - /// - `RHD` - Rhodesian Dollar - /// - `RON` - Romanian Leu - /// - `ROL` - Romanian Leu (1952–2006) - /// - `RUB` - Russian Ruble - /// - `RUR` - Russian Ruble (1991–1998) - /// - `RWF` - Rwandan Franc - /// - `SVC` - Salvadoran Colón - /// - `WST` - Samoan Tala - /// - `SAR` - Saudi Riyal - /// - `RSD` - Serbian Dinar - /// - `CSD` - Serbian Dinar (2002–2006) - /// - `SCR` - Seychellois Rupee - /// - `SLL` - Sierra Leonean Leone - /// - `XAG` - Silver - /// - `SGD` - Singapore Dollar - /// - `SKK` - Slovak Koruna - /// - `SIT` - Slovenian Tolar - /// - `SBD` - Solomon Islands Dollar - /// - `SOS` - Somali Shilling - /// - `ZAR` - South African Rand - /// - `ZAL` - South African Rand (financial) - /// - `KRH` - South Korean Hwan (1953–1962) - /// - `KRW` - South Korean Won - /// - `KRO` - South Korean Won (1945–1953) - /// - `SSP` - South Sudanese Pound - /// - `SUR` - Soviet Rouble - /// - `ESP` - Spanish Peseta - /// - `ESA` - Spanish Peseta (A account) - /// - `ESB` - Spanish Peseta (convertible account) - /// - `XDR` - Special Drawing Rights - /// - `LKR` - Sri Lankan Rupee - /// - `SHP` - St. Helena Pound - /// - `XSU` - Sucre - /// - `SDD` - Sudanese Dinar (1992–2007) - /// - `SDG` - Sudanese Pound - /// - `SDP` - Sudanese Pound (1957–1998) - /// - `SRD` - Surinamese Dollar - /// - `SRG` - Surinamese Guilder - /// - `SZL` - Swazi Lilangeni - /// - `SEK` - Swedish Krona - /// - `CHF` - Swiss Franc - /// - `SYP` - Syrian Pound - /// - `STN` - São Tomé & Príncipe Dobra - /// - `STD` - São Tomé & Príncipe Dobra (1977–2017) - /// - `TVD` - TVD - /// - `TJR` - Tajikistani Ruble - /// - `TJS` - Tajikistani Somoni - /// - `TZS` - Tanzanian Shilling - /// - `XTS` - Testing Currency Code - /// - `THB` - Thai Baht - /// - `XXX` - The codes assigned for transactions where no currency is involved - /// - `TPE` - Timorese Escudo - /// - `TOP` - Tongan Paʻanga - /// - `TTD` - Trinidad & Tobago Dollar - /// - `TND` - Tunisian Dinar - /// - `TRY` - Turkish Lira - /// - `TRL` - Turkish Lira (1922–2005) - /// - `TMT` - Turkmenistani Manat - /// - `TMM` - Turkmenistani Manat (1993–2009) - /// - `USD` - US Dollar - /// - `USN` - US Dollar (Next day) - /// - `USS` - US Dollar (Same day) - /// - `UGX` - Ugandan Shilling - /// - `UGS` - Ugandan Shilling (1966–1987) - /// - `UAH` - Ukrainian Hryvnia - /// - `UAK` - Ukrainian Karbovanets - /// - `AED` - United Arab Emirates Dirham - /// - `UYW` - Uruguayan Nominal Wage Index Unit - /// - `UYU` - Uruguayan Peso - /// - `UYP` - Uruguayan Peso (1975–1993) - /// - `UYI` - Uruguayan Peso (Indexed Units) - /// - `UZS` - Uzbekistani Som - /// - `VUV` - Vanuatu Vatu - /// - `VES` - Venezuelan Bolívar - /// - `VEB` - Venezuelan Bolívar (1871–2008) - /// - `VEF` - Venezuelan Bolívar (2008–2018) - /// - `VND` - Vietnamese Dong - /// - `VNN` - Vietnamese Dong (1978–1985) - /// - `CHE` - WIR Euro - /// - `CHW` - WIR Franc - /// - `XOF` - West African CFA Franc - /// - `YDD` - Yemeni Dinar - /// - `YER` - Yemeni Rial - /// - `YUN` - Yugoslavian Convertible Dinar (1990–1992) - /// - `YUD` - Yugoslavian Hard Dinar (1966–1990) - /// - `YUM` - Yugoslavian New Dinar (1994–2002) - /// - `YUR` - Yugoslavian Reformed Dinar (1992–1993) - /// - `ZWN` - ZWN - /// - `ZRN` - Zairean New Zaire (1993–1998) - /// - `ZRZ` - Zairean Zaire (1971–1993) - /// - `ZMW` - Zambian Kwacha - /// - `ZMK` - Zambian Kwacha (1968–2012) - /// - `ZWD` - Zimbabwean Dollar (1980–2008) - /// - `ZWR` - Zimbabwean Dollar (2008) - /// - `ZWL` - Zimbabwean Dollar (2009) + /// * `XUA` - ADB Unit of Account + /// * `AFN` - Afghan Afghani + /// * `AFA` - Afghan Afghani (1927–2002) + /// * `ALL` - Albanian Lek + /// * `ALK` - Albanian Lek (1946–1965) + /// * `DZD` - Algerian Dinar + /// * `ADP` - Andorran Peseta + /// * `AOA` - Angolan Kwanza + /// * `AOK` - Angolan Kwanza (1977–1991) + /// * `AON` - Angolan New Kwanza (1990–2000) + /// * `AOR` - Angolan Readjusted Kwanza (1995–1999) + /// * `ARA` - Argentine Austral + /// * `ARS` - Argentine Peso + /// * `ARM` - Argentine Peso (1881–1970) + /// * `ARP` - Argentine Peso (1983–1985) + /// * `ARL` - Argentine Peso Ley (1970–1983) + /// * `AMD` - Armenian Dram + /// * `AWG` - Aruban Florin + /// * `AUD` - Australian Dollar + /// * `ATS` - Austrian Schilling + /// * `AZN` - Azerbaijani Manat + /// * `AZM` - Azerbaijani Manat (1993–2006) + /// * `BSD` - Bahamian Dollar + /// * `BHD` - Bahraini Dinar + /// * `BDT` - Bangladeshi Taka + /// * `BBD` - Barbadian Dollar + /// * `BYN` - Belarusian Ruble + /// * `BYB` - Belarusian Ruble (1994–1999) + /// * `BYR` - Belarusian Ruble (2000–2016) + /// * `BEF` - Belgian Franc + /// * `BEC` - Belgian Franc (convertible) + /// * `BEL` - Belgian Franc (financial) + /// * `BZD` - Belize Dollar + /// * `BMD` - Bermudan Dollar + /// * `BTN` - Bhutanese Ngultrum + /// * `BOB` - Bolivian Boliviano + /// * `BOL` - Bolivian Boliviano (1863–1963) + /// * `BOV` - Bolivian Mvdol + /// * `BOP` - Bolivian Peso + /// * `BAM` - Bosnia-Herzegovina Convertible Mark + /// * `BAD` - Bosnia-Herzegovina Dinar (1992–1994) + /// * `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) + /// * `BWP` - Botswanan Pula + /// * `BRC` - Brazilian Cruzado (1986–1989) + /// * `BRZ` - Brazilian Cruzeiro (1942–1967) + /// * `BRE` - Brazilian Cruzeiro (1990–1993) + /// * `BRR` - Brazilian Cruzeiro (1993–1994) + /// * `BRN` - Brazilian New Cruzado (1989–1990) + /// * `BRB` - Brazilian New Cruzeiro (1967–1986) + /// * `BRL` - Brazilian Real + /// * `GBP` - British Pound + /// * `BND` - Brunei Dollar + /// * `BGL` - Bulgarian Hard Lev + /// * `BGN` - Bulgarian Lev + /// * `BGO` - Bulgarian Lev (1879–1952) + /// * `BGM` - Bulgarian Socialist Lev + /// * `BUK` - Burmese Kyat + /// * `BIF` - Burundian Franc + /// * `XPF` - CFP Franc + /// * `KHR` - Cambodian Riel + /// * `CAD` - Canadian Dollar + /// * `CVE` - Cape Verdean Escudo + /// * `KYD` - Cayman Islands Dollar + /// * `XAF` - Central African CFA Franc + /// * `CLE` - Chilean Escudo + /// * `CLP` - Chilean Peso + /// * `CLF` - Chilean Unit of Account (UF) + /// * `CNX` - Chinese People’s Bank Dollar + /// * `CNY` - Chinese Yuan + /// * `CNH` - Chinese Yuan (offshore) + /// * `COP` - Colombian Peso + /// * `COU` - Colombian Real Value Unit + /// * `KMF` - Comorian Franc + /// * `CDF` - Congolese Franc + /// * `CRC` - Costa Rican Colón + /// * `HRD` - Croatian Dinar + /// * `HRK` - Croatian Kuna + /// * `CUC` - Cuban Convertible Peso + /// * `CUP` - Cuban Peso + /// * `CYP` - Cypriot Pound + /// * `CZK` - Czech Koruna + /// * `CSK` - Czechoslovak Hard Koruna + /// * `DKK` - Danish Krone + /// * `DJF` - Djiboutian Franc + /// * `DOP` - Dominican Peso + /// * `NLG` - Dutch Guilder + /// * `XCD` - East Caribbean Dollar + /// * `DDM` - East German Mark + /// * `ECS` - Ecuadorian Sucre + /// * `ECV` - Ecuadorian Unit of Constant Value + /// * `EGP` - Egyptian Pound + /// * `GQE` - Equatorial Guinean Ekwele + /// * `ERN` - Eritrean Nakfa + /// * `EEK` - Estonian Kroon + /// * `ETB` - Ethiopian Birr + /// * `EUR` - Euro + /// * `XBA` - European Composite Unit + /// * `XEU` - European Currency Unit + /// * `XBB` - European Monetary Unit + /// * `XBC` - European Unit of Account (XBC) + /// * `XBD` - European Unit of Account (XBD) + /// * `FKP` - Falkland Islands Pound + /// * `FJD` - Fijian Dollar + /// * `FIM` - Finnish Markka + /// * `FRF` - French Franc + /// * `XFO` - French Gold Franc + /// * `XFU` - French UIC-Franc + /// * `GMD` - Gambian Dalasi + /// * `GEK` - Georgian Kupon Larit + /// * `GEL` - Georgian Lari + /// * `DEM` - German Mark + /// * `GHS` - Ghanaian Cedi + /// * `GHC` - Ghanaian Cedi (1979–2007) + /// * `GIP` - Gibraltar Pound + /// * `XAU` - Gold + /// * `GRD` - Greek Drachma + /// * `GTQ` - Guatemalan Quetzal + /// * `GWP` - Guinea-Bissau Peso + /// * `GNF` - Guinean Franc + /// * `GNS` - Guinean Syli + /// * `GYD` - Guyanaese Dollar + /// * `HTG` - Haitian Gourde + /// * `HNL` - Honduran Lempira + /// * `HKD` - Hong Kong Dollar + /// * `HUF` - Hungarian Forint + /// * `IMP` - IMP + /// * `ISK` - Icelandic Króna + /// * `ISJ` - Icelandic Króna (1918–1981) + /// * `INR` - Indian Rupee + /// * `IDR` - Indonesian Rupiah + /// * `IRR` - Iranian Rial + /// * `IQD` - Iraqi Dinar + /// * `IEP` - Irish Pound + /// * `ILS` - Israeli New Shekel + /// * `ILP` - Israeli Pound + /// * `ILR` - Israeli Shekel (1980–1985) + /// * `ITL` - Italian Lira + /// * `JMD` - Jamaican Dollar + /// * `JPY` - Japanese Yen + /// * `JOD` - Jordanian Dinar + /// * `KZT` - Kazakhstani Tenge + /// * `KES` - Kenyan Shilling + /// * `KWD` - Kuwaiti Dinar + /// * `KGS` - Kyrgystani Som + /// * `LAK` - Laotian Kip + /// * `LVL` - Latvian Lats + /// * `LVR` - Latvian Ruble + /// * `LBP` - Lebanese Pound + /// * `LSL` - Lesotho Loti + /// * `LRD` - Liberian Dollar + /// * `LYD` - Libyan Dinar + /// * `LTL` - Lithuanian Litas + /// * `LTT` - Lithuanian Talonas + /// * `LUL` - Luxembourg Financial Franc + /// * `LUC` - Luxembourgian Convertible Franc + /// * `LUF` - Luxembourgian Franc + /// * `MOP` - Macanese Pataca + /// * `MKD` - Macedonian Denar + /// * `MKN` - Macedonian Denar (1992–1993) + /// * `MGA` - Malagasy Ariary + /// * `MGF` - Malagasy Franc + /// * `MWK` - Malawian Kwacha + /// * `MYR` - Malaysian Ringgit + /// * `MVR` - Maldivian Rufiyaa + /// * `MVP` - Maldivian Rupee (1947–1981) + /// * `MLF` - Malian Franc + /// * `MTL` - Maltese Lira + /// * `MTP` - Maltese Pound + /// * `MRU` - Mauritanian Ouguiya + /// * `MRO` - Mauritanian Ouguiya (1973–2017) + /// * `MUR` - Mauritian Rupee + /// * `MXV` - Mexican Investment Unit + /// * `MXN` - Mexican Peso + /// * `MXP` - Mexican Silver Peso (1861–1992) + /// * `MDC` - Moldovan Cupon + /// * `MDL` - Moldovan Leu + /// * `MCF` - Monegasque Franc + /// * `MNT` - Mongolian Tugrik + /// * `MAD` - Moroccan Dirham + /// * `MAF` - Moroccan Franc + /// * `MZE` - Mozambican Escudo + /// * `MZN` - Mozambican Metical + /// * `MZM` - Mozambican Metical (1980–2006) + /// * `MMK` - Myanmar Kyat + /// * `NAD` - Namibian Dollar + /// * `NPR` - Nepalese Rupee + /// * `ANG` - Netherlands Antillean Guilder + /// * `TWD` - New Taiwan Dollar + /// * `NZD` - New Zealand Dollar + /// * `NIO` - Nicaraguan Córdoba + /// * `NIC` - Nicaraguan Córdoba (1988–1991) + /// * `NGN` - Nigerian Naira + /// * `KPW` - North Korean Won + /// * `NOK` - Norwegian Krone + /// * `OMR` - Omani Rial + /// * `PKR` - Pakistani Rupee + /// * `XPD` - Palladium + /// * `PAB` - Panamanian Balboa + /// * `PGK` - Papua New Guinean Kina + /// * `PYG` - Paraguayan Guarani + /// * `PEI` - Peruvian Inti + /// * `PEN` - Peruvian Sol + /// * `PES` - Peruvian Sol (1863–1965) + /// * `PHP` - Philippine Peso + /// * `XPT` - Platinum + /// * `PLN` - Polish Zloty + /// * `PLZ` - Polish Zloty (1950–1995) + /// * `PTE` - Portuguese Escudo + /// * `GWE` - Portuguese Guinea Escudo + /// * `QAR` - Qatari Rial + /// * `XRE` - RINET Funds + /// * `RHD` - Rhodesian Dollar + /// * `RON` - Romanian Leu + /// * `ROL` - Romanian Leu (1952–2006) + /// * `RUB` - Russian Ruble + /// * `RUR` - Russian Ruble (1991–1998) + /// * `RWF` - Rwandan Franc + /// * `SVC` - Salvadoran Colón + /// * `WST` - Samoan Tala + /// * `SAR` - Saudi Riyal + /// * `RSD` - Serbian Dinar + /// * `CSD` - Serbian Dinar (2002–2006) + /// * `SCR` - Seychellois Rupee + /// * `SLL` - Sierra Leonean Leone + /// * `XAG` - Silver + /// * `SGD` - Singapore Dollar + /// * `SKK` - Slovak Koruna + /// * `SIT` - Slovenian Tolar + /// * `SBD` - Solomon Islands Dollar + /// * `SOS` - Somali Shilling + /// * `ZAR` - South African Rand + /// * `ZAL` - South African Rand (financial) + /// * `KRH` - South Korean Hwan (1953–1962) + /// * `KRW` - South Korean Won + /// * `KRO` - South Korean Won (1945–1953) + /// * `SSP` - South Sudanese Pound + /// * `SUR` - Soviet Rouble + /// * `ESP` - Spanish Peseta + /// * `ESA` - Spanish Peseta (A account) + /// * `ESB` - Spanish Peseta (convertible account) + /// * `XDR` - Special Drawing Rights + /// * `LKR` - Sri Lankan Rupee + /// * `SHP` - St. Helena Pound + /// * `XSU` - Sucre + /// * `SDD` - Sudanese Dinar (1992–2007) + /// * `SDG` - Sudanese Pound + /// * `SDP` - Sudanese Pound (1957–1998) + /// * `SRD` - Surinamese Dollar + /// * `SRG` - Surinamese Guilder + /// * `SZL` - Swazi Lilangeni + /// * `SEK` - Swedish Krona + /// * `CHF` - Swiss Franc + /// * `SYP` - Syrian Pound + /// * `STN` - São Tomé & Príncipe Dobra + /// * `STD` - São Tomé & Príncipe Dobra (1977–2017) + /// * `TVD` - TVD + /// * `TJR` - Tajikistani Ruble + /// * `TJS` - Tajikistani Somoni + /// * `TZS` - Tanzanian Shilling + /// * `XTS` - Testing Currency Code + /// * `THB` - Thai Baht + /// * `XXX` - The codes assigned for transactions where no currency is involved + /// * `TPE` - Timorese Escudo + /// * `TOP` - Tongan Paʻanga + /// * `TTD` - Trinidad & Tobago Dollar + /// * `TND` - Tunisian Dinar + /// * `TRY` - Turkish Lira + /// * `TRL` - Turkish Lira (1922–2005) + /// * `TMT` - Turkmenistani Manat + /// * `TMM` - Turkmenistani Manat (1993–2009) + /// * `USD` - US Dollar + /// * `USN` - US Dollar (Next day) + /// * `USS` - US Dollar (Same day) + /// * `UGX` - Ugandan Shilling + /// * `UGS` - Ugandan Shilling (1966–1987) + /// * `UAH` - Ukrainian Hryvnia + /// * `UAK` - Ukrainian Karbovanets + /// * `AED` - United Arab Emirates Dirham + /// * `UYW` - Uruguayan Nominal Wage Index Unit + /// * `UYU` - Uruguayan Peso + /// * `UYP` - Uruguayan Peso (1975–1993) + /// * `UYI` - Uruguayan Peso (Indexed Units) + /// * `UZS` - Uzbekistani Som + /// * `VUV` - Vanuatu Vatu + /// * `VES` - Venezuelan Bolívar + /// * `VEB` - Venezuelan Bolívar (1871–2008) + /// * `VEF` - Venezuelan Bolívar (2008–2018) + /// * `VND` - Vietnamese Dong + /// * `VNN` - Vietnamese Dong (1978–1985) + /// * `CHE` - WIR Euro + /// * `CHW` - WIR Franc + /// * `XOF` - West African CFA Franc + /// * `YDD` - Yemeni Dinar + /// * `YER` - Yemeni Rial + /// * `YUN` - Yugoslavian Convertible Dinar (1990–1992) + /// * `YUD` - Yugoslavian Hard Dinar (1966–1990) + /// * `YUM` - Yugoslavian New Dinar (1994–2002) + /// * `YUR` - Yugoslavian Reformed Dinar (1992–1993) + /// * `ZWN` - ZWN + /// * `ZRN` - Zairean New Zaire (1993–1998) + /// * `ZRZ` - Zairean Zaire (1971–1993) + /// * `ZMW` - Zambian Kwacha + /// * `ZMK` - Zambian Kwacha (1968–2012) + /// * `ZWD` - Zimbabwean Dollar (1980–2008) + /// * `ZWR` - Zimbabwean Dollar (2008) + /// * `ZWL` - Zimbabwean Dollar (2009) /// [JsonPropertyName("currency")] public TransactionCurrencyEnum? Currency { get; set; } @@ -376,12 +388,15 @@ public record CashFlowStatement [JsonPropertyName("cash_at_end_of_period")] public double? CashAtEndOfPeriod { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("operating_activities")] public IEnumerable? OperatingActivities { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("investing_activities")] public IEnumerable? InvestingActivities { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("financing_activities")] public IEnumerable? FinancingActivities { get; set; } @@ -394,15 +409,29 @@ public record CashFlowStatement /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/CommonModelScopeApi.cs b/src/Merge.Client/Accounting/Types/CommonModelScopeApi.cs index 90edd115..714fa16b 100644 --- a/src/Merge.Client/Accounting/Types/CommonModelScopeApi.cs +++ b/src/Merge.Client/Accounting/Types/CommonModelScopeApi.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -12,6 +13,17 @@ public record CommonModelScopeApi public IEnumerable CommonModels { get; set; } = new List(); + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/CommonModelScopesBodyRequest.cs b/src/Merge.Client/Accounting/Types/CommonModelScopesBodyRequest.cs index 8945e09b..30637199 100644 --- a/src/Merge.Client/Accounting/Types/CommonModelScopesBodyRequest.cs +++ b/src/Merge.Client/Accounting/Types/CommonModelScopesBodyRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -15,6 +16,17 @@ public record CommonModelScopesBodyRequest [JsonPropertyName("disabled_fields")] public IEnumerable DisabledFields { get; set; } = new List(); + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/CompanyInfo.cs b/src/Merge.Client/Accounting/Types/CompanyInfo.cs index 8adf1164..6bb32cb0 100644 --- a/src/Merge.Client/Accounting/Types/CompanyInfo.cs +++ b/src/Merge.Client/Accounting/Types/CompanyInfo.cs @@ -1,10 +1,20 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; +/// +/// # The CompanyInfo Object +/// ### Description +/// The `CompanyInfo` object contains information about the company of the linked account. If the company has multiple entities (also known as subsidiaries), each entity may show up as a single `CompanyInfo` record. +/// +/// ### Usage Example +/// Fetch from the `GET CompanyInfo` endpoint and view a company's information. +/// public record CompanyInfo { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -17,12 +27,14 @@ public record CompanyInfo /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -59,312 +71,312 @@ public record CompanyInfo /// /// The currency set in the company's accounting platform. /// - /// - `XUA` - ADB Unit of Account - /// - `AFN` - Afghan Afghani - /// - `AFA` - Afghan Afghani (1927–2002) - /// - `ALL` - Albanian Lek - /// - `ALK` - Albanian Lek (1946–1965) - /// - `DZD` - Algerian Dinar - /// - `ADP` - Andorran Peseta - /// - `AOA` - Angolan Kwanza - /// - `AOK` - Angolan Kwanza (1977–1991) - /// - `AON` - Angolan New Kwanza (1990–2000) - /// - `AOR` - Angolan Readjusted Kwanza (1995–1999) - /// - `ARA` - Argentine Austral - /// - `ARS` - Argentine Peso - /// - `ARM` - Argentine Peso (1881–1970) - /// - `ARP` - Argentine Peso (1983–1985) - /// - `ARL` - Argentine Peso Ley (1970–1983) - /// - `AMD` - Armenian Dram - /// - `AWG` - Aruban Florin - /// - `AUD` - Australian Dollar - /// - `ATS` - Austrian Schilling - /// - `AZN` - Azerbaijani Manat - /// - `AZM` - Azerbaijani Manat (1993–2006) - /// - `BSD` - Bahamian Dollar - /// - `BHD` - Bahraini Dinar - /// - `BDT` - Bangladeshi Taka - /// - `BBD` - Barbadian Dollar - /// - `BYN` - Belarusian Ruble - /// - `BYB` - Belarusian Ruble (1994–1999) - /// - `BYR` - Belarusian Ruble (2000–2016) - /// - `BEF` - Belgian Franc - /// - `BEC` - Belgian Franc (convertible) - /// - `BEL` - Belgian Franc (financial) - /// - `BZD` - Belize Dollar - /// - `BMD` - Bermudan Dollar - /// - `BTN` - Bhutanese Ngultrum - /// - `BOB` - Bolivian Boliviano - /// - `BOL` - Bolivian Boliviano (1863–1963) - /// - `BOV` - Bolivian Mvdol - /// - `BOP` - Bolivian Peso - /// - `BAM` - Bosnia-Herzegovina Convertible Mark - /// - `BAD` - Bosnia-Herzegovina Dinar (1992–1994) - /// - `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) - /// - `BWP` - Botswanan Pula - /// - `BRC` - Brazilian Cruzado (1986–1989) - /// - `BRZ` - Brazilian Cruzeiro (1942–1967) - /// - `BRE` - Brazilian Cruzeiro (1990–1993) - /// - `BRR` - Brazilian Cruzeiro (1993–1994) - /// - `BRN` - Brazilian New Cruzado (1989–1990) - /// - `BRB` - Brazilian New Cruzeiro (1967–1986) - /// - `BRL` - Brazilian Real - /// - `GBP` - British Pound - /// - `BND` - Brunei Dollar - /// - `BGL` - Bulgarian Hard Lev - /// - `BGN` - Bulgarian Lev - /// - `BGO` - Bulgarian Lev (1879–1952) - /// - `BGM` - Bulgarian Socialist Lev - /// - `BUK` - Burmese Kyat - /// - `BIF` - Burundian Franc - /// - `XPF` - CFP Franc - /// - `KHR` - Cambodian Riel - /// - `CAD` - Canadian Dollar - /// - `CVE` - Cape Verdean Escudo - /// - `KYD` - Cayman Islands Dollar - /// - `XAF` - Central African CFA Franc - /// - `CLE` - Chilean Escudo - /// - `CLP` - Chilean Peso - /// - `CLF` - Chilean Unit of Account (UF) - /// - `CNX` - Chinese People’s Bank Dollar - /// - `CNY` - Chinese Yuan - /// - `CNH` - Chinese Yuan (offshore) - /// - `COP` - Colombian Peso - /// - `COU` - Colombian Real Value Unit - /// - `KMF` - Comorian Franc - /// - `CDF` - Congolese Franc - /// - `CRC` - Costa Rican Colón - /// - `HRD` - Croatian Dinar - /// - `HRK` - Croatian Kuna - /// - `CUC` - Cuban Convertible Peso - /// - `CUP` - Cuban Peso - /// - `CYP` - Cypriot Pound - /// - `CZK` - Czech Koruna - /// - `CSK` - Czechoslovak Hard Koruna - /// - `DKK` - Danish Krone - /// - `DJF` - Djiboutian Franc - /// - `DOP` - Dominican Peso - /// - `NLG` - Dutch Guilder - /// - `XCD` - East Caribbean Dollar - /// - `DDM` - East German Mark - /// - `ECS` - Ecuadorian Sucre - /// - `ECV` - Ecuadorian Unit of Constant Value - /// - `EGP` - Egyptian Pound - /// - `GQE` - Equatorial Guinean Ekwele - /// - `ERN` - Eritrean Nakfa - /// - `EEK` - Estonian Kroon - /// - `ETB` - Ethiopian Birr - /// - `EUR` - Euro - /// - `XBA` - European Composite Unit - /// - `XEU` - European Currency Unit - /// - `XBB` - European Monetary Unit - /// - `XBC` - European Unit of Account (XBC) - /// - `XBD` - European Unit of Account (XBD) - /// - `FKP` - Falkland Islands Pound - /// - `FJD` - Fijian Dollar - /// - `FIM` - Finnish Markka - /// - `FRF` - French Franc - /// - `XFO` - French Gold Franc - /// - `XFU` - French UIC-Franc - /// - `GMD` - Gambian Dalasi - /// - `GEK` - Georgian Kupon Larit - /// - `GEL` - Georgian Lari - /// - `DEM` - German Mark - /// - `GHS` - Ghanaian Cedi - /// - `GHC` - Ghanaian Cedi (1979–2007) - /// - `GIP` - Gibraltar Pound - /// - `XAU` - Gold - /// - `GRD` - Greek Drachma - /// - `GTQ` - Guatemalan Quetzal - /// - `GWP` - Guinea-Bissau Peso - /// - `GNF` - Guinean Franc - /// - `GNS` - Guinean Syli - /// - `GYD` - Guyanaese Dollar - /// - `HTG` - Haitian Gourde - /// - `HNL` - Honduran Lempira - /// - `HKD` - Hong Kong Dollar - /// - `HUF` - Hungarian Forint - /// - `IMP` - IMP - /// - `ISK` - Icelandic Króna - /// - `ISJ` - Icelandic Króna (1918–1981) - /// - `INR` - Indian Rupee - /// - `IDR` - Indonesian Rupiah - /// - `IRR` - Iranian Rial - /// - `IQD` - Iraqi Dinar - /// - `IEP` - Irish Pound - /// - `ILS` - Israeli New Shekel - /// - `ILP` - Israeli Pound - /// - `ILR` - Israeli Shekel (1980–1985) - /// - `ITL` - Italian Lira - /// - `JMD` - Jamaican Dollar - /// - `JPY` - Japanese Yen - /// - `JOD` - Jordanian Dinar - /// - `KZT` - Kazakhstani Tenge - /// - `KES` - Kenyan Shilling - /// - `KWD` - Kuwaiti Dinar - /// - `KGS` - Kyrgystani Som - /// - `LAK` - Laotian Kip - /// - `LVL` - Latvian Lats - /// - `LVR` - Latvian Ruble - /// - `LBP` - Lebanese Pound - /// - `LSL` - Lesotho Loti - /// - `LRD` - Liberian Dollar - /// - `LYD` - Libyan Dinar - /// - `LTL` - Lithuanian Litas - /// - `LTT` - Lithuanian Talonas - /// - `LUL` - Luxembourg Financial Franc - /// - `LUC` - Luxembourgian Convertible Franc - /// - `LUF` - Luxembourgian Franc - /// - `MOP` - Macanese Pataca - /// - `MKD` - Macedonian Denar - /// - `MKN` - Macedonian Denar (1992–1993) - /// - `MGA` - Malagasy Ariary - /// - `MGF` - Malagasy Franc - /// - `MWK` - Malawian Kwacha - /// - `MYR` - Malaysian Ringgit - /// - `MVR` - Maldivian Rufiyaa - /// - `MVP` - Maldivian Rupee (1947–1981) - /// - `MLF` - Malian Franc - /// - `MTL` - Maltese Lira - /// - `MTP` - Maltese Pound - /// - `MRU` - Mauritanian Ouguiya - /// - `MRO` - Mauritanian Ouguiya (1973–2017) - /// - `MUR` - Mauritian Rupee - /// - `MXV` - Mexican Investment Unit - /// - `MXN` - Mexican Peso - /// - `MXP` - Mexican Silver Peso (1861–1992) - /// - `MDC` - Moldovan Cupon - /// - `MDL` - Moldovan Leu - /// - `MCF` - Monegasque Franc - /// - `MNT` - Mongolian Tugrik - /// - `MAD` - Moroccan Dirham - /// - `MAF` - Moroccan Franc - /// - `MZE` - Mozambican Escudo - /// - `MZN` - Mozambican Metical - /// - `MZM` - Mozambican Metical (1980–2006) - /// - `MMK` - Myanmar Kyat - /// - `NAD` - Namibian Dollar - /// - `NPR` - Nepalese Rupee - /// - `ANG` - Netherlands Antillean Guilder - /// - `TWD` - New Taiwan Dollar - /// - `NZD` - New Zealand Dollar - /// - `NIO` - Nicaraguan Córdoba - /// - `NIC` - Nicaraguan Córdoba (1988–1991) - /// - `NGN` - Nigerian Naira - /// - `KPW` - North Korean Won - /// - `NOK` - Norwegian Krone - /// - `OMR` - Omani Rial - /// - `PKR` - Pakistani Rupee - /// - `XPD` - Palladium - /// - `PAB` - Panamanian Balboa - /// - `PGK` - Papua New Guinean Kina - /// - `PYG` - Paraguayan Guarani - /// - `PEI` - Peruvian Inti - /// - `PEN` - Peruvian Sol - /// - `PES` - Peruvian Sol (1863–1965) - /// - `PHP` - Philippine Peso - /// - `XPT` - Platinum - /// - `PLN` - Polish Zloty - /// - `PLZ` - Polish Zloty (1950–1995) - /// - `PTE` - Portuguese Escudo - /// - `GWE` - Portuguese Guinea Escudo - /// - `QAR` - Qatari Rial - /// - `XRE` - RINET Funds - /// - `RHD` - Rhodesian Dollar - /// - `RON` - Romanian Leu - /// - `ROL` - Romanian Leu (1952–2006) - /// - `RUB` - Russian Ruble - /// - `RUR` - Russian Ruble (1991–1998) - /// - `RWF` - Rwandan Franc - /// - `SVC` - Salvadoran Colón - /// - `WST` - Samoan Tala - /// - `SAR` - Saudi Riyal - /// - `RSD` - Serbian Dinar - /// - `CSD` - Serbian Dinar (2002–2006) - /// - `SCR` - Seychellois Rupee - /// - `SLL` - Sierra Leonean Leone - /// - `XAG` - Silver - /// - `SGD` - Singapore Dollar - /// - `SKK` - Slovak Koruna - /// - `SIT` - Slovenian Tolar - /// - `SBD` - Solomon Islands Dollar - /// - `SOS` - Somali Shilling - /// - `ZAR` - South African Rand - /// - `ZAL` - South African Rand (financial) - /// - `KRH` - South Korean Hwan (1953–1962) - /// - `KRW` - South Korean Won - /// - `KRO` - South Korean Won (1945–1953) - /// - `SSP` - South Sudanese Pound - /// - `SUR` - Soviet Rouble - /// - `ESP` - Spanish Peseta - /// - `ESA` - Spanish Peseta (A account) - /// - `ESB` - Spanish Peseta (convertible account) - /// - `XDR` - Special Drawing Rights - /// - `LKR` - Sri Lankan Rupee - /// - `SHP` - St. Helena Pound - /// - `XSU` - Sucre - /// - `SDD` - Sudanese Dinar (1992–2007) - /// - `SDG` - Sudanese Pound - /// - `SDP` - Sudanese Pound (1957–1998) - /// - `SRD` - Surinamese Dollar - /// - `SRG` - Surinamese Guilder - /// - `SZL` - Swazi Lilangeni - /// - `SEK` - Swedish Krona - /// - `CHF` - Swiss Franc - /// - `SYP` - Syrian Pound - /// - `STN` - São Tomé & Príncipe Dobra - /// - `STD` - São Tomé & Príncipe Dobra (1977–2017) - /// - `TVD` - TVD - /// - `TJR` - Tajikistani Ruble - /// - `TJS` - Tajikistani Somoni - /// - `TZS` - Tanzanian Shilling - /// - `XTS` - Testing Currency Code - /// - `THB` - Thai Baht - /// - `XXX` - The codes assigned for transactions where no currency is involved - /// - `TPE` - Timorese Escudo - /// - `TOP` - Tongan Paʻanga - /// - `TTD` - Trinidad & Tobago Dollar - /// - `TND` - Tunisian Dinar - /// - `TRY` - Turkish Lira - /// - `TRL` - Turkish Lira (1922–2005) - /// - `TMT` - Turkmenistani Manat - /// - `TMM` - Turkmenistani Manat (1993–2009) - /// - `USD` - US Dollar - /// - `USN` - US Dollar (Next day) - /// - `USS` - US Dollar (Same day) - /// - `UGX` - Ugandan Shilling - /// - `UGS` - Ugandan Shilling (1966–1987) - /// - `UAH` - Ukrainian Hryvnia - /// - `UAK` - Ukrainian Karbovanets - /// - `AED` - United Arab Emirates Dirham - /// - `UYW` - Uruguayan Nominal Wage Index Unit - /// - `UYU` - Uruguayan Peso - /// - `UYP` - Uruguayan Peso (1975–1993) - /// - `UYI` - Uruguayan Peso (Indexed Units) - /// - `UZS` - Uzbekistani Som - /// - `VUV` - Vanuatu Vatu - /// - `VES` - Venezuelan Bolívar - /// - `VEB` - Venezuelan Bolívar (1871–2008) - /// - `VEF` - Venezuelan Bolívar (2008–2018) - /// - `VND` - Vietnamese Dong - /// - `VNN` - Vietnamese Dong (1978–1985) - /// - `CHE` - WIR Euro - /// - `CHW` - WIR Franc - /// - `XOF` - West African CFA Franc - /// - `YDD` - Yemeni Dinar - /// - `YER` - Yemeni Rial - /// - `YUN` - Yugoslavian Convertible Dinar (1990–1992) - /// - `YUD` - Yugoslavian Hard Dinar (1966–1990) - /// - `YUM` - Yugoslavian New Dinar (1994–2002) - /// - `YUR` - Yugoslavian Reformed Dinar (1992–1993) - /// - `ZWN` - ZWN - /// - `ZRN` - Zairean New Zaire (1993–1998) - /// - `ZRZ` - Zairean Zaire (1971–1993) - /// - `ZMW` - Zambian Kwacha - /// - `ZMK` - Zambian Kwacha (1968–2012) - /// - `ZWD` - Zimbabwean Dollar (1980–2008) - /// - `ZWR` - Zimbabwean Dollar (2008) - /// - `ZWL` - Zimbabwean Dollar (2009) + /// * `XUA` - ADB Unit of Account + /// * `AFN` - Afghan Afghani + /// * `AFA` - Afghan Afghani (1927–2002) + /// * `ALL` - Albanian Lek + /// * `ALK` - Albanian Lek (1946–1965) + /// * `DZD` - Algerian Dinar + /// * `ADP` - Andorran Peseta + /// * `AOA` - Angolan Kwanza + /// * `AOK` - Angolan Kwanza (1977–1991) + /// * `AON` - Angolan New Kwanza (1990–2000) + /// * `AOR` - Angolan Readjusted Kwanza (1995–1999) + /// * `ARA` - Argentine Austral + /// * `ARS` - Argentine Peso + /// * `ARM` - Argentine Peso (1881–1970) + /// * `ARP` - Argentine Peso (1983–1985) + /// * `ARL` - Argentine Peso Ley (1970–1983) + /// * `AMD` - Armenian Dram + /// * `AWG` - Aruban Florin + /// * `AUD` - Australian Dollar + /// * `ATS` - Austrian Schilling + /// * `AZN` - Azerbaijani Manat + /// * `AZM` - Azerbaijani Manat (1993–2006) + /// * `BSD` - Bahamian Dollar + /// * `BHD` - Bahraini Dinar + /// * `BDT` - Bangladeshi Taka + /// * `BBD` - Barbadian Dollar + /// * `BYN` - Belarusian Ruble + /// * `BYB` - Belarusian Ruble (1994–1999) + /// * `BYR` - Belarusian Ruble (2000–2016) + /// * `BEF` - Belgian Franc + /// * `BEC` - Belgian Franc (convertible) + /// * `BEL` - Belgian Franc (financial) + /// * `BZD` - Belize Dollar + /// * `BMD` - Bermudan Dollar + /// * `BTN` - Bhutanese Ngultrum + /// * `BOB` - Bolivian Boliviano + /// * `BOL` - Bolivian Boliviano (1863–1963) + /// * `BOV` - Bolivian Mvdol + /// * `BOP` - Bolivian Peso + /// * `BAM` - Bosnia-Herzegovina Convertible Mark + /// * `BAD` - Bosnia-Herzegovina Dinar (1992–1994) + /// * `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) + /// * `BWP` - Botswanan Pula + /// * `BRC` - Brazilian Cruzado (1986–1989) + /// * `BRZ` - Brazilian Cruzeiro (1942–1967) + /// * `BRE` - Brazilian Cruzeiro (1990–1993) + /// * `BRR` - Brazilian Cruzeiro (1993–1994) + /// * `BRN` - Brazilian New Cruzado (1989–1990) + /// * `BRB` - Brazilian New Cruzeiro (1967–1986) + /// * `BRL` - Brazilian Real + /// * `GBP` - British Pound + /// * `BND` - Brunei Dollar + /// * `BGL` - Bulgarian Hard Lev + /// * `BGN` - Bulgarian Lev + /// * `BGO` - Bulgarian Lev (1879–1952) + /// * `BGM` - Bulgarian Socialist Lev + /// * `BUK` - Burmese Kyat + /// * `BIF` - Burundian Franc + /// * `XPF` - CFP Franc + /// * `KHR` - Cambodian Riel + /// * `CAD` - Canadian Dollar + /// * `CVE` - Cape Verdean Escudo + /// * `KYD` - Cayman Islands Dollar + /// * `XAF` - Central African CFA Franc + /// * `CLE` - Chilean Escudo + /// * `CLP` - Chilean Peso + /// * `CLF` - Chilean Unit of Account (UF) + /// * `CNX` - Chinese People’s Bank Dollar + /// * `CNY` - Chinese Yuan + /// * `CNH` - Chinese Yuan (offshore) + /// * `COP` - Colombian Peso + /// * `COU` - Colombian Real Value Unit + /// * `KMF` - Comorian Franc + /// * `CDF` - Congolese Franc + /// * `CRC` - Costa Rican Colón + /// * `HRD` - Croatian Dinar + /// * `HRK` - Croatian Kuna + /// * `CUC` - Cuban Convertible Peso + /// * `CUP` - Cuban Peso + /// * `CYP` - Cypriot Pound + /// * `CZK` - Czech Koruna + /// * `CSK` - Czechoslovak Hard Koruna + /// * `DKK` - Danish Krone + /// * `DJF` - Djiboutian Franc + /// * `DOP` - Dominican Peso + /// * `NLG` - Dutch Guilder + /// * `XCD` - East Caribbean Dollar + /// * `DDM` - East German Mark + /// * `ECS` - Ecuadorian Sucre + /// * `ECV` - Ecuadorian Unit of Constant Value + /// * `EGP` - Egyptian Pound + /// * `GQE` - Equatorial Guinean Ekwele + /// * `ERN` - Eritrean Nakfa + /// * `EEK` - Estonian Kroon + /// * `ETB` - Ethiopian Birr + /// * `EUR` - Euro + /// * `XBA` - European Composite Unit + /// * `XEU` - European Currency Unit + /// * `XBB` - European Monetary Unit + /// * `XBC` - European Unit of Account (XBC) + /// * `XBD` - European Unit of Account (XBD) + /// * `FKP` - Falkland Islands Pound + /// * `FJD` - Fijian Dollar + /// * `FIM` - Finnish Markka + /// * `FRF` - French Franc + /// * `XFO` - French Gold Franc + /// * `XFU` - French UIC-Franc + /// * `GMD` - Gambian Dalasi + /// * `GEK` - Georgian Kupon Larit + /// * `GEL` - Georgian Lari + /// * `DEM` - German Mark + /// * `GHS` - Ghanaian Cedi + /// * `GHC` - Ghanaian Cedi (1979–2007) + /// * `GIP` - Gibraltar Pound + /// * `XAU` - Gold + /// * `GRD` - Greek Drachma + /// * `GTQ` - Guatemalan Quetzal + /// * `GWP` - Guinea-Bissau Peso + /// * `GNF` - Guinean Franc + /// * `GNS` - Guinean Syli + /// * `GYD` - Guyanaese Dollar + /// * `HTG` - Haitian Gourde + /// * `HNL` - Honduran Lempira + /// * `HKD` - Hong Kong Dollar + /// * `HUF` - Hungarian Forint + /// * `IMP` - IMP + /// * `ISK` - Icelandic Króna + /// * `ISJ` - Icelandic Króna (1918–1981) + /// * `INR` - Indian Rupee + /// * `IDR` - Indonesian Rupiah + /// * `IRR` - Iranian Rial + /// * `IQD` - Iraqi Dinar + /// * `IEP` - Irish Pound + /// * `ILS` - Israeli New Shekel + /// * `ILP` - Israeli Pound + /// * `ILR` - Israeli Shekel (1980–1985) + /// * `ITL` - Italian Lira + /// * `JMD` - Jamaican Dollar + /// * `JPY` - Japanese Yen + /// * `JOD` - Jordanian Dinar + /// * `KZT` - Kazakhstani Tenge + /// * `KES` - Kenyan Shilling + /// * `KWD` - Kuwaiti Dinar + /// * `KGS` - Kyrgystani Som + /// * `LAK` - Laotian Kip + /// * `LVL` - Latvian Lats + /// * `LVR` - Latvian Ruble + /// * `LBP` - Lebanese Pound + /// * `LSL` - Lesotho Loti + /// * `LRD` - Liberian Dollar + /// * `LYD` - Libyan Dinar + /// * `LTL` - Lithuanian Litas + /// * `LTT` - Lithuanian Talonas + /// * `LUL` - Luxembourg Financial Franc + /// * `LUC` - Luxembourgian Convertible Franc + /// * `LUF` - Luxembourgian Franc + /// * `MOP` - Macanese Pataca + /// * `MKD` - Macedonian Denar + /// * `MKN` - Macedonian Denar (1992–1993) + /// * `MGA` - Malagasy Ariary + /// * `MGF` - Malagasy Franc + /// * `MWK` - Malawian Kwacha + /// * `MYR` - Malaysian Ringgit + /// * `MVR` - Maldivian Rufiyaa + /// * `MVP` - Maldivian Rupee (1947–1981) + /// * `MLF` - Malian Franc + /// * `MTL` - Maltese Lira + /// * `MTP` - Maltese Pound + /// * `MRU` - Mauritanian Ouguiya + /// * `MRO` - Mauritanian Ouguiya (1973–2017) + /// * `MUR` - Mauritian Rupee + /// * `MXV` - Mexican Investment Unit + /// * `MXN` - Mexican Peso + /// * `MXP` - Mexican Silver Peso (1861–1992) + /// * `MDC` - Moldovan Cupon + /// * `MDL` - Moldovan Leu + /// * `MCF` - Monegasque Franc + /// * `MNT` - Mongolian Tugrik + /// * `MAD` - Moroccan Dirham + /// * `MAF` - Moroccan Franc + /// * `MZE` - Mozambican Escudo + /// * `MZN` - Mozambican Metical + /// * `MZM` - Mozambican Metical (1980–2006) + /// * `MMK` - Myanmar Kyat + /// * `NAD` - Namibian Dollar + /// * `NPR` - Nepalese Rupee + /// * `ANG` - Netherlands Antillean Guilder + /// * `TWD` - New Taiwan Dollar + /// * `NZD` - New Zealand Dollar + /// * `NIO` - Nicaraguan Córdoba + /// * `NIC` - Nicaraguan Córdoba (1988–1991) + /// * `NGN` - Nigerian Naira + /// * `KPW` - North Korean Won + /// * `NOK` - Norwegian Krone + /// * `OMR` - Omani Rial + /// * `PKR` - Pakistani Rupee + /// * `XPD` - Palladium + /// * `PAB` - Panamanian Balboa + /// * `PGK` - Papua New Guinean Kina + /// * `PYG` - Paraguayan Guarani + /// * `PEI` - Peruvian Inti + /// * `PEN` - Peruvian Sol + /// * `PES` - Peruvian Sol (1863–1965) + /// * `PHP` - Philippine Peso + /// * `XPT` - Platinum + /// * `PLN` - Polish Zloty + /// * `PLZ` - Polish Zloty (1950–1995) + /// * `PTE` - Portuguese Escudo + /// * `GWE` - Portuguese Guinea Escudo + /// * `QAR` - Qatari Rial + /// * `XRE` - RINET Funds + /// * `RHD` - Rhodesian Dollar + /// * `RON` - Romanian Leu + /// * `ROL` - Romanian Leu (1952–2006) + /// * `RUB` - Russian Ruble + /// * `RUR` - Russian Ruble (1991–1998) + /// * `RWF` - Rwandan Franc + /// * `SVC` - Salvadoran Colón + /// * `WST` - Samoan Tala + /// * `SAR` - Saudi Riyal + /// * `RSD` - Serbian Dinar + /// * `CSD` - Serbian Dinar (2002–2006) + /// * `SCR` - Seychellois Rupee + /// * `SLL` - Sierra Leonean Leone + /// * `XAG` - Silver + /// * `SGD` - Singapore Dollar + /// * `SKK` - Slovak Koruna + /// * `SIT` - Slovenian Tolar + /// * `SBD` - Solomon Islands Dollar + /// * `SOS` - Somali Shilling + /// * `ZAR` - South African Rand + /// * `ZAL` - South African Rand (financial) + /// * `KRH` - South Korean Hwan (1953–1962) + /// * `KRW` - South Korean Won + /// * `KRO` - South Korean Won (1945–1953) + /// * `SSP` - South Sudanese Pound + /// * `SUR` - Soviet Rouble + /// * `ESP` - Spanish Peseta + /// * `ESA` - Spanish Peseta (A account) + /// * `ESB` - Spanish Peseta (convertible account) + /// * `XDR` - Special Drawing Rights + /// * `LKR` - Sri Lankan Rupee + /// * `SHP` - St. Helena Pound + /// * `XSU` - Sucre + /// * `SDD` - Sudanese Dinar (1992–2007) + /// * `SDG` - Sudanese Pound + /// * `SDP` - Sudanese Pound (1957–1998) + /// * `SRD` - Surinamese Dollar + /// * `SRG` - Surinamese Guilder + /// * `SZL` - Swazi Lilangeni + /// * `SEK` - Swedish Krona + /// * `CHF` - Swiss Franc + /// * `SYP` - Syrian Pound + /// * `STN` - São Tomé & Príncipe Dobra + /// * `STD` - São Tomé & Príncipe Dobra (1977–2017) + /// * `TVD` - TVD + /// * `TJR` - Tajikistani Ruble + /// * `TJS` - Tajikistani Somoni + /// * `TZS` - Tanzanian Shilling + /// * `XTS` - Testing Currency Code + /// * `THB` - Thai Baht + /// * `XXX` - The codes assigned for transactions where no currency is involved + /// * `TPE` - Timorese Escudo + /// * `TOP` - Tongan Paʻanga + /// * `TTD` - Trinidad & Tobago Dollar + /// * `TND` - Tunisian Dinar + /// * `TRY` - Turkish Lira + /// * `TRL` - Turkish Lira (1922–2005) + /// * `TMT` - Turkmenistani Manat + /// * `TMM` - Turkmenistani Manat (1993–2009) + /// * `USD` - US Dollar + /// * `USN` - US Dollar (Next day) + /// * `USS` - US Dollar (Same day) + /// * `UGX` - Ugandan Shilling + /// * `UGS` - Ugandan Shilling (1966–1987) + /// * `UAH` - Ukrainian Hryvnia + /// * `UAK` - Ukrainian Karbovanets + /// * `AED` - United Arab Emirates Dirham + /// * `UYW` - Uruguayan Nominal Wage Index Unit + /// * `UYU` - Uruguayan Peso + /// * `UYP` - Uruguayan Peso (1975–1993) + /// * `UYI` - Uruguayan Peso (Indexed Units) + /// * `UZS` - Uzbekistani Som + /// * `VUV` - Vanuatu Vatu + /// * `VES` - Venezuelan Bolívar + /// * `VEB` - Venezuelan Bolívar (1871–2008) + /// * `VEF` - Venezuelan Bolívar (2008–2018) + /// * `VND` - Vietnamese Dong + /// * `VNN` - Vietnamese Dong (1978–1985) + /// * `CHE` - WIR Euro + /// * `CHW` - WIR Franc + /// * `XOF` - West African CFA Franc + /// * `YDD` - Yemeni Dinar + /// * `YER` - Yemeni Rial + /// * `YUN` - Yugoslavian Convertible Dinar (1990–1992) + /// * `YUD` - Yugoslavian Hard Dinar (1966–1990) + /// * `YUM` - Yugoslavian New Dinar (1994–2002) + /// * `YUR` - Yugoslavian Reformed Dinar (1992–1993) + /// * `ZWN` - ZWN + /// * `ZRN` - Zairean New Zaire (1993–1998) + /// * `ZRZ` - Zairean Zaire (1971–1993) + /// * `ZMW` - Zambian Kwacha + /// * `ZMK` - Zambian Kwacha (1968–2012) + /// * `ZWD` - Zimbabwean Dollar (1980–2008) + /// * `ZWR` - Zimbabwean Dollar (2008) + /// * `ZWL` - Zimbabwean Dollar (2009) /// [JsonPropertyName("currency")] public TransactionCurrencyEnum? Currency { get; set; } @@ -390,15 +402,29 @@ public record CompanyInfo /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/Contact.cs b/src/Merge.Client/Accounting/Types/Contact.cs index f8067c39..5689da22 100644 --- a/src/Merge.Client/Accounting/Types/Contact.cs +++ b/src/Merge.Client/Accounting/Types/Contact.cs @@ -1,11 +1,23 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Accounting; +/// +/// # The Contact Object +/// ### Description +/// A `Contact` is an individual or business entity to which products and services are sold to or purchased from. The `Contact` model contains both Customers, in which products and services are sold to, and Vendors (or Suppliers), in which products and services are purchased from. +/// * A `Contact` is a Vendor/Supplier if the `is_supplier` property is true. +/// * A `Contact` is a customer if the `is_customer` property is true. +/// +/// ### Usage Example +/// Fetch from the `LIST Contacts` endpoint and view a company's contacts. +/// public record Contact { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -18,12 +30,14 @@ public record Contact /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -60,8 +74,8 @@ public record Contact /// /// The contact's status /// - /// - `ACTIVE` - ACTIVE - /// - `ARCHIVED` - ARCHIVED + /// * `ACTIVE` - ACTIVE + /// * `ARCHIVED` - ARCHIVED /// [JsonPropertyName("status")] public Status7D1Enum? Status { get; set; } @@ -99,18 +113,33 @@ public record Contact /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_fields")] public IEnumerable? RemoteFields { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/ContactRequest.cs b/src/Merge.Client/Accounting/Types/ContactRequest.cs index 71695165..463d420e 100644 --- a/src/Merge.Client/Accounting/Types/ContactRequest.cs +++ b/src/Merge.Client/Accounting/Types/ContactRequest.cs @@ -1,9 +1,20 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Accounting; +/// +/// # The Contact Object +/// ### Description +/// A `Contact` is an individual or business entity to which products and services are sold to or purchased from. The `Contact` model contains both Customers, in which products and services are sold to, and Vendors (or Suppliers), in which products and services are purchased from. +/// * A `Contact` is a Vendor/Supplier if the `is_supplier` property is true. +/// * A `Contact` is a customer if the `is_customer` property is true. +/// +/// ### Usage Example +/// Fetch from the `LIST Contacts` endpoint and view a company's contacts. +/// public record ContactRequest { /// @@ -39,8 +50,8 @@ public record ContactRequest /// /// The contact's status /// - /// - `ACTIVE` - ACTIVE - /// - `ARCHIVED` - ARCHIVED + /// * `ACTIVE` - ACTIVE + /// * `ARCHIVED` - ARCHIVED /// [JsonPropertyName("status")] public Status7D1Enum? Status { get; set; } @@ -69,15 +80,29 @@ public record ContactRequest [JsonPropertyName("phone_numbers")] public IEnumerable? PhoneNumbers { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("integration_params")] public Dictionary? IntegrationParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("linked_account_params")] public Dictionary? LinkedAccountParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("remote_fields")] public IEnumerable? RemoteFields { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/ContactResponse.cs b/src/Merge.Client/Accounting/Types/ContactResponse.cs index 00c83390..c83c03a3 100644 --- a/src/Merge.Client/Accounting/Types/ContactResponse.cs +++ b/src/Merge.Client/Accounting/Types/ContactResponse.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -19,6 +20,17 @@ public record ContactResponse [JsonPropertyName("logs")] public IEnumerable? Logs { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/CreditNote.cs b/src/Merge.Client/Accounting/Types/CreditNote.cs index 2849acfc..2cfeecee 100644 --- a/src/Merge.Client/Accounting/Types/CreditNote.cs +++ b/src/Merge.Client/Accounting/Types/CreditNote.cs @@ -1,11 +1,21 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Accounting; +/// +/// # The CreditNote Object +/// ### Description +/// A `CreditNote` is transaction issued to a customer, indicating a reduction or cancellation of the amount owed by the customer. It is most generally used as an adjustment note used to rectify errors, returns, or overpayments related to a sales transaction. A `CreditNote` can be applied to *Accounts Receivable* Invoices to decrease the overall amount of the Invoice. +/// +/// ### Usage Example +/// Fetch from the `LIST CreditNotes` endpoint and view a company's credit notes. +/// public record CreditNote { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -18,12 +28,14 @@ public record CreditNote /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -36,9 +48,9 @@ public record CreditNote /// /// The credit note's status. /// - /// - `SUBMITTED` - SUBMITTED - /// - `AUTHORIZED` - AUTHORIZED - /// - `PAID` - PAID + /// * `SUBMITTED` - SUBMITTED + /// * `AUTHORIZED` - AUTHORIZED + /// * `PAID` - PAID /// [JsonPropertyName("status")] public CreditNoteStatusEnum? Status { get; set; } @@ -94,312 +106,312 @@ public record CreditNote /// /// The credit note's currency. /// - /// - `XUA` - ADB Unit of Account - /// - `AFN` - Afghan Afghani - /// - `AFA` - Afghan Afghani (1927–2002) - /// - `ALL` - Albanian Lek - /// - `ALK` - Albanian Lek (1946–1965) - /// - `DZD` - Algerian Dinar - /// - `ADP` - Andorran Peseta - /// - `AOA` - Angolan Kwanza - /// - `AOK` - Angolan Kwanza (1977–1991) - /// - `AON` - Angolan New Kwanza (1990–2000) - /// - `AOR` - Angolan Readjusted Kwanza (1995–1999) - /// - `ARA` - Argentine Austral - /// - `ARS` - Argentine Peso - /// - `ARM` - Argentine Peso (1881–1970) - /// - `ARP` - Argentine Peso (1983–1985) - /// - `ARL` - Argentine Peso Ley (1970–1983) - /// - `AMD` - Armenian Dram - /// - `AWG` - Aruban Florin - /// - `AUD` - Australian Dollar - /// - `ATS` - Austrian Schilling - /// - `AZN` - Azerbaijani Manat - /// - `AZM` - Azerbaijani Manat (1993–2006) - /// - `BSD` - Bahamian Dollar - /// - `BHD` - Bahraini Dinar - /// - `BDT` - Bangladeshi Taka - /// - `BBD` - Barbadian Dollar - /// - `BYN` - Belarusian Ruble - /// - `BYB` - Belarusian Ruble (1994–1999) - /// - `BYR` - Belarusian Ruble (2000–2016) - /// - `BEF` - Belgian Franc - /// - `BEC` - Belgian Franc (convertible) - /// - `BEL` - Belgian Franc (financial) - /// - `BZD` - Belize Dollar - /// - `BMD` - Bermudan Dollar - /// - `BTN` - Bhutanese Ngultrum - /// - `BOB` - Bolivian Boliviano - /// - `BOL` - Bolivian Boliviano (1863–1963) - /// - `BOV` - Bolivian Mvdol - /// - `BOP` - Bolivian Peso - /// - `BAM` - Bosnia-Herzegovina Convertible Mark - /// - `BAD` - Bosnia-Herzegovina Dinar (1992–1994) - /// - `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) - /// - `BWP` - Botswanan Pula - /// - `BRC` - Brazilian Cruzado (1986–1989) - /// - `BRZ` - Brazilian Cruzeiro (1942–1967) - /// - `BRE` - Brazilian Cruzeiro (1990–1993) - /// - `BRR` - Brazilian Cruzeiro (1993–1994) - /// - `BRN` - Brazilian New Cruzado (1989–1990) - /// - `BRB` - Brazilian New Cruzeiro (1967–1986) - /// - `BRL` - Brazilian Real - /// - `GBP` - British Pound - /// - `BND` - Brunei Dollar - /// - `BGL` - Bulgarian Hard Lev - /// - `BGN` - Bulgarian Lev - /// - `BGO` - Bulgarian Lev (1879–1952) - /// - `BGM` - Bulgarian Socialist Lev - /// - `BUK` - Burmese Kyat - /// - `BIF` - Burundian Franc - /// - `XPF` - CFP Franc - /// - `KHR` - Cambodian Riel - /// - `CAD` - Canadian Dollar - /// - `CVE` - Cape Verdean Escudo - /// - `KYD` - Cayman Islands Dollar - /// - `XAF` - Central African CFA Franc - /// - `CLE` - Chilean Escudo - /// - `CLP` - Chilean Peso - /// - `CLF` - Chilean Unit of Account (UF) - /// - `CNX` - Chinese People’s Bank Dollar - /// - `CNY` - Chinese Yuan - /// - `CNH` - Chinese Yuan (offshore) - /// - `COP` - Colombian Peso - /// - `COU` - Colombian Real Value Unit - /// - `KMF` - Comorian Franc - /// - `CDF` - Congolese Franc - /// - `CRC` - Costa Rican Colón - /// - `HRD` - Croatian Dinar - /// - `HRK` - Croatian Kuna - /// - `CUC` - Cuban Convertible Peso - /// - `CUP` - Cuban Peso - /// - `CYP` - Cypriot Pound - /// - `CZK` - Czech Koruna - /// - `CSK` - Czechoslovak Hard Koruna - /// - `DKK` - Danish Krone - /// - `DJF` - Djiboutian Franc - /// - `DOP` - Dominican Peso - /// - `NLG` - Dutch Guilder - /// - `XCD` - East Caribbean Dollar - /// - `DDM` - East German Mark - /// - `ECS` - Ecuadorian Sucre - /// - `ECV` - Ecuadorian Unit of Constant Value - /// - `EGP` - Egyptian Pound - /// - `GQE` - Equatorial Guinean Ekwele - /// - `ERN` - Eritrean Nakfa - /// - `EEK` - Estonian Kroon - /// - `ETB` - Ethiopian Birr - /// - `EUR` - Euro - /// - `XBA` - European Composite Unit - /// - `XEU` - European Currency Unit - /// - `XBB` - European Monetary Unit - /// - `XBC` - European Unit of Account (XBC) - /// - `XBD` - European Unit of Account (XBD) - /// - `FKP` - Falkland Islands Pound - /// - `FJD` - Fijian Dollar - /// - `FIM` - Finnish Markka - /// - `FRF` - French Franc - /// - `XFO` - French Gold Franc - /// - `XFU` - French UIC-Franc - /// - `GMD` - Gambian Dalasi - /// - `GEK` - Georgian Kupon Larit - /// - `GEL` - Georgian Lari - /// - `DEM` - German Mark - /// - `GHS` - Ghanaian Cedi - /// - `GHC` - Ghanaian Cedi (1979–2007) - /// - `GIP` - Gibraltar Pound - /// - `XAU` - Gold - /// - `GRD` - Greek Drachma - /// - `GTQ` - Guatemalan Quetzal - /// - `GWP` - Guinea-Bissau Peso - /// - `GNF` - Guinean Franc - /// - `GNS` - Guinean Syli - /// - `GYD` - Guyanaese Dollar - /// - `HTG` - Haitian Gourde - /// - `HNL` - Honduran Lempira - /// - `HKD` - Hong Kong Dollar - /// - `HUF` - Hungarian Forint - /// - `IMP` - IMP - /// - `ISK` - Icelandic Króna - /// - `ISJ` - Icelandic Króna (1918–1981) - /// - `INR` - Indian Rupee - /// - `IDR` - Indonesian Rupiah - /// - `IRR` - Iranian Rial - /// - `IQD` - Iraqi Dinar - /// - `IEP` - Irish Pound - /// - `ILS` - Israeli New Shekel - /// - `ILP` - Israeli Pound - /// - `ILR` - Israeli Shekel (1980–1985) - /// - `ITL` - Italian Lira - /// - `JMD` - Jamaican Dollar - /// - `JPY` - Japanese Yen - /// - `JOD` - Jordanian Dinar - /// - `KZT` - Kazakhstani Tenge - /// - `KES` - Kenyan Shilling - /// - `KWD` - Kuwaiti Dinar - /// - `KGS` - Kyrgystani Som - /// - `LAK` - Laotian Kip - /// - `LVL` - Latvian Lats - /// - `LVR` - Latvian Ruble - /// - `LBP` - Lebanese Pound - /// - `LSL` - Lesotho Loti - /// - `LRD` - Liberian Dollar - /// - `LYD` - Libyan Dinar - /// - `LTL` - Lithuanian Litas - /// - `LTT` - Lithuanian Talonas - /// - `LUL` - Luxembourg Financial Franc - /// - `LUC` - Luxembourgian Convertible Franc - /// - `LUF` - Luxembourgian Franc - /// - `MOP` - Macanese Pataca - /// - `MKD` - Macedonian Denar - /// - `MKN` - Macedonian Denar (1992–1993) - /// - `MGA` - Malagasy Ariary - /// - `MGF` - Malagasy Franc - /// - `MWK` - Malawian Kwacha - /// - `MYR` - Malaysian Ringgit - /// - `MVR` - Maldivian Rufiyaa - /// - `MVP` - Maldivian Rupee (1947–1981) - /// - `MLF` - Malian Franc - /// - `MTL` - Maltese Lira - /// - `MTP` - Maltese Pound - /// - `MRU` - Mauritanian Ouguiya - /// - `MRO` - Mauritanian Ouguiya (1973–2017) - /// - `MUR` - Mauritian Rupee - /// - `MXV` - Mexican Investment Unit - /// - `MXN` - Mexican Peso - /// - `MXP` - Mexican Silver Peso (1861–1992) - /// - `MDC` - Moldovan Cupon - /// - `MDL` - Moldovan Leu - /// - `MCF` - Monegasque Franc - /// - `MNT` - Mongolian Tugrik - /// - `MAD` - Moroccan Dirham - /// - `MAF` - Moroccan Franc - /// - `MZE` - Mozambican Escudo - /// - `MZN` - Mozambican Metical - /// - `MZM` - Mozambican Metical (1980–2006) - /// - `MMK` - Myanmar Kyat - /// - `NAD` - Namibian Dollar - /// - `NPR` - Nepalese Rupee - /// - `ANG` - Netherlands Antillean Guilder - /// - `TWD` - New Taiwan Dollar - /// - `NZD` - New Zealand Dollar - /// - `NIO` - Nicaraguan Córdoba - /// - `NIC` - Nicaraguan Córdoba (1988–1991) - /// - `NGN` - Nigerian Naira - /// - `KPW` - North Korean Won - /// - `NOK` - Norwegian Krone - /// - `OMR` - Omani Rial - /// - `PKR` - Pakistani Rupee - /// - `XPD` - Palladium - /// - `PAB` - Panamanian Balboa - /// - `PGK` - Papua New Guinean Kina - /// - `PYG` - Paraguayan Guarani - /// - `PEI` - Peruvian Inti - /// - `PEN` - Peruvian Sol - /// - `PES` - Peruvian Sol (1863–1965) - /// - `PHP` - Philippine Peso - /// - `XPT` - Platinum - /// - `PLN` - Polish Zloty - /// - `PLZ` - Polish Zloty (1950–1995) - /// - `PTE` - Portuguese Escudo - /// - `GWE` - Portuguese Guinea Escudo - /// - `QAR` - Qatari Rial - /// - `XRE` - RINET Funds - /// - `RHD` - Rhodesian Dollar - /// - `RON` - Romanian Leu - /// - `ROL` - Romanian Leu (1952–2006) - /// - `RUB` - Russian Ruble - /// - `RUR` - Russian Ruble (1991–1998) - /// - `RWF` - Rwandan Franc - /// - `SVC` - Salvadoran Colón - /// - `WST` - Samoan Tala - /// - `SAR` - Saudi Riyal - /// - `RSD` - Serbian Dinar - /// - `CSD` - Serbian Dinar (2002–2006) - /// - `SCR` - Seychellois Rupee - /// - `SLL` - Sierra Leonean Leone - /// - `XAG` - Silver - /// - `SGD` - Singapore Dollar - /// - `SKK` - Slovak Koruna - /// - `SIT` - Slovenian Tolar - /// - `SBD` - Solomon Islands Dollar - /// - `SOS` - Somali Shilling - /// - `ZAR` - South African Rand - /// - `ZAL` - South African Rand (financial) - /// - `KRH` - South Korean Hwan (1953–1962) - /// - `KRW` - South Korean Won - /// - `KRO` - South Korean Won (1945–1953) - /// - `SSP` - South Sudanese Pound - /// - `SUR` - Soviet Rouble - /// - `ESP` - Spanish Peseta - /// - `ESA` - Spanish Peseta (A account) - /// - `ESB` - Spanish Peseta (convertible account) - /// - `XDR` - Special Drawing Rights - /// - `LKR` - Sri Lankan Rupee - /// - `SHP` - St. Helena Pound - /// - `XSU` - Sucre - /// - `SDD` - Sudanese Dinar (1992–2007) - /// - `SDG` - Sudanese Pound - /// - `SDP` - Sudanese Pound (1957–1998) - /// - `SRD` - Surinamese Dollar - /// - `SRG` - Surinamese Guilder - /// - `SZL` - Swazi Lilangeni - /// - `SEK` - Swedish Krona - /// - `CHF` - Swiss Franc - /// - `SYP` - Syrian Pound - /// - `STN` - São Tomé & Príncipe Dobra - /// - `STD` - São Tomé & Príncipe Dobra (1977–2017) - /// - `TVD` - TVD - /// - `TJR` - Tajikistani Ruble - /// - `TJS` - Tajikistani Somoni - /// - `TZS` - Tanzanian Shilling - /// - `XTS` - Testing Currency Code - /// - `THB` - Thai Baht - /// - `XXX` - The codes assigned for transactions where no currency is involved - /// - `TPE` - Timorese Escudo - /// - `TOP` - Tongan Paʻanga - /// - `TTD` - Trinidad & Tobago Dollar - /// - `TND` - Tunisian Dinar - /// - `TRY` - Turkish Lira - /// - `TRL` - Turkish Lira (1922–2005) - /// - `TMT` - Turkmenistani Manat - /// - `TMM` - Turkmenistani Manat (1993–2009) - /// - `USD` - US Dollar - /// - `USN` - US Dollar (Next day) - /// - `USS` - US Dollar (Same day) - /// - `UGX` - Ugandan Shilling - /// - `UGS` - Ugandan Shilling (1966–1987) - /// - `UAH` - Ukrainian Hryvnia - /// - `UAK` - Ukrainian Karbovanets - /// - `AED` - United Arab Emirates Dirham - /// - `UYW` - Uruguayan Nominal Wage Index Unit - /// - `UYU` - Uruguayan Peso - /// - `UYP` - Uruguayan Peso (1975–1993) - /// - `UYI` - Uruguayan Peso (Indexed Units) - /// - `UZS` - Uzbekistani Som - /// - `VUV` - Vanuatu Vatu - /// - `VES` - Venezuelan Bolívar - /// - `VEB` - Venezuelan Bolívar (1871–2008) - /// - `VEF` - Venezuelan Bolívar (2008–2018) - /// - `VND` - Vietnamese Dong - /// - `VNN` - Vietnamese Dong (1978–1985) - /// - `CHE` - WIR Euro - /// - `CHW` - WIR Franc - /// - `XOF` - West African CFA Franc - /// - `YDD` - Yemeni Dinar - /// - `YER` - Yemeni Rial - /// - `YUN` - Yugoslavian Convertible Dinar (1990–1992) - /// - `YUD` - Yugoslavian Hard Dinar (1966–1990) - /// - `YUM` - Yugoslavian New Dinar (1994–2002) - /// - `YUR` - Yugoslavian Reformed Dinar (1992–1993) - /// - `ZWN` - ZWN - /// - `ZRN` - Zairean New Zaire (1993–1998) - /// - `ZRZ` - Zairean Zaire (1971–1993) - /// - `ZMW` - Zambian Kwacha - /// - `ZMK` - Zambian Kwacha (1968–2012) - /// - `ZWD` - Zimbabwean Dollar (1980–2008) - /// - `ZWR` - Zimbabwean Dollar (2008) - /// - `ZWL` - Zimbabwean Dollar (2009) + /// * `XUA` - ADB Unit of Account + /// * `AFN` - Afghan Afghani + /// * `AFA` - Afghan Afghani (1927–2002) + /// * `ALL` - Albanian Lek + /// * `ALK` - Albanian Lek (1946–1965) + /// * `DZD` - Algerian Dinar + /// * `ADP` - Andorran Peseta + /// * `AOA` - Angolan Kwanza + /// * `AOK` - Angolan Kwanza (1977–1991) + /// * `AON` - Angolan New Kwanza (1990–2000) + /// * `AOR` - Angolan Readjusted Kwanza (1995–1999) + /// * `ARA` - Argentine Austral + /// * `ARS` - Argentine Peso + /// * `ARM` - Argentine Peso (1881–1970) + /// * `ARP` - Argentine Peso (1983–1985) + /// * `ARL` - Argentine Peso Ley (1970–1983) + /// * `AMD` - Armenian Dram + /// * `AWG` - Aruban Florin + /// * `AUD` - Australian Dollar + /// * `ATS` - Austrian Schilling + /// * `AZN` - Azerbaijani Manat + /// * `AZM` - Azerbaijani Manat (1993–2006) + /// * `BSD` - Bahamian Dollar + /// * `BHD` - Bahraini Dinar + /// * `BDT` - Bangladeshi Taka + /// * `BBD` - Barbadian Dollar + /// * `BYN` - Belarusian Ruble + /// * `BYB` - Belarusian Ruble (1994–1999) + /// * `BYR` - Belarusian Ruble (2000–2016) + /// * `BEF` - Belgian Franc + /// * `BEC` - Belgian Franc (convertible) + /// * `BEL` - Belgian Franc (financial) + /// * `BZD` - Belize Dollar + /// * `BMD` - Bermudan Dollar + /// * `BTN` - Bhutanese Ngultrum + /// * `BOB` - Bolivian Boliviano + /// * `BOL` - Bolivian Boliviano (1863–1963) + /// * `BOV` - Bolivian Mvdol + /// * `BOP` - Bolivian Peso + /// * `BAM` - Bosnia-Herzegovina Convertible Mark + /// * `BAD` - Bosnia-Herzegovina Dinar (1992–1994) + /// * `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) + /// * `BWP` - Botswanan Pula + /// * `BRC` - Brazilian Cruzado (1986–1989) + /// * `BRZ` - Brazilian Cruzeiro (1942–1967) + /// * `BRE` - Brazilian Cruzeiro (1990–1993) + /// * `BRR` - Brazilian Cruzeiro (1993–1994) + /// * `BRN` - Brazilian New Cruzado (1989–1990) + /// * `BRB` - Brazilian New Cruzeiro (1967–1986) + /// * `BRL` - Brazilian Real + /// * `GBP` - British Pound + /// * `BND` - Brunei Dollar + /// * `BGL` - Bulgarian Hard Lev + /// * `BGN` - Bulgarian Lev + /// * `BGO` - Bulgarian Lev (1879–1952) + /// * `BGM` - Bulgarian Socialist Lev + /// * `BUK` - Burmese Kyat + /// * `BIF` - Burundian Franc + /// * `XPF` - CFP Franc + /// * `KHR` - Cambodian Riel + /// * `CAD` - Canadian Dollar + /// * `CVE` - Cape Verdean Escudo + /// * `KYD` - Cayman Islands Dollar + /// * `XAF` - Central African CFA Franc + /// * `CLE` - Chilean Escudo + /// * `CLP` - Chilean Peso + /// * `CLF` - Chilean Unit of Account (UF) + /// * `CNX` - Chinese People’s Bank Dollar + /// * `CNY` - Chinese Yuan + /// * `CNH` - Chinese Yuan (offshore) + /// * `COP` - Colombian Peso + /// * `COU` - Colombian Real Value Unit + /// * `KMF` - Comorian Franc + /// * `CDF` - Congolese Franc + /// * `CRC` - Costa Rican Colón + /// * `HRD` - Croatian Dinar + /// * `HRK` - Croatian Kuna + /// * `CUC` - Cuban Convertible Peso + /// * `CUP` - Cuban Peso + /// * `CYP` - Cypriot Pound + /// * `CZK` - Czech Koruna + /// * `CSK` - Czechoslovak Hard Koruna + /// * `DKK` - Danish Krone + /// * `DJF` - Djiboutian Franc + /// * `DOP` - Dominican Peso + /// * `NLG` - Dutch Guilder + /// * `XCD` - East Caribbean Dollar + /// * `DDM` - East German Mark + /// * `ECS` - Ecuadorian Sucre + /// * `ECV` - Ecuadorian Unit of Constant Value + /// * `EGP` - Egyptian Pound + /// * `GQE` - Equatorial Guinean Ekwele + /// * `ERN` - Eritrean Nakfa + /// * `EEK` - Estonian Kroon + /// * `ETB` - Ethiopian Birr + /// * `EUR` - Euro + /// * `XBA` - European Composite Unit + /// * `XEU` - European Currency Unit + /// * `XBB` - European Monetary Unit + /// * `XBC` - European Unit of Account (XBC) + /// * `XBD` - European Unit of Account (XBD) + /// * `FKP` - Falkland Islands Pound + /// * `FJD` - Fijian Dollar + /// * `FIM` - Finnish Markka + /// * `FRF` - French Franc + /// * `XFO` - French Gold Franc + /// * `XFU` - French UIC-Franc + /// * `GMD` - Gambian Dalasi + /// * `GEK` - Georgian Kupon Larit + /// * `GEL` - Georgian Lari + /// * `DEM` - German Mark + /// * `GHS` - Ghanaian Cedi + /// * `GHC` - Ghanaian Cedi (1979–2007) + /// * `GIP` - Gibraltar Pound + /// * `XAU` - Gold + /// * `GRD` - Greek Drachma + /// * `GTQ` - Guatemalan Quetzal + /// * `GWP` - Guinea-Bissau Peso + /// * `GNF` - Guinean Franc + /// * `GNS` - Guinean Syli + /// * `GYD` - Guyanaese Dollar + /// * `HTG` - Haitian Gourde + /// * `HNL` - Honduran Lempira + /// * `HKD` - Hong Kong Dollar + /// * `HUF` - Hungarian Forint + /// * `IMP` - IMP + /// * `ISK` - Icelandic Króna + /// * `ISJ` - Icelandic Króna (1918–1981) + /// * `INR` - Indian Rupee + /// * `IDR` - Indonesian Rupiah + /// * `IRR` - Iranian Rial + /// * `IQD` - Iraqi Dinar + /// * `IEP` - Irish Pound + /// * `ILS` - Israeli New Shekel + /// * `ILP` - Israeli Pound + /// * `ILR` - Israeli Shekel (1980–1985) + /// * `ITL` - Italian Lira + /// * `JMD` - Jamaican Dollar + /// * `JPY` - Japanese Yen + /// * `JOD` - Jordanian Dinar + /// * `KZT` - Kazakhstani Tenge + /// * `KES` - Kenyan Shilling + /// * `KWD` - Kuwaiti Dinar + /// * `KGS` - Kyrgystani Som + /// * `LAK` - Laotian Kip + /// * `LVL` - Latvian Lats + /// * `LVR` - Latvian Ruble + /// * `LBP` - Lebanese Pound + /// * `LSL` - Lesotho Loti + /// * `LRD` - Liberian Dollar + /// * `LYD` - Libyan Dinar + /// * `LTL` - Lithuanian Litas + /// * `LTT` - Lithuanian Talonas + /// * `LUL` - Luxembourg Financial Franc + /// * `LUC` - Luxembourgian Convertible Franc + /// * `LUF` - Luxembourgian Franc + /// * `MOP` - Macanese Pataca + /// * `MKD` - Macedonian Denar + /// * `MKN` - Macedonian Denar (1992–1993) + /// * `MGA` - Malagasy Ariary + /// * `MGF` - Malagasy Franc + /// * `MWK` - Malawian Kwacha + /// * `MYR` - Malaysian Ringgit + /// * `MVR` - Maldivian Rufiyaa + /// * `MVP` - Maldivian Rupee (1947–1981) + /// * `MLF` - Malian Franc + /// * `MTL` - Maltese Lira + /// * `MTP` - Maltese Pound + /// * `MRU` - Mauritanian Ouguiya + /// * `MRO` - Mauritanian Ouguiya (1973–2017) + /// * `MUR` - Mauritian Rupee + /// * `MXV` - Mexican Investment Unit + /// * `MXN` - Mexican Peso + /// * `MXP` - Mexican Silver Peso (1861–1992) + /// * `MDC` - Moldovan Cupon + /// * `MDL` - Moldovan Leu + /// * `MCF` - Monegasque Franc + /// * `MNT` - Mongolian Tugrik + /// * `MAD` - Moroccan Dirham + /// * `MAF` - Moroccan Franc + /// * `MZE` - Mozambican Escudo + /// * `MZN` - Mozambican Metical + /// * `MZM` - Mozambican Metical (1980–2006) + /// * `MMK` - Myanmar Kyat + /// * `NAD` - Namibian Dollar + /// * `NPR` - Nepalese Rupee + /// * `ANG` - Netherlands Antillean Guilder + /// * `TWD` - New Taiwan Dollar + /// * `NZD` - New Zealand Dollar + /// * `NIO` - Nicaraguan Córdoba + /// * `NIC` - Nicaraguan Córdoba (1988–1991) + /// * `NGN` - Nigerian Naira + /// * `KPW` - North Korean Won + /// * `NOK` - Norwegian Krone + /// * `OMR` - Omani Rial + /// * `PKR` - Pakistani Rupee + /// * `XPD` - Palladium + /// * `PAB` - Panamanian Balboa + /// * `PGK` - Papua New Guinean Kina + /// * `PYG` - Paraguayan Guarani + /// * `PEI` - Peruvian Inti + /// * `PEN` - Peruvian Sol + /// * `PES` - Peruvian Sol (1863–1965) + /// * `PHP` - Philippine Peso + /// * `XPT` - Platinum + /// * `PLN` - Polish Zloty + /// * `PLZ` - Polish Zloty (1950–1995) + /// * `PTE` - Portuguese Escudo + /// * `GWE` - Portuguese Guinea Escudo + /// * `QAR` - Qatari Rial + /// * `XRE` - RINET Funds + /// * `RHD` - Rhodesian Dollar + /// * `RON` - Romanian Leu + /// * `ROL` - Romanian Leu (1952–2006) + /// * `RUB` - Russian Ruble + /// * `RUR` - Russian Ruble (1991–1998) + /// * `RWF` - Rwandan Franc + /// * `SVC` - Salvadoran Colón + /// * `WST` - Samoan Tala + /// * `SAR` - Saudi Riyal + /// * `RSD` - Serbian Dinar + /// * `CSD` - Serbian Dinar (2002–2006) + /// * `SCR` - Seychellois Rupee + /// * `SLL` - Sierra Leonean Leone + /// * `XAG` - Silver + /// * `SGD` - Singapore Dollar + /// * `SKK` - Slovak Koruna + /// * `SIT` - Slovenian Tolar + /// * `SBD` - Solomon Islands Dollar + /// * `SOS` - Somali Shilling + /// * `ZAR` - South African Rand + /// * `ZAL` - South African Rand (financial) + /// * `KRH` - South Korean Hwan (1953–1962) + /// * `KRW` - South Korean Won + /// * `KRO` - South Korean Won (1945–1953) + /// * `SSP` - South Sudanese Pound + /// * `SUR` - Soviet Rouble + /// * `ESP` - Spanish Peseta + /// * `ESA` - Spanish Peseta (A account) + /// * `ESB` - Spanish Peseta (convertible account) + /// * `XDR` - Special Drawing Rights + /// * `LKR` - Sri Lankan Rupee + /// * `SHP` - St. Helena Pound + /// * `XSU` - Sucre + /// * `SDD` - Sudanese Dinar (1992–2007) + /// * `SDG` - Sudanese Pound + /// * `SDP` - Sudanese Pound (1957–1998) + /// * `SRD` - Surinamese Dollar + /// * `SRG` - Surinamese Guilder + /// * `SZL` - Swazi Lilangeni + /// * `SEK` - Swedish Krona + /// * `CHF` - Swiss Franc + /// * `SYP` - Syrian Pound + /// * `STN` - São Tomé & Príncipe Dobra + /// * `STD` - São Tomé & Príncipe Dobra (1977–2017) + /// * `TVD` - TVD + /// * `TJR` - Tajikistani Ruble + /// * `TJS` - Tajikistani Somoni + /// * `TZS` - Tanzanian Shilling + /// * `XTS` - Testing Currency Code + /// * `THB` - Thai Baht + /// * `XXX` - The codes assigned for transactions where no currency is involved + /// * `TPE` - Timorese Escudo + /// * `TOP` - Tongan Paʻanga + /// * `TTD` - Trinidad & Tobago Dollar + /// * `TND` - Tunisian Dinar + /// * `TRY` - Turkish Lira + /// * `TRL` - Turkish Lira (1922–2005) + /// * `TMT` - Turkmenistani Manat + /// * `TMM` - Turkmenistani Manat (1993–2009) + /// * `USD` - US Dollar + /// * `USN` - US Dollar (Next day) + /// * `USS` - US Dollar (Same day) + /// * `UGX` - Ugandan Shilling + /// * `UGS` - Ugandan Shilling (1966–1987) + /// * `UAH` - Ukrainian Hryvnia + /// * `UAK` - Ukrainian Karbovanets + /// * `AED` - United Arab Emirates Dirham + /// * `UYW` - Uruguayan Nominal Wage Index Unit + /// * `UYU` - Uruguayan Peso + /// * `UYP` - Uruguayan Peso (1975–1993) + /// * `UYI` - Uruguayan Peso (Indexed Units) + /// * `UZS` - Uzbekistani Som + /// * `VUV` - Vanuatu Vatu + /// * `VES` - Venezuelan Bolívar + /// * `VEB` - Venezuelan Bolívar (1871–2008) + /// * `VEF` - Venezuelan Bolívar (2008–2018) + /// * `VND` - Vietnamese Dong + /// * `VNN` - Vietnamese Dong (1978–1985) + /// * `CHE` - WIR Euro + /// * `CHW` - WIR Franc + /// * `XOF` - West African CFA Franc + /// * `YDD` - Yemeni Dinar + /// * `YER` - Yemeni Rial + /// * `YUN` - Yugoslavian Convertible Dinar (1990–1992) + /// * `YUD` - Yugoslavian Hard Dinar (1966–1990) + /// * `YUM` - Yugoslavian New Dinar (1994–2002) + /// * `YUR` - Yugoslavian Reformed Dinar (1992–1993) + /// * `ZWN` - ZWN + /// * `ZRN` - Zairean New Zaire (1993–1998) + /// * `ZRZ` - Zairean Zaire (1971–1993) + /// * `ZMW` - Zambian Kwacha + /// * `ZMK` - Zambian Kwacha (1968–2012) + /// * `ZWD` - Zimbabwean Dollar (1980–2008) + /// * `ZWR` - Zimbabwean Dollar (2008) + /// * `ZWL` - Zimbabwean Dollar (2009) /// [JsonPropertyName("currency")] public TransactionCurrencyEnum? Currency { get; set; } @@ -443,15 +455,29 @@ public record CreditNote /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/CreditNoteApplyLineForCreditNote.cs b/src/Merge.Client/Accounting/Types/CreditNoteApplyLineForCreditNote.cs index 018f9382..1d9ca802 100644 --- a/src/Merge.Client/Accounting/Types/CreditNoteApplyLineForCreditNote.cs +++ b/src/Merge.Client/Accounting/Types/CreditNoteApplyLineForCreditNote.cs @@ -1,9 +1,18 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Accounting; +/// +/// # The CreditNoteApplyLine Object +/// ### Description +/// The `CreditNoteApplyLine` is attached to the CreditNote model. +/// +/// ### Usage Example +/// Fetch from the `GET CreditNote` endpoint and view the invoice's applied to lines. +/// public record CreditNoteApplyLineForCreditNote { /// @@ -15,12 +24,14 @@ public record CreditNoteApplyLineForCreditNote /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -42,9 +53,21 @@ public record CreditNoteApplyLineForCreditNote /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/CreditNoteApplyLineForCreditNoteRequest.cs b/src/Merge.Client/Accounting/Types/CreditNoteApplyLineForCreditNoteRequest.cs index 52127052..92b18f05 100644 --- a/src/Merge.Client/Accounting/Types/CreditNoteApplyLineForCreditNoteRequest.cs +++ b/src/Merge.Client/Accounting/Types/CreditNoteApplyLineForCreditNoteRequest.cs @@ -1,9 +1,18 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Accounting; +/// +/// # The CreditNoteApplyLine Object +/// ### Description +/// The `CreditNoteApplyLine` is attached to the CreditNote model. +/// +/// ### Usage Example +/// Fetch from the `GET CreditNote` endpoint and view the invoice's applied to lines. +/// public record CreditNoteApplyLineForCreditNoteRequest { /// @@ -27,12 +36,25 @@ public record CreditNoteApplyLineForCreditNoteRequest [JsonPropertyName("applied_amount")] public string? AppliedAmount { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("integration_params")] public Dictionary? IntegrationParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("linked_account_params")] public Dictionary? LinkedAccountParams { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/CreditNoteApplyLineForInvoice.cs b/src/Merge.Client/Accounting/Types/CreditNoteApplyLineForInvoice.cs index f116aad3..1b85401e 100644 --- a/src/Merge.Client/Accounting/Types/CreditNoteApplyLineForInvoice.cs +++ b/src/Merge.Client/Accounting/Types/CreditNoteApplyLineForInvoice.cs @@ -1,9 +1,18 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Accounting; +/// +/// # The CreditNoteApplyLine Object +/// ### Description +/// The `CreditNoteApplyLine` is attached to the CreditNote model. +/// +/// ### Usage Example +/// Fetch from the `GET CreditNote` endpoint and view the invoice's applied to lines. +/// public record CreditNoteApplyLineForInvoice { /// @@ -15,12 +24,14 @@ public record CreditNoteApplyLineForInvoice /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -42,9 +53,21 @@ public record CreditNoteApplyLineForInvoice /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/CreditNoteLineItem.cs b/src/Merge.Client/Accounting/Types/CreditNoteLineItem.cs index 78d9ef36..76e80938 100644 --- a/src/Merge.Client/Accounting/Types/CreditNoteLineItem.cs +++ b/src/Merge.Client/Accounting/Types/CreditNoteLineItem.cs @@ -1,11 +1,21 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Accounting; +/// +/// # The CreditNoteLineItem Object +/// ### Description +/// The `CreditNoteLineItem` object is used to represent a credit note's line items. +/// +/// ### Usage Example +/// Fetch from the `GET CreditNote` endpoint and view the credit note's line items. +/// public record CreditNoteLineItem { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -18,12 +28,14 @@ public record CreditNoteLineItem /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -99,9 +111,21 @@ public record CreditNoteLineItem /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/CreditNoteLineItemRequest.cs b/src/Merge.Client/Accounting/Types/CreditNoteLineItemRequest.cs index 6d981824..a16d2616 100644 --- a/src/Merge.Client/Accounting/Types/CreditNoteLineItemRequest.cs +++ b/src/Merge.Client/Accounting/Types/CreditNoteLineItemRequest.cs @@ -1,9 +1,18 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Accounting; +/// +/// # The CreditNoteLineItem Object +/// ### Description +/// The `CreditNoteLineItem` object is used to represent a credit note's line items. +/// +/// ### Usage Example +/// Fetch from the `GET CreditNote` endpoint and view the credit note's line items. +/// public record CreditNoteLineItemRequest { /// @@ -81,12 +90,25 @@ public record CreditNoteLineItemRequest [JsonPropertyName("company")] public OneOf? Company { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("integration_params")] public Dictionary? IntegrationParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("linked_account_params")] public Dictionary? LinkedAccountParams { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/CreditNoteRequest.cs b/src/Merge.Client/Accounting/Types/CreditNoteRequest.cs index fe2f6e43..4c9a164e 100644 --- a/src/Merge.Client/Accounting/Types/CreditNoteRequest.cs +++ b/src/Merge.Client/Accounting/Types/CreditNoteRequest.cs @@ -1,9 +1,18 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Accounting; +/// +/// # The CreditNote Object +/// ### Description +/// A `CreditNote` is transaction issued to a customer, indicating a reduction or cancellation of the amount owed by the customer. It is most generally used as an adjustment note used to rectify errors, returns, or overpayments related to a sales transaction. A `CreditNote` can be applied to *Accounts Receivable* Invoices to decrease the overall amount of the Invoice. +/// +/// ### Usage Example +/// Fetch from the `LIST CreditNotes` endpoint and view a company's credit notes. +/// public record CreditNoteRequest { /// @@ -15,9 +24,9 @@ public record CreditNoteRequest /// /// The credit note's status. /// - /// - `SUBMITTED` - SUBMITTED - /// - `AUTHORIZED` - AUTHORIZED - /// - `PAID` - PAID + /// * `SUBMITTED` - SUBMITTED + /// * `AUTHORIZED` - AUTHORIZED + /// * `PAID` - PAID /// [JsonPropertyName("status")] public CreditNoteStatusEnum? Status { get; set; } @@ -73,312 +82,312 @@ public record CreditNoteRequest /// /// The credit note's currency. /// - /// - `XUA` - ADB Unit of Account - /// - `AFN` - Afghan Afghani - /// - `AFA` - Afghan Afghani (1927–2002) - /// - `ALL` - Albanian Lek - /// - `ALK` - Albanian Lek (1946–1965) - /// - `DZD` - Algerian Dinar - /// - `ADP` - Andorran Peseta - /// - `AOA` - Angolan Kwanza - /// - `AOK` - Angolan Kwanza (1977–1991) - /// - `AON` - Angolan New Kwanza (1990–2000) - /// - `AOR` - Angolan Readjusted Kwanza (1995–1999) - /// - `ARA` - Argentine Austral - /// - `ARS` - Argentine Peso - /// - `ARM` - Argentine Peso (1881–1970) - /// - `ARP` - Argentine Peso (1983–1985) - /// - `ARL` - Argentine Peso Ley (1970–1983) - /// - `AMD` - Armenian Dram - /// - `AWG` - Aruban Florin - /// - `AUD` - Australian Dollar - /// - `ATS` - Austrian Schilling - /// - `AZN` - Azerbaijani Manat - /// - `AZM` - Azerbaijani Manat (1993–2006) - /// - `BSD` - Bahamian Dollar - /// - `BHD` - Bahraini Dinar - /// - `BDT` - Bangladeshi Taka - /// - `BBD` - Barbadian Dollar - /// - `BYN` - Belarusian Ruble - /// - `BYB` - Belarusian Ruble (1994–1999) - /// - `BYR` - Belarusian Ruble (2000–2016) - /// - `BEF` - Belgian Franc - /// - `BEC` - Belgian Franc (convertible) - /// - `BEL` - Belgian Franc (financial) - /// - `BZD` - Belize Dollar - /// - `BMD` - Bermudan Dollar - /// - `BTN` - Bhutanese Ngultrum - /// - `BOB` - Bolivian Boliviano - /// - `BOL` - Bolivian Boliviano (1863–1963) - /// - `BOV` - Bolivian Mvdol - /// - `BOP` - Bolivian Peso - /// - `BAM` - Bosnia-Herzegovina Convertible Mark - /// - `BAD` - Bosnia-Herzegovina Dinar (1992–1994) - /// - `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) - /// - `BWP` - Botswanan Pula - /// - `BRC` - Brazilian Cruzado (1986–1989) - /// - `BRZ` - Brazilian Cruzeiro (1942–1967) - /// - `BRE` - Brazilian Cruzeiro (1990–1993) - /// - `BRR` - Brazilian Cruzeiro (1993–1994) - /// - `BRN` - Brazilian New Cruzado (1989–1990) - /// - `BRB` - Brazilian New Cruzeiro (1967–1986) - /// - `BRL` - Brazilian Real - /// - `GBP` - British Pound - /// - `BND` - Brunei Dollar - /// - `BGL` - Bulgarian Hard Lev - /// - `BGN` - Bulgarian Lev - /// - `BGO` - Bulgarian Lev (1879–1952) - /// - `BGM` - Bulgarian Socialist Lev - /// - `BUK` - Burmese Kyat - /// - `BIF` - Burundian Franc - /// - `XPF` - CFP Franc - /// - `KHR` - Cambodian Riel - /// - `CAD` - Canadian Dollar - /// - `CVE` - Cape Verdean Escudo - /// - `KYD` - Cayman Islands Dollar - /// - `XAF` - Central African CFA Franc - /// - `CLE` - Chilean Escudo - /// - `CLP` - Chilean Peso - /// - `CLF` - Chilean Unit of Account (UF) - /// - `CNX` - Chinese People’s Bank Dollar - /// - `CNY` - Chinese Yuan - /// - `CNH` - Chinese Yuan (offshore) - /// - `COP` - Colombian Peso - /// - `COU` - Colombian Real Value Unit - /// - `KMF` - Comorian Franc - /// - `CDF` - Congolese Franc - /// - `CRC` - Costa Rican Colón - /// - `HRD` - Croatian Dinar - /// - `HRK` - Croatian Kuna - /// - `CUC` - Cuban Convertible Peso - /// - `CUP` - Cuban Peso - /// - `CYP` - Cypriot Pound - /// - `CZK` - Czech Koruna - /// - `CSK` - Czechoslovak Hard Koruna - /// - `DKK` - Danish Krone - /// - `DJF` - Djiboutian Franc - /// - `DOP` - Dominican Peso - /// - `NLG` - Dutch Guilder - /// - `XCD` - East Caribbean Dollar - /// - `DDM` - East German Mark - /// - `ECS` - Ecuadorian Sucre - /// - `ECV` - Ecuadorian Unit of Constant Value - /// - `EGP` - Egyptian Pound - /// - `GQE` - Equatorial Guinean Ekwele - /// - `ERN` - Eritrean Nakfa - /// - `EEK` - Estonian Kroon - /// - `ETB` - Ethiopian Birr - /// - `EUR` - Euro - /// - `XBA` - European Composite Unit - /// - `XEU` - European Currency Unit - /// - `XBB` - European Monetary Unit - /// - `XBC` - European Unit of Account (XBC) - /// - `XBD` - European Unit of Account (XBD) - /// - `FKP` - Falkland Islands Pound - /// - `FJD` - Fijian Dollar - /// - `FIM` - Finnish Markka - /// - `FRF` - French Franc - /// - `XFO` - French Gold Franc - /// - `XFU` - French UIC-Franc - /// - `GMD` - Gambian Dalasi - /// - `GEK` - Georgian Kupon Larit - /// - `GEL` - Georgian Lari - /// - `DEM` - German Mark - /// - `GHS` - Ghanaian Cedi - /// - `GHC` - Ghanaian Cedi (1979–2007) - /// - `GIP` - Gibraltar Pound - /// - `XAU` - Gold - /// - `GRD` - Greek Drachma - /// - `GTQ` - Guatemalan Quetzal - /// - `GWP` - Guinea-Bissau Peso - /// - `GNF` - Guinean Franc - /// - `GNS` - Guinean Syli - /// - `GYD` - Guyanaese Dollar - /// - `HTG` - Haitian Gourde - /// - `HNL` - Honduran Lempira - /// - `HKD` - Hong Kong Dollar - /// - `HUF` - Hungarian Forint - /// - `IMP` - IMP - /// - `ISK` - Icelandic Króna - /// - `ISJ` - Icelandic Króna (1918–1981) - /// - `INR` - Indian Rupee - /// - `IDR` - Indonesian Rupiah - /// - `IRR` - Iranian Rial - /// - `IQD` - Iraqi Dinar - /// - `IEP` - Irish Pound - /// - `ILS` - Israeli New Shekel - /// - `ILP` - Israeli Pound - /// - `ILR` - Israeli Shekel (1980–1985) - /// - `ITL` - Italian Lira - /// - `JMD` - Jamaican Dollar - /// - `JPY` - Japanese Yen - /// - `JOD` - Jordanian Dinar - /// - `KZT` - Kazakhstani Tenge - /// - `KES` - Kenyan Shilling - /// - `KWD` - Kuwaiti Dinar - /// - `KGS` - Kyrgystani Som - /// - `LAK` - Laotian Kip - /// - `LVL` - Latvian Lats - /// - `LVR` - Latvian Ruble - /// - `LBP` - Lebanese Pound - /// - `LSL` - Lesotho Loti - /// - `LRD` - Liberian Dollar - /// - `LYD` - Libyan Dinar - /// - `LTL` - Lithuanian Litas - /// - `LTT` - Lithuanian Talonas - /// - `LUL` - Luxembourg Financial Franc - /// - `LUC` - Luxembourgian Convertible Franc - /// - `LUF` - Luxembourgian Franc - /// - `MOP` - Macanese Pataca - /// - `MKD` - Macedonian Denar - /// - `MKN` - Macedonian Denar (1992–1993) - /// - `MGA` - Malagasy Ariary - /// - `MGF` - Malagasy Franc - /// - `MWK` - Malawian Kwacha - /// - `MYR` - Malaysian Ringgit - /// - `MVR` - Maldivian Rufiyaa - /// - `MVP` - Maldivian Rupee (1947–1981) - /// - `MLF` - Malian Franc - /// - `MTL` - Maltese Lira - /// - `MTP` - Maltese Pound - /// - `MRU` - Mauritanian Ouguiya - /// - `MRO` - Mauritanian Ouguiya (1973–2017) - /// - `MUR` - Mauritian Rupee - /// - `MXV` - Mexican Investment Unit - /// - `MXN` - Mexican Peso - /// - `MXP` - Mexican Silver Peso (1861–1992) - /// - `MDC` - Moldovan Cupon - /// - `MDL` - Moldovan Leu - /// - `MCF` - Monegasque Franc - /// - `MNT` - Mongolian Tugrik - /// - `MAD` - Moroccan Dirham - /// - `MAF` - Moroccan Franc - /// - `MZE` - Mozambican Escudo - /// - `MZN` - Mozambican Metical - /// - `MZM` - Mozambican Metical (1980–2006) - /// - `MMK` - Myanmar Kyat - /// - `NAD` - Namibian Dollar - /// - `NPR` - Nepalese Rupee - /// - `ANG` - Netherlands Antillean Guilder - /// - `TWD` - New Taiwan Dollar - /// - `NZD` - New Zealand Dollar - /// - `NIO` - Nicaraguan Córdoba - /// - `NIC` - Nicaraguan Córdoba (1988–1991) - /// - `NGN` - Nigerian Naira - /// - `KPW` - North Korean Won - /// - `NOK` - Norwegian Krone - /// - `OMR` - Omani Rial - /// - `PKR` - Pakistani Rupee - /// - `XPD` - Palladium - /// - `PAB` - Panamanian Balboa - /// - `PGK` - Papua New Guinean Kina - /// - `PYG` - Paraguayan Guarani - /// - `PEI` - Peruvian Inti - /// - `PEN` - Peruvian Sol - /// - `PES` - Peruvian Sol (1863–1965) - /// - `PHP` - Philippine Peso - /// - `XPT` - Platinum - /// - `PLN` - Polish Zloty - /// - `PLZ` - Polish Zloty (1950–1995) - /// - `PTE` - Portuguese Escudo - /// - `GWE` - Portuguese Guinea Escudo - /// - `QAR` - Qatari Rial - /// - `XRE` - RINET Funds - /// - `RHD` - Rhodesian Dollar - /// - `RON` - Romanian Leu - /// - `ROL` - Romanian Leu (1952–2006) - /// - `RUB` - Russian Ruble - /// - `RUR` - Russian Ruble (1991–1998) - /// - `RWF` - Rwandan Franc - /// - `SVC` - Salvadoran Colón - /// - `WST` - Samoan Tala - /// - `SAR` - Saudi Riyal - /// - `RSD` - Serbian Dinar - /// - `CSD` - Serbian Dinar (2002–2006) - /// - `SCR` - Seychellois Rupee - /// - `SLL` - Sierra Leonean Leone - /// - `XAG` - Silver - /// - `SGD` - Singapore Dollar - /// - `SKK` - Slovak Koruna - /// - `SIT` - Slovenian Tolar - /// - `SBD` - Solomon Islands Dollar - /// - `SOS` - Somali Shilling - /// - `ZAR` - South African Rand - /// - `ZAL` - South African Rand (financial) - /// - `KRH` - South Korean Hwan (1953–1962) - /// - `KRW` - South Korean Won - /// - `KRO` - South Korean Won (1945–1953) - /// - `SSP` - South Sudanese Pound - /// - `SUR` - Soviet Rouble - /// - `ESP` - Spanish Peseta - /// - `ESA` - Spanish Peseta (A account) - /// - `ESB` - Spanish Peseta (convertible account) - /// - `XDR` - Special Drawing Rights - /// - `LKR` - Sri Lankan Rupee - /// - `SHP` - St. Helena Pound - /// - `XSU` - Sucre - /// - `SDD` - Sudanese Dinar (1992–2007) - /// - `SDG` - Sudanese Pound - /// - `SDP` - Sudanese Pound (1957–1998) - /// - `SRD` - Surinamese Dollar - /// - `SRG` - Surinamese Guilder - /// - `SZL` - Swazi Lilangeni - /// - `SEK` - Swedish Krona - /// - `CHF` - Swiss Franc - /// - `SYP` - Syrian Pound - /// - `STN` - São Tomé & Príncipe Dobra - /// - `STD` - São Tomé & Príncipe Dobra (1977–2017) - /// - `TVD` - TVD - /// - `TJR` - Tajikistani Ruble - /// - `TJS` - Tajikistani Somoni - /// - `TZS` - Tanzanian Shilling - /// - `XTS` - Testing Currency Code - /// - `THB` - Thai Baht - /// - `XXX` - The codes assigned for transactions where no currency is involved - /// - `TPE` - Timorese Escudo - /// - `TOP` - Tongan Paʻanga - /// - `TTD` - Trinidad & Tobago Dollar - /// - `TND` - Tunisian Dinar - /// - `TRY` - Turkish Lira - /// - `TRL` - Turkish Lira (1922–2005) - /// - `TMT` - Turkmenistani Manat - /// - `TMM` - Turkmenistani Manat (1993–2009) - /// - `USD` - US Dollar - /// - `USN` - US Dollar (Next day) - /// - `USS` - US Dollar (Same day) - /// - `UGX` - Ugandan Shilling - /// - `UGS` - Ugandan Shilling (1966–1987) - /// - `UAH` - Ukrainian Hryvnia - /// - `UAK` - Ukrainian Karbovanets - /// - `AED` - United Arab Emirates Dirham - /// - `UYW` - Uruguayan Nominal Wage Index Unit - /// - `UYU` - Uruguayan Peso - /// - `UYP` - Uruguayan Peso (1975–1993) - /// - `UYI` - Uruguayan Peso (Indexed Units) - /// - `UZS` - Uzbekistani Som - /// - `VUV` - Vanuatu Vatu - /// - `VES` - Venezuelan Bolívar - /// - `VEB` - Venezuelan Bolívar (1871–2008) - /// - `VEF` - Venezuelan Bolívar (2008–2018) - /// - `VND` - Vietnamese Dong - /// - `VNN` - Vietnamese Dong (1978–1985) - /// - `CHE` - WIR Euro - /// - `CHW` - WIR Franc - /// - `XOF` - West African CFA Franc - /// - `YDD` - Yemeni Dinar - /// - `YER` - Yemeni Rial - /// - `YUN` - Yugoslavian Convertible Dinar (1990–1992) - /// - `YUD` - Yugoslavian Hard Dinar (1966–1990) - /// - `YUM` - Yugoslavian New Dinar (1994–2002) - /// - `YUR` - Yugoslavian Reformed Dinar (1992–1993) - /// - `ZWN` - ZWN - /// - `ZRN` - Zairean New Zaire (1993–1998) - /// - `ZRZ` - Zairean Zaire (1971–1993) - /// - `ZMW` - Zambian Kwacha - /// - `ZMK` - Zambian Kwacha (1968–2012) - /// - `ZWD` - Zimbabwean Dollar (1980–2008) - /// - `ZWR` - Zimbabwean Dollar (2008) - /// - `ZWL` - Zimbabwean Dollar (2009) + /// * `XUA` - ADB Unit of Account + /// * `AFN` - Afghan Afghani + /// * `AFA` - Afghan Afghani (1927–2002) + /// * `ALL` - Albanian Lek + /// * `ALK` - Albanian Lek (1946–1965) + /// * `DZD` - Algerian Dinar + /// * `ADP` - Andorran Peseta + /// * `AOA` - Angolan Kwanza + /// * `AOK` - Angolan Kwanza (1977–1991) + /// * `AON` - Angolan New Kwanza (1990–2000) + /// * `AOR` - Angolan Readjusted Kwanza (1995–1999) + /// * `ARA` - Argentine Austral + /// * `ARS` - Argentine Peso + /// * `ARM` - Argentine Peso (1881–1970) + /// * `ARP` - Argentine Peso (1983–1985) + /// * `ARL` - Argentine Peso Ley (1970–1983) + /// * `AMD` - Armenian Dram + /// * `AWG` - Aruban Florin + /// * `AUD` - Australian Dollar + /// * `ATS` - Austrian Schilling + /// * `AZN` - Azerbaijani Manat + /// * `AZM` - Azerbaijani Manat (1993–2006) + /// * `BSD` - Bahamian Dollar + /// * `BHD` - Bahraini Dinar + /// * `BDT` - Bangladeshi Taka + /// * `BBD` - Barbadian Dollar + /// * `BYN` - Belarusian Ruble + /// * `BYB` - Belarusian Ruble (1994–1999) + /// * `BYR` - Belarusian Ruble (2000–2016) + /// * `BEF` - Belgian Franc + /// * `BEC` - Belgian Franc (convertible) + /// * `BEL` - Belgian Franc (financial) + /// * `BZD` - Belize Dollar + /// * `BMD` - Bermudan Dollar + /// * `BTN` - Bhutanese Ngultrum + /// * `BOB` - Bolivian Boliviano + /// * `BOL` - Bolivian Boliviano (1863–1963) + /// * `BOV` - Bolivian Mvdol + /// * `BOP` - Bolivian Peso + /// * `BAM` - Bosnia-Herzegovina Convertible Mark + /// * `BAD` - Bosnia-Herzegovina Dinar (1992–1994) + /// * `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) + /// * `BWP` - Botswanan Pula + /// * `BRC` - Brazilian Cruzado (1986–1989) + /// * `BRZ` - Brazilian Cruzeiro (1942–1967) + /// * `BRE` - Brazilian Cruzeiro (1990–1993) + /// * `BRR` - Brazilian Cruzeiro (1993–1994) + /// * `BRN` - Brazilian New Cruzado (1989–1990) + /// * `BRB` - Brazilian New Cruzeiro (1967–1986) + /// * `BRL` - Brazilian Real + /// * `GBP` - British Pound + /// * `BND` - Brunei Dollar + /// * `BGL` - Bulgarian Hard Lev + /// * `BGN` - Bulgarian Lev + /// * `BGO` - Bulgarian Lev (1879–1952) + /// * `BGM` - Bulgarian Socialist Lev + /// * `BUK` - Burmese Kyat + /// * `BIF` - Burundian Franc + /// * `XPF` - CFP Franc + /// * `KHR` - Cambodian Riel + /// * `CAD` - Canadian Dollar + /// * `CVE` - Cape Verdean Escudo + /// * `KYD` - Cayman Islands Dollar + /// * `XAF` - Central African CFA Franc + /// * `CLE` - Chilean Escudo + /// * `CLP` - Chilean Peso + /// * `CLF` - Chilean Unit of Account (UF) + /// * `CNX` - Chinese People’s Bank Dollar + /// * `CNY` - Chinese Yuan + /// * `CNH` - Chinese Yuan (offshore) + /// * `COP` - Colombian Peso + /// * `COU` - Colombian Real Value Unit + /// * `KMF` - Comorian Franc + /// * `CDF` - Congolese Franc + /// * `CRC` - Costa Rican Colón + /// * `HRD` - Croatian Dinar + /// * `HRK` - Croatian Kuna + /// * `CUC` - Cuban Convertible Peso + /// * `CUP` - Cuban Peso + /// * `CYP` - Cypriot Pound + /// * `CZK` - Czech Koruna + /// * `CSK` - Czechoslovak Hard Koruna + /// * `DKK` - Danish Krone + /// * `DJF` - Djiboutian Franc + /// * `DOP` - Dominican Peso + /// * `NLG` - Dutch Guilder + /// * `XCD` - East Caribbean Dollar + /// * `DDM` - East German Mark + /// * `ECS` - Ecuadorian Sucre + /// * `ECV` - Ecuadorian Unit of Constant Value + /// * `EGP` - Egyptian Pound + /// * `GQE` - Equatorial Guinean Ekwele + /// * `ERN` - Eritrean Nakfa + /// * `EEK` - Estonian Kroon + /// * `ETB` - Ethiopian Birr + /// * `EUR` - Euro + /// * `XBA` - European Composite Unit + /// * `XEU` - European Currency Unit + /// * `XBB` - European Monetary Unit + /// * `XBC` - European Unit of Account (XBC) + /// * `XBD` - European Unit of Account (XBD) + /// * `FKP` - Falkland Islands Pound + /// * `FJD` - Fijian Dollar + /// * `FIM` - Finnish Markka + /// * `FRF` - French Franc + /// * `XFO` - French Gold Franc + /// * `XFU` - French UIC-Franc + /// * `GMD` - Gambian Dalasi + /// * `GEK` - Georgian Kupon Larit + /// * `GEL` - Georgian Lari + /// * `DEM` - German Mark + /// * `GHS` - Ghanaian Cedi + /// * `GHC` - Ghanaian Cedi (1979–2007) + /// * `GIP` - Gibraltar Pound + /// * `XAU` - Gold + /// * `GRD` - Greek Drachma + /// * `GTQ` - Guatemalan Quetzal + /// * `GWP` - Guinea-Bissau Peso + /// * `GNF` - Guinean Franc + /// * `GNS` - Guinean Syli + /// * `GYD` - Guyanaese Dollar + /// * `HTG` - Haitian Gourde + /// * `HNL` - Honduran Lempira + /// * `HKD` - Hong Kong Dollar + /// * `HUF` - Hungarian Forint + /// * `IMP` - IMP + /// * `ISK` - Icelandic Króna + /// * `ISJ` - Icelandic Króna (1918–1981) + /// * `INR` - Indian Rupee + /// * `IDR` - Indonesian Rupiah + /// * `IRR` - Iranian Rial + /// * `IQD` - Iraqi Dinar + /// * `IEP` - Irish Pound + /// * `ILS` - Israeli New Shekel + /// * `ILP` - Israeli Pound + /// * `ILR` - Israeli Shekel (1980–1985) + /// * `ITL` - Italian Lira + /// * `JMD` - Jamaican Dollar + /// * `JPY` - Japanese Yen + /// * `JOD` - Jordanian Dinar + /// * `KZT` - Kazakhstani Tenge + /// * `KES` - Kenyan Shilling + /// * `KWD` - Kuwaiti Dinar + /// * `KGS` - Kyrgystani Som + /// * `LAK` - Laotian Kip + /// * `LVL` - Latvian Lats + /// * `LVR` - Latvian Ruble + /// * `LBP` - Lebanese Pound + /// * `LSL` - Lesotho Loti + /// * `LRD` - Liberian Dollar + /// * `LYD` - Libyan Dinar + /// * `LTL` - Lithuanian Litas + /// * `LTT` - Lithuanian Talonas + /// * `LUL` - Luxembourg Financial Franc + /// * `LUC` - Luxembourgian Convertible Franc + /// * `LUF` - Luxembourgian Franc + /// * `MOP` - Macanese Pataca + /// * `MKD` - Macedonian Denar + /// * `MKN` - Macedonian Denar (1992–1993) + /// * `MGA` - Malagasy Ariary + /// * `MGF` - Malagasy Franc + /// * `MWK` - Malawian Kwacha + /// * `MYR` - Malaysian Ringgit + /// * `MVR` - Maldivian Rufiyaa + /// * `MVP` - Maldivian Rupee (1947–1981) + /// * `MLF` - Malian Franc + /// * `MTL` - Maltese Lira + /// * `MTP` - Maltese Pound + /// * `MRU` - Mauritanian Ouguiya + /// * `MRO` - Mauritanian Ouguiya (1973–2017) + /// * `MUR` - Mauritian Rupee + /// * `MXV` - Mexican Investment Unit + /// * `MXN` - Mexican Peso + /// * `MXP` - Mexican Silver Peso (1861–1992) + /// * `MDC` - Moldovan Cupon + /// * `MDL` - Moldovan Leu + /// * `MCF` - Monegasque Franc + /// * `MNT` - Mongolian Tugrik + /// * `MAD` - Moroccan Dirham + /// * `MAF` - Moroccan Franc + /// * `MZE` - Mozambican Escudo + /// * `MZN` - Mozambican Metical + /// * `MZM` - Mozambican Metical (1980–2006) + /// * `MMK` - Myanmar Kyat + /// * `NAD` - Namibian Dollar + /// * `NPR` - Nepalese Rupee + /// * `ANG` - Netherlands Antillean Guilder + /// * `TWD` - New Taiwan Dollar + /// * `NZD` - New Zealand Dollar + /// * `NIO` - Nicaraguan Córdoba + /// * `NIC` - Nicaraguan Córdoba (1988–1991) + /// * `NGN` - Nigerian Naira + /// * `KPW` - North Korean Won + /// * `NOK` - Norwegian Krone + /// * `OMR` - Omani Rial + /// * `PKR` - Pakistani Rupee + /// * `XPD` - Palladium + /// * `PAB` - Panamanian Balboa + /// * `PGK` - Papua New Guinean Kina + /// * `PYG` - Paraguayan Guarani + /// * `PEI` - Peruvian Inti + /// * `PEN` - Peruvian Sol + /// * `PES` - Peruvian Sol (1863–1965) + /// * `PHP` - Philippine Peso + /// * `XPT` - Platinum + /// * `PLN` - Polish Zloty + /// * `PLZ` - Polish Zloty (1950–1995) + /// * `PTE` - Portuguese Escudo + /// * `GWE` - Portuguese Guinea Escudo + /// * `QAR` - Qatari Rial + /// * `XRE` - RINET Funds + /// * `RHD` - Rhodesian Dollar + /// * `RON` - Romanian Leu + /// * `ROL` - Romanian Leu (1952–2006) + /// * `RUB` - Russian Ruble + /// * `RUR` - Russian Ruble (1991–1998) + /// * `RWF` - Rwandan Franc + /// * `SVC` - Salvadoran Colón + /// * `WST` - Samoan Tala + /// * `SAR` - Saudi Riyal + /// * `RSD` - Serbian Dinar + /// * `CSD` - Serbian Dinar (2002–2006) + /// * `SCR` - Seychellois Rupee + /// * `SLL` - Sierra Leonean Leone + /// * `XAG` - Silver + /// * `SGD` - Singapore Dollar + /// * `SKK` - Slovak Koruna + /// * `SIT` - Slovenian Tolar + /// * `SBD` - Solomon Islands Dollar + /// * `SOS` - Somali Shilling + /// * `ZAR` - South African Rand + /// * `ZAL` - South African Rand (financial) + /// * `KRH` - South Korean Hwan (1953–1962) + /// * `KRW` - South Korean Won + /// * `KRO` - South Korean Won (1945–1953) + /// * `SSP` - South Sudanese Pound + /// * `SUR` - Soviet Rouble + /// * `ESP` - Spanish Peseta + /// * `ESA` - Spanish Peseta (A account) + /// * `ESB` - Spanish Peseta (convertible account) + /// * `XDR` - Special Drawing Rights + /// * `LKR` - Sri Lankan Rupee + /// * `SHP` - St. Helena Pound + /// * `XSU` - Sucre + /// * `SDD` - Sudanese Dinar (1992–2007) + /// * `SDG` - Sudanese Pound + /// * `SDP` - Sudanese Pound (1957–1998) + /// * `SRD` - Surinamese Dollar + /// * `SRG` - Surinamese Guilder + /// * `SZL` - Swazi Lilangeni + /// * `SEK` - Swedish Krona + /// * `CHF` - Swiss Franc + /// * `SYP` - Syrian Pound + /// * `STN` - São Tomé & Príncipe Dobra + /// * `STD` - São Tomé & Príncipe Dobra (1977–2017) + /// * `TVD` - TVD + /// * `TJR` - Tajikistani Ruble + /// * `TJS` - Tajikistani Somoni + /// * `TZS` - Tanzanian Shilling + /// * `XTS` - Testing Currency Code + /// * `THB` - Thai Baht + /// * `XXX` - The codes assigned for transactions where no currency is involved + /// * `TPE` - Timorese Escudo + /// * `TOP` - Tongan Paʻanga + /// * `TTD` - Trinidad & Tobago Dollar + /// * `TND` - Tunisian Dinar + /// * `TRY` - Turkish Lira + /// * `TRL` - Turkish Lira (1922–2005) + /// * `TMT` - Turkmenistani Manat + /// * `TMM` - Turkmenistani Manat (1993–2009) + /// * `USD` - US Dollar + /// * `USN` - US Dollar (Next day) + /// * `USS` - US Dollar (Same day) + /// * `UGX` - Ugandan Shilling + /// * `UGS` - Ugandan Shilling (1966–1987) + /// * `UAH` - Ukrainian Hryvnia + /// * `UAK` - Ukrainian Karbovanets + /// * `AED` - United Arab Emirates Dirham + /// * `UYW` - Uruguayan Nominal Wage Index Unit + /// * `UYU` - Uruguayan Peso + /// * `UYP` - Uruguayan Peso (1975–1993) + /// * `UYI` - Uruguayan Peso (Indexed Units) + /// * `UZS` - Uzbekistani Som + /// * `VUV` - Vanuatu Vatu + /// * `VES` - Venezuelan Bolívar + /// * `VEB` - Venezuelan Bolívar (1871–2008) + /// * `VEF` - Venezuelan Bolívar (2008–2018) + /// * `VND` - Vietnamese Dong + /// * `VNN` - Vietnamese Dong (1978–1985) + /// * `CHE` - WIR Euro + /// * `CHW` - WIR Franc + /// * `XOF` - West African CFA Franc + /// * `YDD` - Yemeni Dinar + /// * `YER` - Yemeni Rial + /// * `YUN` - Yugoslavian Convertible Dinar (1990–1992) + /// * `YUD` - Yugoslavian Hard Dinar (1966–1990) + /// * `YUM` - Yugoslavian New Dinar (1994–2002) + /// * `YUR` - Yugoslavian Reformed Dinar (1992–1993) + /// * `ZWN` - ZWN + /// * `ZRN` - Zairean New Zaire (1993–1998) + /// * `ZRZ` - Zairean Zaire (1971–1993) + /// * `ZMW` - Zambian Kwacha + /// * `ZMK` - Zambian Kwacha (1968–2012) + /// * `ZWD` - Zimbabwean Dollar (1980–2008) + /// * `ZWR` - Zimbabwean Dollar (2008) + /// * `ZWL` - Zimbabwean Dollar (2009) /// [JsonPropertyName("currency")] public TransactionCurrencyEnum? Currency { get; set; } @@ -407,12 +416,25 @@ public record CreditNoteRequest [JsonPropertyName("applied_to_lines")] public IEnumerable? AppliedToLines { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("integration_params")] public Dictionary? IntegrationParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("linked_account_params")] public Dictionary? LinkedAccountParams { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/CreditNoteResponse.cs b/src/Merge.Client/Accounting/Types/CreditNoteResponse.cs index 1ff44a97..9e184f32 100644 --- a/src/Merge.Client/Accounting/Types/CreditNoteResponse.cs +++ b/src/Merge.Client/Accounting/Types/CreditNoteResponse.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -19,6 +20,17 @@ public record CreditNoteResponse [JsonPropertyName("logs")] public IEnumerable? Logs { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/DataPassthroughRequest.cs b/src/Merge.Client/Accounting/Types/DataPassthroughRequest.cs index 8a6b97ef..e2462600 100644 --- a/src/Merge.Client/Accounting/Types/DataPassthroughRequest.cs +++ b/src/Merge.Client/Accounting/Types/DataPassthroughRequest.cs @@ -1,8 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; +/// +/// # The DataPassthrough Object +/// ### Description +/// The `DataPassthrough` object is used to send information to an otherwise-unsupported third-party endpoint. +/// +/// ### Usage Example +/// Create a `DataPassthrough` to get team hierarchies from your Rippling integration. +/// public record DataPassthroughRequest { [JsonPropertyName("method")] @@ -47,6 +56,17 @@ public record DataPassthroughRequest [JsonPropertyName("normalize_response")] public bool? NormalizeResponse { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/DebugModeLog.cs b/src/Merge.Client/Accounting/Types/DebugModeLog.cs index a1bbc2ce..36cf05d5 100644 --- a/src/Merge.Client/Accounting/Types/DebugModeLog.cs +++ b/src/Merge.Client/Accounting/Types/DebugModeLog.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record DebugModeLog [JsonPropertyName("log_summary")] public required DebugModelLogSummary LogSummary { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/DebugModelLogSummary.cs b/src/Merge.Client/Accounting/Types/DebugModelLogSummary.cs index 2575ab4e..67ceab87 100644 --- a/src/Merge.Client/Accounting/Types/DebugModelLogSummary.cs +++ b/src/Merge.Client/Accounting/Types/DebugModelLogSummary.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record DebugModelLogSummary [JsonPropertyName("status_code")] public required int StatusCode { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/Employee.cs b/src/Merge.Client/Accounting/Types/Employee.cs index f81a026d..2bd13d77 100644 --- a/src/Merge.Client/Accounting/Types/Employee.cs +++ b/src/Merge.Client/Accounting/Types/Employee.cs @@ -1,11 +1,23 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Accounting; +/// +/// # The Employee Object +/// ### Description +/// An `Employee` is an individual who works for the company of the linked account. The `Employee` model contains both contractors and full time employees. +/// * An `Employee` is a contractor if `is_contractor` property is `True` +/// * An `Employee` is a full time employee if `is_contractor` property is `False` +/// +/// ### Usage Example +/// Fetch from the `LIST Employees` endpoint and view a company's employees. +/// public record Employee { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -18,12 +30,14 @@ public record Employee /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -61,13 +75,13 @@ public record Employee /// The subsidiary that the employee belongs to. /// [JsonPropertyName("company")] - public OneOf? Company { get; set; } + public OneOf? Company { get; set; } /// /// The employee's status in the accounting system. /// - /// - `ACTIVE` - ACTIVE - /// - `INACTIVE` - INACTIVE + /// * `ACTIVE` - ACTIVE + /// * `INACTIVE` - INACTIVE /// [JsonPropertyName("status")] public required Status895Enum Status { get; set; } @@ -75,15 +89,29 @@ public record Employee /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/ErrorValidationProblem.cs b/src/Merge.Client/Accounting/Types/ErrorValidationProblem.cs index f1e1bc5e..4daeb8ca 100644 --- a/src/Merge.Client/Accounting/Types/ErrorValidationProblem.cs +++ b/src/Merge.Client/Accounting/Types/ErrorValidationProblem.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -17,6 +18,17 @@ public record ErrorValidationProblem [JsonPropertyName("problem_type")] public required string ProblemType { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/EventTypeEnum.cs b/src/Merge.Client/Accounting/Types/EventTypeEnum.cs index 5537f7fd..059285ce 100644 --- a/src/Merge.Client/Accounting/Types/EventTypeEnum.cs +++ b/src/Merge.Client/Accounting/Types/EventTypeEnum.cs @@ -34,6 +34,9 @@ public enum EventTypeEnum [EnumMember(Value = "DELETED_LINKED_ACCOUNT")] DeletedLinkedAccount, + [EnumMember(Value = "DELETED_ALL_COMMON_MODELS_FOR_LINKED_ACCOUNT")] + DeletedAllCommonModelsForLinkedAccount, + [EnumMember(Value = "CREATED_DESTINATION")] CreatedDestination, diff --git a/src/Merge.Client/Accounting/Types/Expense.cs b/src/Merge.Client/Accounting/Types/Expense.cs index ad765441..9dec2a42 100644 --- a/src/Merge.Client/Accounting/Types/Expense.cs +++ b/src/Merge.Client/Accounting/Types/Expense.cs @@ -1,11 +1,23 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Accounting; +/// +/// # The Expense Object +/// ### Description +/// The `Expense` object is used to represent a direct purchase by a business, typically made with a check, credit card, or cash. Each `Expense` object is dedicated to a grouping of expenses, with each expense recorded in the lines object. +/// +/// The `Expense` object is used also used to represent refunds to direct purchases. Refunds can be distinguished from purchases by the amount sign of the records. Expense objects with a negative amount are purchases and `Expense` objects with a positive amount are refunds to those purchases. +/// +/// ### Usage Example +/// Fetch from the `GET Expense` endpoint and view a company's expense. +/// public record Expense { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -18,12 +30,14 @@ public record Expense /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -72,312 +86,312 @@ public record Expense /// /// The expense's currency. /// - /// - `XUA` - ADB Unit of Account - /// - `AFN` - Afghan Afghani - /// - `AFA` - Afghan Afghani (1927–2002) - /// - `ALL` - Albanian Lek - /// - `ALK` - Albanian Lek (1946–1965) - /// - `DZD` - Algerian Dinar - /// - `ADP` - Andorran Peseta - /// - `AOA` - Angolan Kwanza - /// - `AOK` - Angolan Kwanza (1977–1991) - /// - `AON` - Angolan New Kwanza (1990–2000) - /// - `AOR` - Angolan Readjusted Kwanza (1995–1999) - /// - `ARA` - Argentine Austral - /// - `ARS` - Argentine Peso - /// - `ARM` - Argentine Peso (1881–1970) - /// - `ARP` - Argentine Peso (1983–1985) - /// - `ARL` - Argentine Peso Ley (1970–1983) - /// - `AMD` - Armenian Dram - /// - `AWG` - Aruban Florin - /// - `AUD` - Australian Dollar - /// - `ATS` - Austrian Schilling - /// - `AZN` - Azerbaijani Manat - /// - `AZM` - Azerbaijani Manat (1993–2006) - /// - `BSD` - Bahamian Dollar - /// - `BHD` - Bahraini Dinar - /// - `BDT` - Bangladeshi Taka - /// - `BBD` - Barbadian Dollar - /// - `BYN` - Belarusian Ruble - /// - `BYB` - Belarusian Ruble (1994–1999) - /// - `BYR` - Belarusian Ruble (2000–2016) - /// - `BEF` - Belgian Franc - /// - `BEC` - Belgian Franc (convertible) - /// - `BEL` - Belgian Franc (financial) - /// - `BZD` - Belize Dollar - /// - `BMD` - Bermudan Dollar - /// - `BTN` - Bhutanese Ngultrum - /// - `BOB` - Bolivian Boliviano - /// - `BOL` - Bolivian Boliviano (1863–1963) - /// - `BOV` - Bolivian Mvdol - /// - `BOP` - Bolivian Peso - /// - `BAM` - Bosnia-Herzegovina Convertible Mark - /// - `BAD` - Bosnia-Herzegovina Dinar (1992–1994) - /// - `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) - /// - `BWP` - Botswanan Pula - /// - `BRC` - Brazilian Cruzado (1986–1989) - /// - `BRZ` - Brazilian Cruzeiro (1942–1967) - /// - `BRE` - Brazilian Cruzeiro (1990–1993) - /// - `BRR` - Brazilian Cruzeiro (1993–1994) - /// - `BRN` - Brazilian New Cruzado (1989–1990) - /// - `BRB` - Brazilian New Cruzeiro (1967–1986) - /// - `BRL` - Brazilian Real - /// - `GBP` - British Pound - /// - `BND` - Brunei Dollar - /// - `BGL` - Bulgarian Hard Lev - /// - `BGN` - Bulgarian Lev - /// - `BGO` - Bulgarian Lev (1879–1952) - /// - `BGM` - Bulgarian Socialist Lev - /// - `BUK` - Burmese Kyat - /// - `BIF` - Burundian Franc - /// - `XPF` - CFP Franc - /// - `KHR` - Cambodian Riel - /// - `CAD` - Canadian Dollar - /// - `CVE` - Cape Verdean Escudo - /// - `KYD` - Cayman Islands Dollar - /// - `XAF` - Central African CFA Franc - /// - `CLE` - Chilean Escudo - /// - `CLP` - Chilean Peso - /// - `CLF` - Chilean Unit of Account (UF) - /// - `CNX` - Chinese People’s Bank Dollar - /// - `CNY` - Chinese Yuan - /// - `CNH` - Chinese Yuan (offshore) - /// - `COP` - Colombian Peso - /// - `COU` - Colombian Real Value Unit - /// - `KMF` - Comorian Franc - /// - `CDF` - Congolese Franc - /// - `CRC` - Costa Rican Colón - /// - `HRD` - Croatian Dinar - /// - `HRK` - Croatian Kuna - /// - `CUC` - Cuban Convertible Peso - /// - `CUP` - Cuban Peso - /// - `CYP` - Cypriot Pound - /// - `CZK` - Czech Koruna - /// - `CSK` - Czechoslovak Hard Koruna - /// - `DKK` - Danish Krone - /// - `DJF` - Djiboutian Franc - /// - `DOP` - Dominican Peso - /// - `NLG` - Dutch Guilder - /// - `XCD` - East Caribbean Dollar - /// - `DDM` - East German Mark - /// - `ECS` - Ecuadorian Sucre - /// - `ECV` - Ecuadorian Unit of Constant Value - /// - `EGP` - Egyptian Pound - /// - `GQE` - Equatorial Guinean Ekwele - /// - `ERN` - Eritrean Nakfa - /// - `EEK` - Estonian Kroon - /// - `ETB` - Ethiopian Birr - /// - `EUR` - Euro - /// - `XBA` - European Composite Unit - /// - `XEU` - European Currency Unit - /// - `XBB` - European Monetary Unit - /// - `XBC` - European Unit of Account (XBC) - /// - `XBD` - European Unit of Account (XBD) - /// - `FKP` - Falkland Islands Pound - /// - `FJD` - Fijian Dollar - /// - `FIM` - Finnish Markka - /// - `FRF` - French Franc - /// - `XFO` - French Gold Franc - /// - `XFU` - French UIC-Franc - /// - `GMD` - Gambian Dalasi - /// - `GEK` - Georgian Kupon Larit - /// - `GEL` - Georgian Lari - /// - `DEM` - German Mark - /// - `GHS` - Ghanaian Cedi - /// - `GHC` - Ghanaian Cedi (1979–2007) - /// - `GIP` - Gibraltar Pound - /// - `XAU` - Gold - /// - `GRD` - Greek Drachma - /// - `GTQ` - Guatemalan Quetzal - /// - `GWP` - Guinea-Bissau Peso - /// - `GNF` - Guinean Franc - /// - `GNS` - Guinean Syli - /// - `GYD` - Guyanaese Dollar - /// - `HTG` - Haitian Gourde - /// - `HNL` - Honduran Lempira - /// - `HKD` - Hong Kong Dollar - /// - `HUF` - Hungarian Forint - /// - `IMP` - IMP - /// - `ISK` - Icelandic Króna - /// - `ISJ` - Icelandic Króna (1918–1981) - /// - `INR` - Indian Rupee - /// - `IDR` - Indonesian Rupiah - /// - `IRR` - Iranian Rial - /// - `IQD` - Iraqi Dinar - /// - `IEP` - Irish Pound - /// - `ILS` - Israeli New Shekel - /// - `ILP` - Israeli Pound - /// - `ILR` - Israeli Shekel (1980–1985) - /// - `ITL` - Italian Lira - /// - `JMD` - Jamaican Dollar - /// - `JPY` - Japanese Yen - /// - `JOD` - Jordanian Dinar - /// - `KZT` - Kazakhstani Tenge - /// - `KES` - Kenyan Shilling - /// - `KWD` - Kuwaiti Dinar - /// - `KGS` - Kyrgystani Som - /// - `LAK` - Laotian Kip - /// - `LVL` - Latvian Lats - /// - `LVR` - Latvian Ruble - /// - `LBP` - Lebanese Pound - /// - `LSL` - Lesotho Loti - /// - `LRD` - Liberian Dollar - /// - `LYD` - Libyan Dinar - /// - `LTL` - Lithuanian Litas - /// - `LTT` - Lithuanian Talonas - /// - `LUL` - Luxembourg Financial Franc - /// - `LUC` - Luxembourgian Convertible Franc - /// - `LUF` - Luxembourgian Franc - /// - `MOP` - Macanese Pataca - /// - `MKD` - Macedonian Denar - /// - `MKN` - Macedonian Denar (1992–1993) - /// - `MGA` - Malagasy Ariary - /// - `MGF` - Malagasy Franc - /// - `MWK` - Malawian Kwacha - /// - `MYR` - Malaysian Ringgit - /// - `MVR` - Maldivian Rufiyaa - /// - `MVP` - Maldivian Rupee (1947–1981) - /// - `MLF` - Malian Franc - /// - `MTL` - Maltese Lira - /// - `MTP` - Maltese Pound - /// - `MRU` - Mauritanian Ouguiya - /// - `MRO` - Mauritanian Ouguiya (1973–2017) - /// - `MUR` - Mauritian Rupee - /// - `MXV` - Mexican Investment Unit - /// - `MXN` - Mexican Peso - /// - `MXP` - Mexican Silver Peso (1861–1992) - /// - `MDC` - Moldovan Cupon - /// - `MDL` - Moldovan Leu - /// - `MCF` - Monegasque Franc - /// - `MNT` - Mongolian Tugrik - /// - `MAD` - Moroccan Dirham - /// - `MAF` - Moroccan Franc - /// - `MZE` - Mozambican Escudo - /// - `MZN` - Mozambican Metical - /// - `MZM` - Mozambican Metical (1980–2006) - /// - `MMK` - Myanmar Kyat - /// - `NAD` - Namibian Dollar - /// - `NPR` - Nepalese Rupee - /// - `ANG` - Netherlands Antillean Guilder - /// - `TWD` - New Taiwan Dollar - /// - `NZD` - New Zealand Dollar - /// - `NIO` - Nicaraguan Córdoba - /// - `NIC` - Nicaraguan Córdoba (1988–1991) - /// - `NGN` - Nigerian Naira - /// - `KPW` - North Korean Won - /// - `NOK` - Norwegian Krone - /// - `OMR` - Omani Rial - /// - `PKR` - Pakistani Rupee - /// - `XPD` - Palladium - /// - `PAB` - Panamanian Balboa - /// - `PGK` - Papua New Guinean Kina - /// - `PYG` - Paraguayan Guarani - /// - `PEI` - Peruvian Inti - /// - `PEN` - Peruvian Sol - /// - `PES` - Peruvian Sol (1863–1965) - /// - `PHP` - Philippine Peso - /// - `XPT` - Platinum - /// - `PLN` - Polish Zloty - /// - `PLZ` - Polish Zloty (1950–1995) - /// - `PTE` - Portuguese Escudo - /// - `GWE` - Portuguese Guinea Escudo - /// - `QAR` - Qatari Rial - /// - `XRE` - RINET Funds - /// - `RHD` - Rhodesian Dollar - /// - `RON` - Romanian Leu - /// - `ROL` - Romanian Leu (1952–2006) - /// - `RUB` - Russian Ruble - /// - `RUR` - Russian Ruble (1991–1998) - /// - `RWF` - Rwandan Franc - /// - `SVC` - Salvadoran Colón - /// - `WST` - Samoan Tala - /// - `SAR` - Saudi Riyal - /// - `RSD` - Serbian Dinar - /// - `CSD` - Serbian Dinar (2002–2006) - /// - `SCR` - Seychellois Rupee - /// - `SLL` - Sierra Leonean Leone - /// - `XAG` - Silver - /// - `SGD` - Singapore Dollar - /// - `SKK` - Slovak Koruna - /// - `SIT` - Slovenian Tolar - /// - `SBD` - Solomon Islands Dollar - /// - `SOS` - Somali Shilling - /// - `ZAR` - South African Rand - /// - `ZAL` - South African Rand (financial) - /// - `KRH` - South Korean Hwan (1953–1962) - /// - `KRW` - South Korean Won - /// - `KRO` - South Korean Won (1945–1953) - /// - `SSP` - South Sudanese Pound - /// - `SUR` - Soviet Rouble - /// - `ESP` - Spanish Peseta - /// - `ESA` - Spanish Peseta (A account) - /// - `ESB` - Spanish Peseta (convertible account) - /// - `XDR` - Special Drawing Rights - /// - `LKR` - Sri Lankan Rupee - /// - `SHP` - St. Helena Pound - /// - `XSU` - Sucre - /// - `SDD` - Sudanese Dinar (1992–2007) - /// - `SDG` - Sudanese Pound - /// - `SDP` - Sudanese Pound (1957–1998) - /// - `SRD` - Surinamese Dollar - /// - `SRG` - Surinamese Guilder - /// - `SZL` - Swazi Lilangeni - /// - `SEK` - Swedish Krona - /// - `CHF` - Swiss Franc - /// - `SYP` - Syrian Pound - /// - `STN` - São Tomé & Príncipe Dobra - /// - `STD` - São Tomé & Príncipe Dobra (1977–2017) - /// - `TVD` - TVD - /// - `TJR` - Tajikistani Ruble - /// - `TJS` - Tajikistani Somoni - /// - `TZS` - Tanzanian Shilling - /// - `XTS` - Testing Currency Code - /// - `THB` - Thai Baht - /// - `XXX` - The codes assigned for transactions where no currency is involved - /// - `TPE` - Timorese Escudo - /// - `TOP` - Tongan Paʻanga - /// - `TTD` - Trinidad & Tobago Dollar - /// - `TND` - Tunisian Dinar - /// - `TRY` - Turkish Lira - /// - `TRL` - Turkish Lira (1922–2005) - /// - `TMT` - Turkmenistani Manat - /// - `TMM` - Turkmenistani Manat (1993–2009) - /// - `USD` - US Dollar - /// - `USN` - US Dollar (Next day) - /// - `USS` - US Dollar (Same day) - /// - `UGX` - Ugandan Shilling - /// - `UGS` - Ugandan Shilling (1966–1987) - /// - `UAH` - Ukrainian Hryvnia - /// - `UAK` - Ukrainian Karbovanets - /// - `AED` - United Arab Emirates Dirham - /// - `UYW` - Uruguayan Nominal Wage Index Unit - /// - `UYU` - Uruguayan Peso - /// - `UYP` - Uruguayan Peso (1975–1993) - /// - `UYI` - Uruguayan Peso (Indexed Units) - /// - `UZS` - Uzbekistani Som - /// - `VUV` - Vanuatu Vatu - /// - `VES` - Venezuelan Bolívar - /// - `VEB` - Venezuelan Bolívar (1871–2008) - /// - `VEF` - Venezuelan Bolívar (2008–2018) - /// - `VND` - Vietnamese Dong - /// - `VNN` - Vietnamese Dong (1978–1985) - /// - `CHE` - WIR Euro - /// - `CHW` - WIR Franc - /// - `XOF` - West African CFA Franc - /// - `YDD` - Yemeni Dinar - /// - `YER` - Yemeni Rial - /// - `YUN` - Yugoslavian Convertible Dinar (1990–1992) - /// - `YUD` - Yugoslavian Hard Dinar (1966–1990) - /// - `YUM` - Yugoslavian New Dinar (1994–2002) - /// - `YUR` - Yugoslavian Reformed Dinar (1992–1993) - /// - `ZWN` - ZWN - /// - `ZRN` - Zairean New Zaire (1993–1998) - /// - `ZRZ` - Zairean Zaire (1971–1993) - /// - `ZMW` - Zambian Kwacha - /// - `ZMK` - Zambian Kwacha (1968–2012) - /// - `ZWD` - Zimbabwean Dollar (1980–2008) - /// - `ZWR` - Zimbabwean Dollar (2008) - /// - `ZWL` - Zimbabwean Dollar (2009) + /// * `XUA` - ADB Unit of Account + /// * `AFN` - Afghan Afghani + /// * `AFA` - Afghan Afghani (1927–2002) + /// * `ALL` - Albanian Lek + /// * `ALK` - Albanian Lek (1946–1965) + /// * `DZD` - Algerian Dinar + /// * `ADP` - Andorran Peseta + /// * `AOA` - Angolan Kwanza + /// * `AOK` - Angolan Kwanza (1977–1991) + /// * `AON` - Angolan New Kwanza (1990–2000) + /// * `AOR` - Angolan Readjusted Kwanza (1995–1999) + /// * `ARA` - Argentine Austral + /// * `ARS` - Argentine Peso + /// * `ARM` - Argentine Peso (1881–1970) + /// * `ARP` - Argentine Peso (1983–1985) + /// * `ARL` - Argentine Peso Ley (1970–1983) + /// * `AMD` - Armenian Dram + /// * `AWG` - Aruban Florin + /// * `AUD` - Australian Dollar + /// * `ATS` - Austrian Schilling + /// * `AZN` - Azerbaijani Manat + /// * `AZM` - Azerbaijani Manat (1993–2006) + /// * `BSD` - Bahamian Dollar + /// * `BHD` - Bahraini Dinar + /// * `BDT` - Bangladeshi Taka + /// * `BBD` - Barbadian Dollar + /// * `BYN` - Belarusian Ruble + /// * `BYB` - Belarusian Ruble (1994–1999) + /// * `BYR` - Belarusian Ruble (2000–2016) + /// * `BEF` - Belgian Franc + /// * `BEC` - Belgian Franc (convertible) + /// * `BEL` - Belgian Franc (financial) + /// * `BZD` - Belize Dollar + /// * `BMD` - Bermudan Dollar + /// * `BTN` - Bhutanese Ngultrum + /// * `BOB` - Bolivian Boliviano + /// * `BOL` - Bolivian Boliviano (1863–1963) + /// * `BOV` - Bolivian Mvdol + /// * `BOP` - Bolivian Peso + /// * `BAM` - Bosnia-Herzegovina Convertible Mark + /// * `BAD` - Bosnia-Herzegovina Dinar (1992–1994) + /// * `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) + /// * `BWP` - Botswanan Pula + /// * `BRC` - Brazilian Cruzado (1986–1989) + /// * `BRZ` - Brazilian Cruzeiro (1942–1967) + /// * `BRE` - Brazilian Cruzeiro (1990–1993) + /// * `BRR` - Brazilian Cruzeiro (1993–1994) + /// * `BRN` - Brazilian New Cruzado (1989–1990) + /// * `BRB` - Brazilian New Cruzeiro (1967–1986) + /// * `BRL` - Brazilian Real + /// * `GBP` - British Pound + /// * `BND` - Brunei Dollar + /// * `BGL` - Bulgarian Hard Lev + /// * `BGN` - Bulgarian Lev + /// * `BGO` - Bulgarian Lev (1879–1952) + /// * `BGM` - Bulgarian Socialist Lev + /// * `BUK` - Burmese Kyat + /// * `BIF` - Burundian Franc + /// * `XPF` - CFP Franc + /// * `KHR` - Cambodian Riel + /// * `CAD` - Canadian Dollar + /// * `CVE` - Cape Verdean Escudo + /// * `KYD` - Cayman Islands Dollar + /// * `XAF` - Central African CFA Franc + /// * `CLE` - Chilean Escudo + /// * `CLP` - Chilean Peso + /// * `CLF` - Chilean Unit of Account (UF) + /// * `CNX` - Chinese People’s Bank Dollar + /// * `CNY` - Chinese Yuan + /// * `CNH` - Chinese Yuan (offshore) + /// * `COP` - Colombian Peso + /// * `COU` - Colombian Real Value Unit + /// * `KMF` - Comorian Franc + /// * `CDF` - Congolese Franc + /// * `CRC` - Costa Rican Colón + /// * `HRD` - Croatian Dinar + /// * `HRK` - Croatian Kuna + /// * `CUC` - Cuban Convertible Peso + /// * `CUP` - Cuban Peso + /// * `CYP` - Cypriot Pound + /// * `CZK` - Czech Koruna + /// * `CSK` - Czechoslovak Hard Koruna + /// * `DKK` - Danish Krone + /// * `DJF` - Djiboutian Franc + /// * `DOP` - Dominican Peso + /// * `NLG` - Dutch Guilder + /// * `XCD` - East Caribbean Dollar + /// * `DDM` - East German Mark + /// * `ECS` - Ecuadorian Sucre + /// * `ECV` - Ecuadorian Unit of Constant Value + /// * `EGP` - Egyptian Pound + /// * `GQE` - Equatorial Guinean Ekwele + /// * `ERN` - Eritrean Nakfa + /// * `EEK` - Estonian Kroon + /// * `ETB` - Ethiopian Birr + /// * `EUR` - Euro + /// * `XBA` - European Composite Unit + /// * `XEU` - European Currency Unit + /// * `XBB` - European Monetary Unit + /// * `XBC` - European Unit of Account (XBC) + /// * `XBD` - European Unit of Account (XBD) + /// * `FKP` - Falkland Islands Pound + /// * `FJD` - Fijian Dollar + /// * `FIM` - Finnish Markka + /// * `FRF` - French Franc + /// * `XFO` - French Gold Franc + /// * `XFU` - French UIC-Franc + /// * `GMD` - Gambian Dalasi + /// * `GEK` - Georgian Kupon Larit + /// * `GEL` - Georgian Lari + /// * `DEM` - German Mark + /// * `GHS` - Ghanaian Cedi + /// * `GHC` - Ghanaian Cedi (1979–2007) + /// * `GIP` - Gibraltar Pound + /// * `XAU` - Gold + /// * `GRD` - Greek Drachma + /// * `GTQ` - Guatemalan Quetzal + /// * `GWP` - Guinea-Bissau Peso + /// * `GNF` - Guinean Franc + /// * `GNS` - Guinean Syli + /// * `GYD` - Guyanaese Dollar + /// * `HTG` - Haitian Gourde + /// * `HNL` - Honduran Lempira + /// * `HKD` - Hong Kong Dollar + /// * `HUF` - Hungarian Forint + /// * `IMP` - IMP + /// * `ISK` - Icelandic Króna + /// * `ISJ` - Icelandic Króna (1918–1981) + /// * `INR` - Indian Rupee + /// * `IDR` - Indonesian Rupiah + /// * `IRR` - Iranian Rial + /// * `IQD` - Iraqi Dinar + /// * `IEP` - Irish Pound + /// * `ILS` - Israeli New Shekel + /// * `ILP` - Israeli Pound + /// * `ILR` - Israeli Shekel (1980–1985) + /// * `ITL` - Italian Lira + /// * `JMD` - Jamaican Dollar + /// * `JPY` - Japanese Yen + /// * `JOD` - Jordanian Dinar + /// * `KZT` - Kazakhstani Tenge + /// * `KES` - Kenyan Shilling + /// * `KWD` - Kuwaiti Dinar + /// * `KGS` - Kyrgystani Som + /// * `LAK` - Laotian Kip + /// * `LVL` - Latvian Lats + /// * `LVR` - Latvian Ruble + /// * `LBP` - Lebanese Pound + /// * `LSL` - Lesotho Loti + /// * `LRD` - Liberian Dollar + /// * `LYD` - Libyan Dinar + /// * `LTL` - Lithuanian Litas + /// * `LTT` - Lithuanian Talonas + /// * `LUL` - Luxembourg Financial Franc + /// * `LUC` - Luxembourgian Convertible Franc + /// * `LUF` - Luxembourgian Franc + /// * `MOP` - Macanese Pataca + /// * `MKD` - Macedonian Denar + /// * `MKN` - Macedonian Denar (1992–1993) + /// * `MGA` - Malagasy Ariary + /// * `MGF` - Malagasy Franc + /// * `MWK` - Malawian Kwacha + /// * `MYR` - Malaysian Ringgit + /// * `MVR` - Maldivian Rufiyaa + /// * `MVP` - Maldivian Rupee (1947–1981) + /// * `MLF` - Malian Franc + /// * `MTL` - Maltese Lira + /// * `MTP` - Maltese Pound + /// * `MRU` - Mauritanian Ouguiya + /// * `MRO` - Mauritanian Ouguiya (1973–2017) + /// * `MUR` - Mauritian Rupee + /// * `MXV` - Mexican Investment Unit + /// * `MXN` - Mexican Peso + /// * `MXP` - Mexican Silver Peso (1861–1992) + /// * `MDC` - Moldovan Cupon + /// * `MDL` - Moldovan Leu + /// * `MCF` - Monegasque Franc + /// * `MNT` - Mongolian Tugrik + /// * `MAD` - Moroccan Dirham + /// * `MAF` - Moroccan Franc + /// * `MZE` - Mozambican Escudo + /// * `MZN` - Mozambican Metical + /// * `MZM` - Mozambican Metical (1980–2006) + /// * `MMK` - Myanmar Kyat + /// * `NAD` - Namibian Dollar + /// * `NPR` - Nepalese Rupee + /// * `ANG` - Netherlands Antillean Guilder + /// * `TWD` - New Taiwan Dollar + /// * `NZD` - New Zealand Dollar + /// * `NIO` - Nicaraguan Córdoba + /// * `NIC` - Nicaraguan Córdoba (1988–1991) + /// * `NGN` - Nigerian Naira + /// * `KPW` - North Korean Won + /// * `NOK` - Norwegian Krone + /// * `OMR` - Omani Rial + /// * `PKR` - Pakistani Rupee + /// * `XPD` - Palladium + /// * `PAB` - Panamanian Balboa + /// * `PGK` - Papua New Guinean Kina + /// * `PYG` - Paraguayan Guarani + /// * `PEI` - Peruvian Inti + /// * `PEN` - Peruvian Sol + /// * `PES` - Peruvian Sol (1863–1965) + /// * `PHP` - Philippine Peso + /// * `XPT` - Platinum + /// * `PLN` - Polish Zloty + /// * `PLZ` - Polish Zloty (1950–1995) + /// * `PTE` - Portuguese Escudo + /// * `GWE` - Portuguese Guinea Escudo + /// * `QAR` - Qatari Rial + /// * `XRE` - RINET Funds + /// * `RHD` - Rhodesian Dollar + /// * `RON` - Romanian Leu + /// * `ROL` - Romanian Leu (1952–2006) + /// * `RUB` - Russian Ruble + /// * `RUR` - Russian Ruble (1991–1998) + /// * `RWF` - Rwandan Franc + /// * `SVC` - Salvadoran Colón + /// * `WST` - Samoan Tala + /// * `SAR` - Saudi Riyal + /// * `RSD` - Serbian Dinar + /// * `CSD` - Serbian Dinar (2002–2006) + /// * `SCR` - Seychellois Rupee + /// * `SLL` - Sierra Leonean Leone + /// * `XAG` - Silver + /// * `SGD` - Singapore Dollar + /// * `SKK` - Slovak Koruna + /// * `SIT` - Slovenian Tolar + /// * `SBD` - Solomon Islands Dollar + /// * `SOS` - Somali Shilling + /// * `ZAR` - South African Rand + /// * `ZAL` - South African Rand (financial) + /// * `KRH` - South Korean Hwan (1953–1962) + /// * `KRW` - South Korean Won + /// * `KRO` - South Korean Won (1945–1953) + /// * `SSP` - South Sudanese Pound + /// * `SUR` - Soviet Rouble + /// * `ESP` - Spanish Peseta + /// * `ESA` - Spanish Peseta (A account) + /// * `ESB` - Spanish Peseta (convertible account) + /// * `XDR` - Special Drawing Rights + /// * `LKR` - Sri Lankan Rupee + /// * `SHP` - St. Helena Pound + /// * `XSU` - Sucre + /// * `SDD` - Sudanese Dinar (1992–2007) + /// * `SDG` - Sudanese Pound + /// * `SDP` - Sudanese Pound (1957–1998) + /// * `SRD` - Surinamese Dollar + /// * `SRG` - Surinamese Guilder + /// * `SZL` - Swazi Lilangeni + /// * `SEK` - Swedish Krona + /// * `CHF` - Swiss Franc + /// * `SYP` - Syrian Pound + /// * `STN` - São Tomé & Príncipe Dobra + /// * `STD` - São Tomé & Príncipe Dobra (1977–2017) + /// * `TVD` - TVD + /// * `TJR` - Tajikistani Ruble + /// * `TJS` - Tajikistani Somoni + /// * `TZS` - Tanzanian Shilling + /// * `XTS` - Testing Currency Code + /// * `THB` - Thai Baht + /// * `XXX` - The codes assigned for transactions where no currency is involved + /// * `TPE` - Timorese Escudo + /// * `TOP` - Tongan Paʻanga + /// * `TTD` - Trinidad & Tobago Dollar + /// * `TND` - Tunisian Dinar + /// * `TRY` - Turkish Lira + /// * `TRL` - Turkish Lira (1922–2005) + /// * `TMT` - Turkmenistani Manat + /// * `TMM` - Turkmenistani Manat (1993–2009) + /// * `USD` - US Dollar + /// * `USN` - US Dollar (Next day) + /// * `USS` - US Dollar (Same day) + /// * `UGX` - Ugandan Shilling + /// * `UGS` - Ugandan Shilling (1966–1987) + /// * `UAH` - Ukrainian Hryvnia + /// * `UAK` - Ukrainian Karbovanets + /// * `AED` - United Arab Emirates Dirham + /// * `UYW` - Uruguayan Nominal Wage Index Unit + /// * `UYU` - Uruguayan Peso + /// * `UYP` - Uruguayan Peso (1975–1993) + /// * `UYI` - Uruguayan Peso (Indexed Units) + /// * `UZS` - Uzbekistani Som + /// * `VUV` - Vanuatu Vatu + /// * `VES` - Venezuelan Bolívar + /// * `VEB` - Venezuelan Bolívar (1871–2008) + /// * `VEF` - Venezuelan Bolívar (2008–2018) + /// * `VND` - Vietnamese Dong + /// * `VNN` - Vietnamese Dong (1978–1985) + /// * `CHE` - WIR Euro + /// * `CHW` - WIR Franc + /// * `XOF` - West African CFA Franc + /// * `YDD` - Yemeni Dinar + /// * `YER` - Yemeni Rial + /// * `YUN` - Yugoslavian Convertible Dinar (1990–1992) + /// * `YUD` - Yugoslavian Hard Dinar (1966–1990) + /// * `YUM` - Yugoslavian New Dinar (1994–2002) + /// * `YUR` - Yugoslavian Reformed Dinar (1992–1993) + /// * `ZWN` - ZWN + /// * `ZRN` - Zairean New Zaire (1993–1998) + /// * `ZRZ` - Zairean Zaire (1971–1993) + /// * `ZMW` - Zambian Kwacha + /// * `ZMK` - Zambian Kwacha (1968–2012) + /// * `ZWD` - Zimbabwean Dollar (1980–2008) + /// * `ZWR` - Zimbabwean Dollar (2008) + /// * `ZWL` - Zimbabwean Dollar (2009) /// [JsonPropertyName("currency")] public TransactionCurrencyEnum? Currency { get; set; } @@ -421,6 +435,7 @@ public record Expense /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } @@ -430,15 +445,29 @@ public record Expense [JsonPropertyName("accounting_period")] public OneOf? AccountingPeriod { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_fields")] public IEnumerable? RemoteFields { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/ExpenseLine.cs b/src/Merge.Client/Accounting/Types/ExpenseLine.cs index f90b6061..7f6af7e3 100644 --- a/src/Merge.Client/Accounting/Types/ExpenseLine.cs +++ b/src/Merge.Client/Accounting/Types/ExpenseLine.cs @@ -1,11 +1,21 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Accounting; +/// +/// # The ExpenseLine Object +/// ### Description +/// The `ExpenseLine` object is used to represent an expense's line items. +/// +/// ### Usage Example +/// Fetch from the `GET Expense` endpoint and view the expense's line items. +/// public record ExpenseLine { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -18,12 +28,14 @@ public record ExpenseLine /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -63,312 +75,312 @@ public record ExpenseLine /// /// The expense line item's currency. /// - /// - `XUA` - ADB Unit of Account - /// - `AFN` - Afghan Afghani - /// - `AFA` - Afghan Afghani (1927–2002) - /// - `ALL` - Albanian Lek - /// - `ALK` - Albanian Lek (1946–1965) - /// - `DZD` - Algerian Dinar - /// - `ADP` - Andorran Peseta - /// - `AOA` - Angolan Kwanza - /// - `AOK` - Angolan Kwanza (1977–1991) - /// - `AON` - Angolan New Kwanza (1990–2000) - /// - `AOR` - Angolan Readjusted Kwanza (1995–1999) - /// - `ARA` - Argentine Austral - /// - `ARS` - Argentine Peso - /// - `ARM` - Argentine Peso (1881–1970) - /// - `ARP` - Argentine Peso (1983–1985) - /// - `ARL` - Argentine Peso Ley (1970–1983) - /// - `AMD` - Armenian Dram - /// - `AWG` - Aruban Florin - /// - `AUD` - Australian Dollar - /// - `ATS` - Austrian Schilling - /// - `AZN` - Azerbaijani Manat - /// - `AZM` - Azerbaijani Manat (1993–2006) - /// - `BSD` - Bahamian Dollar - /// - `BHD` - Bahraini Dinar - /// - `BDT` - Bangladeshi Taka - /// - `BBD` - Barbadian Dollar - /// - `BYN` - Belarusian Ruble - /// - `BYB` - Belarusian Ruble (1994–1999) - /// - `BYR` - Belarusian Ruble (2000–2016) - /// - `BEF` - Belgian Franc - /// - `BEC` - Belgian Franc (convertible) - /// - `BEL` - Belgian Franc (financial) - /// - `BZD` - Belize Dollar - /// - `BMD` - Bermudan Dollar - /// - `BTN` - Bhutanese Ngultrum - /// - `BOB` - Bolivian Boliviano - /// - `BOL` - Bolivian Boliviano (1863–1963) - /// - `BOV` - Bolivian Mvdol - /// - `BOP` - Bolivian Peso - /// - `BAM` - Bosnia-Herzegovina Convertible Mark - /// - `BAD` - Bosnia-Herzegovina Dinar (1992–1994) - /// - `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) - /// - `BWP` - Botswanan Pula - /// - `BRC` - Brazilian Cruzado (1986–1989) - /// - `BRZ` - Brazilian Cruzeiro (1942–1967) - /// - `BRE` - Brazilian Cruzeiro (1990–1993) - /// - `BRR` - Brazilian Cruzeiro (1993–1994) - /// - `BRN` - Brazilian New Cruzado (1989–1990) - /// - `BRB` - Brazilian New Cruzeiro (1967–1986) - /// - `BRL` - Brazilian Real - /// - `GBP` - British Pound - /// - `BND` - Brunei Dollar - /// - `BGL` - Bulgarian Hard Lev - /// - `BGN` - Bulgarian Lev - /// - `BGO` - Bulgarian Lev (1879–1952) - /// - `BGM` - Bulgarian Socialist Lev - /// - `BUK` - Burmese Kyat - /// - `BIF` - Burundian Franc - /// - `XPF` - CFP Franc - /// - `KHR` - Cambodian Riel - /// - `CAD` - Canadian Dollar - /// - `CVE` - Cape Verdean Escudo - /// - `KYD` - Cayman Islands Dollar - /// - `XAF` - Central African CFA Franc - /// - `CLE` - Chilean Escudo - /// - `CLP` - Chilean Peso - /// - `CLF` - Chilean Unit of Account (UF) - /// - `CNX` - Chinese People’s Bank Dollar - /// - `CNY` - Chinese Yuan - /// - `CNH` - Chinese Yuan (offshore) - /// - `COP` - Colombian Peso - /// - `COU` - Colombian Real Value Unit - /// - `KMF` - Comorian Franc - /// - `CDF` - Congolese Franc - /// - `CRC` - Costa Rican Colón - /// - `HRD` - Croatian Dinar - /// - `HRK` - Croatian Kuna - /// - `CUC` - Cuban Convertible Peso - /// - `CUP` - Cuban Peso - /// - `CYP` - Cypriot Pound - /// - `CZK` - Czech Koruna - /// - `CSK` - Czechoslovak Hard Koruna - /// - `DKK` - Danish Krone - /// - `DJF` - Djiboutian Franc - /// - `DOP` - Dominican Peso - /// - `NLG` - Dutch Guilder - /// - `XCD` - East Caribbean Dollar - /// - `DDM` - East German Mark - /// - `ECS` - Ecuadorian Sucre - /// - `ECV` - Ecuadorian Unit of Constant Value - /// - `EGP` - Egyptian Pound - /// - `GQE` - Equatorial Guinean Ekwele - /// - `ERN` - Eritrean Nakfa - /// - `EEK` - Estonian Kroon - /// - `ETB` - Ethiopian Birr - /// - `EUR` - Euro - /// - `XBA` - European Composite Unit - /// - `XEU` - European Currency Unit - /// - `XBB` - European Monetary Unit - /// - `XBC` - European Unit of Account (XBC) - /// - `XBD` - European Unit of Account (XBD) - /// - `FKP` - Falkland Islands Pound - /// - `FJD` - Fijian Dollar - /// - `FIM` - Finnish Markka - /// - `FRF` - French Franc - /// - `XFO` - French Gold Franc - /// - `XFU` - French UIC-Franc - /// - `GMD` - Gambian Dalasi - /// - `GEK` - Georgian Kupon Larit - /// - `GEL` - Georgian Lari - /// - `DEM` - German Mark - /// - `GHS` - Ghanaian Cedi - /// - `GHC` - Ghanaian Cedi (1979–2007) - /// - `GIP` - Gibraltar Pound - /// - `XAU` - Gold - /// - `GRD` - Greek Drachma - /// - `GTQ` - Guatemalan Quetzal - /// - `GWP` - Guinea-Bissau Peso - /// - `GNF` - Guinean Franc - /// - `GNS` - Guinean Syli - /// - `GYD` - Guyanaese Dollar - /// - `HTG` - Haitian Gourde - /// - `HNL` - Honduran Lempira - /// - `HKD` - Hong Kong Dollar - /// - `HUF` - Hungarian Forint - /// - `IMP` - IMP - /// - `ISK` - Icelandic Króna - /// - `ISJ` - Icelandic Króna (1918–1981) - /// - `INR` - Indian Rupee - /// - `IDR` - Indonesian Rupiah - /// - `IRR` - Iranian Rial - /// - `IQD` - Iraqi Dinar - /// - `IEP` - Irish Pound - /// - `ILS` - Israeli New Shekel - /// - `ILP` - Israeli Pound - /// - `ILR` - Israeli Shekel (1980–1985) - /// - `ITL` - Italian Lira - /// - `JMD` - Jamaican Dollar - /// - `JPY` - Japanese Yen - /// - `JOD` - Jordanian Dinar - /// - `KZT` - Kazakhstani Tenge - /// - `KES` - Kenyan Shilling - /// - `KWD` - Kuwaiti Dinar - /// - `KGS` - Kyrgystani Som - /// - `LAK` - Laotian Kip - /// - `LVL` - Latvian Lats - /// - `LVR` - Latvian Ruble - /// - `LBP` - Lebanese Pound - /// - `LSL` - Lesotho Loti - /// - `LRD` - Liberian Dollar - /// - `LYD` - Libyan Dinar - /// - `LTL` - Lithuanian Litas - /// - `LTT` - Lithuanian Talonas - /// - `LUL` - Luxembourg Financial Franc - /// - `LUC` - Luxembourgian Convertible Franc - /// - `LUF` - Luxembourgian Franc - /// - `MOP` - Macanese Pataca - /// - `MKD` - Macedonian Denar - /// - `MKN` - Macedonian Denar (1992–1993) - /// - `MGA` - Malagasy Ariary - /// - `MGF` - Malagasy Franc - /// - `MWK` - Malawian Kwacha - /// - `MYR` - Malaysian Ringgit - /// - `MVR` - Maldivian Rufiyaa - /// - `MVP` - Maldivian Rupee (1947–1981) - /// - `MLF` - Malian Franc - /// - `MTL` - Maltese Lira - /// - `MTP` - Maltese Pound - /// - `MRU` - Mauritanian Ouguiya - /// - `MRO` - Mauritanian Ouguiya (1973–2017) - /// - `MUR` - Mauritian Rupee - /// - `MXV` - Mexican Investment Unit - /// - `MXN` - Mexican Peso - /// - `MXP` - Mexican Silver Peso (1861–1992) - /// - `MDC` - Moldovan Cupon - /// - `MDL` - Moldovan Leu - /// - `MCF` - Monegasque Franc - /// - `MNT` - Mongolian Tugrik - /// - `MAD` - Moroccan Dirham - /// - `MAF` - Moroccan Franc - /// - `MZE` - Mozambican Escudo - /// - `MZN` - Mozambican Metical - /// - `MZM` - Mozambican Metical (1980–2006) - /// - `MMK` - Myanmar Kyat - /// - `NAD` - Namibian Dollar - /// - `NPR` - Nepalese Rupee - /// - `ANG` - Netherlands Antillean Guilder - /// - `TWD` - New Taiwan Dollar - /// - `NZD` - New Zealand Dollar - /// - `NIO` - Nicaraguan Córdoba - /// - `NIC` - Nicaraguan Córdoba (1988–1991) - /// - `NGN` - Nigerian Naira - /// - `KPW` - North Korean Won - /// - `NOK` - Norwegian Krone - /// - `OMR` - Omani Rial - /// - `PKR` - Pakistani Rupee - /// - `XPD` - Palladium - /// - `PAB` - Panamanian Balboa - /// - `PGK` - Papua New Guinean Kina - /// - `PYG` - Paraguayan Guarani - /// - `PEI` - Peruvian Inti - /// - `PEN` - Peruvian Sol - /// - `PES` - Peruvian Sol (1863–1965) - /// - `PHP` - Philippine Peso - /// - `XPT` - Platinum - /// - `PLN` - Polish Zloty - /// - `PLZ` - Polish Zloty (1950–1995) - /// - `PTE` - Portuguese Escudo - /// - `GWE` - Portuguese Guinea Escudo - /// - `QAR` - Qatari Rial - /// - `XRE` - RINET Funds - /// - `RHD` - Rhodesian Dollar - /// - `RON` - Romanian Leu - /// - `ROL` - Romanian Leu (1952–2006) - /// - `RUB` - Russian Ruble - /// - `RUR` - Russian Ruble (1991–1998) - /// - `RWF` - Rwandan Franc - /// - `SVC` - Salvadoran Colón - /// - `WST` - Samoan Tala - /// - `SAR` - Saudi Riyal - /// - `RSD` - Serbian Dinar - /// - `CSD` - Serbian Dinar (2002–2006) - /// - `SCR` - Seychellois Rupee - /// - `SLL` - Sierra Leonean Leone - /// - `XAG` - Silver - /// - `SGD` - Singapore Dollar - /// - `SKK` - Slovak Koruna - /// - `SIT` - Slovenian Tolar - /// - `SBD` - Solomon Islands Dollar - /// - `SOS` - Somali Shilling - /// - `ZAR` - South African Rand - /// - `ZAL` - South African Rand (financial) - /// - `KRH` - South Korean Hwan (1953–1962) - /// - `KRW` - South Korean Won - /// - `KRO` - South Korean Won (1945–1953) - /// - `SSP` - South Sudanese Pound - /// - `SUR` - Soviet Rouble - /// - `ESP` - Spanish Peseta - /// - `ESA` - Spanish Peseta (A account) - /// - `ESB` - Spanish Peseta (convertible account) - /// - `XDR` - Special Drawing Rights - /// - `LKR` - Sri Lankan Rupee - /// - `SHP` - St. Helena Pound - /// - `XSU` - Sucre - /// - `SDD` - Sudanese Dinar (1992–2007) - /// - `SDG` - Sudanese Pound - /// - `SDP` - Sudanese Pound (1957–1998) - /// - `SRD` - Surinamese Dollar - /// - `SRG` - Surinamese Guilder - /// - `SZL` - Swazi Lilangeni - /// - `SEK` - Swedish Krona - /// - `CHF` - Swiss Franc - /// - `SYP` - Syrian Pound - /// - `STN` - São Tomé & Príncipe Dobra - /// - `STD` - São Tomé & Príncipe Dobra (1977–2017) - /// - `TVD` - TVD - /// - `TJR` - Tajikistani Ruble - /// - `TJS` - Tajikistani Somoni - /// - `TZS` - Tanzanian Shilling - /// - `XTS` - Testing Currency Code - /// - `THB` - Thai Baht - /// - `XXX` - The codes assigned for transactions where no currency is involved - /// - `TPE` - Timorese Escudo - /// - `TOP` - Tongan Paʻanga - /// - `TTD` - Trinidad & Tobago Dollar - /// - `TND` - Tunisian Dinar - /// - `TRY` - Turkish Lira - /// - `TRL` - Turkish Lira (1922–2005) - /// - `TMT` - Turkmenistani Manat - /// - `TMM` - Turkmenistani Manat (1993–2009) - /// - `USD` - US Dollar - /// - `USN` - US Dollar (Next day) - /// - `USS` - US Dollar (Same day) - /// - `UGX` - Ugandan Shilling - /// - `UGS` - Ugandan Shilling (1966–1987) - /// - `UAH` - Ukrainian Hryvnia - /// - `UAK` - Ukrainian Karbovanets - /// - `AED` - United Arab Emirates Dirham - /// - `UYW` - Uruguayan Nominal Wage Index Unit - /// - `UYU` - Uruguayan Peso - /// - `UYP` - Uruguayan Peso (1975–1993) - /// - `UYI` - Uruguayan Peso (Indexed Units) - /// - `UZS` - Uzbekistani Som - /// - `VUV` - Vanuatu Vatu - /// - `VES` - Venezuelan Bolívar - /// - `VEB` - Venezuelan Bolívar (1871–2008) - /// - `VEF` - Venezuelan Bolívar (2008–2018) - /// - `VND` - Vietnamese Dong - /// - `VNN` - Vietnamese Dong (1978–1985) - /// - `CHE` - WIR Euro - /// - `CHW` - WIR Franc - /// - `XOF` - West African CFA Franc - /// - `YDD` - Yemeni Dinar - /// - `YER` - Yemeni Rial - /// - `YUN` - Yugoslavian Convertible Dinar (1990–1992) - /// - `YUD` - Yugoslavian Hard Dinar (1966–1990) - /// - `YUM` - Yugoslavian New Dinar (1994–2002) - /// - `YUR` - Yugoslavian Reformed Dinar (1992–1993) - /// - `ZWN` - ZWN - /// - `ZRN` - Zairean New Zaire (1993–1998) - /// - `ZRZ` - Zairean Zaire (1971–1993) - /// - `ZMW` - Zambian Kwacha - /// - `ZMK` - Zambian Kwacha (1968–2012) - /// - `ZWD` - Zimbabwean Dollar (1980–2008) - /// - `ZWR` - Zimbabwean Dollar (2008) - /// - `ZWL` - Zimbabwean Dollar (2009) + /// * `XUA` - ADB Unit of Account + /// * `AFN` - Afghan Afghani + /// * `AFA` - Afghan Afghani (1927–2002) + /// * `ALL` - Albanian Lek + /// * `ALK` - Albanian Lek (1946–1965) + /// * `DZD` - Algerian Dinar + /// * `ADP` - Andorran Peseta + /// * `AOA` - Angolan Kwanza + /// * `AOK` - Angolan Kwanza (1977–1991) + /// * `AON` - Angolan New Kwanza (1990–2000) + /// * `AOR` - Angolan Readjusted Kwanza (1995–1999) + /// * `ARA` - Argentine Austral + /// * `ARS` - Argentine Peso + /// * `ARM` - Argentine Peso (1881–1970) + /// * `ARP` - Argentine Peso (1983–1985) + /// * `ARL` - Argentine Peso Ley (1970–1983) + /// * `AMD` - Armenian Dram + /// * `AWG` - Aruban Florin + /// * `AUD` - Australian Dollar + /// * `ATS` - Austrian Schilling + /// * `AZN` - Azerbaijani Manat + /// * `AZM` - Azerbaijani Manat (1993–2006) + /// * `BSD` - Bahamian Dollar + /// * `BHD` - Bahraini Dinar + /// * `BDT` - Bangladeshi Taka + /// * `BBD` - Barbadian Dollar + /// * `BYN` - Belarusian Ruble + /// * `BYB` - Belarusian Ruble (1994–1999) + /// * `BYR` - Belarusian Ruble (2000–2016) + /// * `BEF` - Belgian Franc + /// * `BEC` - Belgian Franc (convertible) + /// * `BEL` - Belgian Franc (financial) + /// * `BZD` - Belize Dollar + /// * `BMD` - Bermudan Dollar + /// * `BTN` - Bhutanese Ngultrum + /// * `BOB` - Bolivian Boliviano + /// * `BOL` - Bolivian Boliviano (1863–1963) + /// * `BOV` - Bolivian Mvdol + /// * `BOP` - Bolivian Peso + /// * `BAM` - Bosnia-Herzegovina Convertible Mark + /// * `BAD` - Bosnia-Herzegovina Dinar (1992–1994) + /// * `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) + /// * `BWP` - Botswanan Pula + /// * `BRC` - Brazilian Cruzado (1986–1989) + /// * `BRZ` - Brazilian Cruzeiro (1942–1967) + /// * `BRE` - Brazilian Cruzeiro (1990–1993) + /// * `BRR` - Brazilian Cruzeiro (1993–1994) + /// * `BRN` - Brazilian New Cruzado (1989–1990) + /// * `BRB` - Brazilian New Cruzeiro (1967–1986) + /// * `BRL` - Brazilian Real + /// * `GBP` - British Pound + /// * `BND` - Brunei Dollar + /// * `BGL` - Bulgarian Hard Lev + /// * `BGN` - Bulgarian Lev + /// * `BGO` - Bulgarian Lev (1879–1952) + /// * `BGM` - Bulgarian Socialist Lev + /// * `BUK` - Burmese Kyat + /// * `BIF` - Burundian Franc + /// * `XPF` - CFP Franc + /// * `KHR` - Cambodian Riel + /// * `CAD` - Canadian Dollar + /// * `CVE` - Cape Verdean Escudo + /// * `KYD` - Cayman Islands Dollar + /// * `XAF` - Central African CFA Franc + /// * `CLE` - Chilean Escudo + /// * `CLP` - Chilean Peso + /// * `CLF` - Chilean Unit of Account (UF) + /// * `CNX` - Chinese People’s Bank Dollar + /// * `CNY` - Chinese Yuan + /// * `CNH` - Chinese Yuan (offshore) + /// * `COP` - Colombian Peso + /// * `COU` - Colombian Real Value Unit + /// * `KMF` - Comorian Franc + /// * `CDF` - Congolese Franc + /// * `CRC` - Costa Rican Colón + /// * `HRD` - Croatian Dinar + /// * `HRK` - Croatian Kuna + /// * `CUC` - Cuban Convertible Peso + /// * `CUP` - Cuban Peso + /// * `CYP` - Cypriot Pound + /// * `CZK` - Czech Koruna + /// * `CSK` - Czechoslovak Hard Koruna + /// * `DKK` - Danish Krone + /// * `DJF` - Djiboutian Franc + /// * `DOP` - Dominican Peso + /// * `NLG` - Dutch Guilder + /// * `XCD` - East Caribbean Dollar + /// * `DDM` - East German Mark + /// * `ECS` - Ecuadorian Sucre + /// * `ECV` - Ecuadorian Unit of Constant Value + /// * `EGP` - Egyptian Pound + /// * `GQE` - Equatorial Guinean Ekwele + /// * `ERN` - Eritrean Nakfa + /// * `EEK` - Estonian Kroon + /// * `ETB` - Ethiopian Birr + /// * `EUR` - Euro + /// * `XBA` - European Composite Unit + /// * `XEU` - European Currency Unit + /// * `XBB` - European Monetary Unit + /// * `XBC` - European Unit of Account (XBC) + /// * `XBD` - European Unit of Account (XBD) + /// * `FKP` - Falkland Islands Pound + /// * `FJD` - Fijian Dollar + /// * `FIM` - Finnish Markka + /// * `FRF` - French Franc + /// * `XFO` - French Gold Franc + /// * `XFU` - French UIC-Franc + /// * `GMD` - Gambian Dalasi + /// * `GEK` - Georgian Kupon Larit + /// * `GEL` - Georgian Lari + /// * `DEM` - German Mark + /// * `GHS` - Ghanaian Cedi + /// * `GHC` - Ghanaian Cedi (1979–2007) + /// * `GIP` - Gibraltar Pound + /// * `XAU` - Gold + /// * `GRD` - Greek Drachma + /// * `GTQ` - Guatemalan Quetzal + /// * `GWP` - Guinea-Bissau Peso + /// * `GNF` - Guinean Franc + /// * `GNS` - Guinean Syli + /// * `GYD` - Guyanaese Dollar + /// * `HTG` - Haitian Gourde + /// * `HNL` - Honduran Lempira + /// * `HKD` - Hong Kong Dollar + /// * `HUF` - Hungarian Forint + /// * `IMP` - IMP + /// * `ISK` - Icelandic Króna + /// * `ISJ` - Icelandic Króna (1918–1981) + /// * `INR` - Indian Rupee + /// * `IDR` - Indonesian Rupiah + /// * `IRR` - Iranian Rial + /// * `IQD` - Iraqi Dinar + /// * `IEP` - Irish Pound + /// * `ILS` - Israeli New Shekel + /// * `ILP` - Israeli Pound + /// * `ILR` - Israeli Shekel (1980–1985) + /// * `ITL` - Italian Lira + /// * `JMD` - Jamaican Dollar + /// * `JPY` - Japanese Yen + /// * `JOD` - Jordanian Dinar + /// * `KZT` - Kazakhstani Tenge + /// * `KES` - Kenyan Shilling + /// * `KWD` - Kuwaiti Dinar + /// * `KGS` - Kyrgystani Som + /// * `LAK` - Laotian Kip + /// * `LVL` - Latvian Lats + /// * `LVR` - Latvian Ruble + /// * `LBP` - Lebanese Pound + /// * `LSL` - Lesotho Loti + /// * `LRD` - Liberian Dollar + /// * `LYD` - Libyan Dinar + /// * `LTL` - Lithuanian Litas + /// * `LTT` - Lithuanian Talonas + /// * `LUL` - Luxembourg Financial Franc + /// * `LUC` - Luxembourgian Convertible Franc + /// * `LUF` - Luxembourgian Franc + /// * `MOP` - Macanese Pataca + /// * `MKD` - Macedonian Denar + /// * `MKN` - Macedonian Denar (1992–1993) + /// * `MGA` - Malagasy Ariary + /// * `MGF` - Malagasy Franc + /// * `MWK` - Malawian Kwacha + /// * `MYR` - Malaysian Ringgit + /// * `MVR` - Maldivian Rufiyaa + /// * `MVP` - Maldivian Rupee (1947–1981) + /// * `MLF` - Malian Franc + /// * `MTL` - Maltese Lira + /// * `MTP` - Maltese Pound + /// * `MRU` - Mauritanian Ouguiya + /// * `MRO` - Mauritanian Ouguiya (1973–2017) + /// * `MUR` - Mauritian Rupee + /// * `MXV` - Mexican Investment Unit + /// * `MXN` - Mexican Peso + /// * `MXP` - Mexican Silver Peso (1861–1992) + /// * `MDC` - Moldovan Cupon + /// * `MDL` - Moldovan Leu + /// * `MCF` - Monegasque Franc + /// * `MNT` - Mongolian Tugrik + /// * `MAD` - Moroccan Dirham + /// * `MAF` - Moroccan Franc + /// * `MZE` - Mozambican Escudo + /// * `MZN` - Mozambican Metical + /// * `MZM` - Mozambican Metical (1980–2006) + /// * `MMK` - Myanmar Kyat + /// * `NAD` - Namibian Dollar + /// * `NPR` - Nepalese Rupee + /// * `ANG` - Netherlands Antillean Guilder + /// * `TWD` - New Taiwan Dollar + /// * `NZD` - New Zealand Dollar + /// * `NIO` - Nicaraguan Córdoba + /// * `NIC` - Nicaraguan Córdoba (1988–1991) + /// * `NGN` - Nigerian Naira + /// * `KPW` - North Korean Won + /// * `NOK` - Norwegian Krone + /// * `OMR` - Omani Rial + /// * `PKR` - Pakistani Rupee + /// * `XPD` - Palladium + /// * `PAB` - Panamanian Balboa + /// * `PGK` - Papua New Guinean Kina + /// * `PYG` - Paraguayan Guarani + /// * `PEI` - Peruvian Inti + /// * `PEN` - Peruvian Sol + /// * `PES` - Peruvian Sol (1863–1965) + /// * `PHP` - Philippine Peso + /// * `XPT` - Platinum + /// * `PLN` - Polish Zloty + /// * `PLZ` - Polish Zloty (1950–1995) + /// * `PTE` - Portuguese Escudo + /// * `GWE` - Portuguese Guinea Escudo + /// * `QAR` - Qatari Rial + /// * `XRE` - RINET Funds + /// * `RHD` - Rhodesian Dollar + /// * `RON` - Romanian Leu + /// * `ROL` - Romanian Leu (1952–2006) + /// * `RUB` - Russian Ruble + /// * `RUR` - Russian Ruble (1991–1998) + /// * `RWF` - Rwandan Franc + /// * `SVC` - Salvadoran Colón + /// * `WST` - Samoan Tala + /// * `SAR` - Saudi Riyal + /// * `RSD` - Serbian Dinar + /// * `CSD` - Serbian Dinar (2002–2006) + /// * `SCR` - Seychellois Rupee + /// * `SLL` - Sierra Leonean Leone + /// * `XAG` - Silver + /// * `SGD` - Singapore Dollar + /// * `SKK` - Slovak Koruna + /// * `SIT` - Slovenian Tolar + /// * `SBD` - Solomon Islands Dollar + /// * `SOS` - Somali Shilling + /// * `ZAR` - South African Rand + /// * `ZAL` - South African Rand (financial) + /// * `KRH` - South Korean Hwan (1953–1962) + /// * `KRW` - South Korean Won + /// * `KRO` - South Korean Won (1945–1953) + /// * `SSP` - South Sudanese Pound + /// * `SUR` - Soviet Rouble + /// * `ESP` - Spanish Peseta + /// * `ESA` - Spanish Peseta (A account) + /// * `ESB` - Spanish Peseta (convertible account) + /// * `XDR` - Special Drawing Rights + /// * `LKR` - Sri Lankan Rupee + /// * `SHP` - St. Helena Pound + /// * `XSU` - Sucre + /// * `SDD` - Sudanese Dinar (1992–2007) + /// * `SDG` - Sudanese Pound + /// * `SDP` - Sudanese Pound (1957–1998) + /// * `SRD` - Surinamese Dollar + /// * `SRG` - Surinamese Guilder + /// * `SZL` - Swazi Lilangeni + /// * `SEK` - Swedish Krona + /// * `CHF` - Swiss Franc + /// * `SYP` - Syrian Pound + /// * `STN` - São Tomé & Príncipe Dobra + /// * `STD` - São Tomé & Príncipe Dobra (1977–2017) + /// * `TVD` - TVD + /// * `TJR` - Tajikistani Ruble + /// * `TJS` - Tajikistani Somoni + /// * `TZS` - Tanzanian Shilling + /// * `XTS` - Testing Currency Code + /// * `THB` - Thai Baht + /// * `XXX` - The codes assigned for transactions where no currency is involved + /// * `TPE` - Timorese Escudo + /// * `TOP` - Tongan Paʻanga + /// * `TTD` - Trinidad & Tobago Dollar + /// * `TND` - Tunisian Dinar + /// * `TRY` - Turkish Lira + /// * `TRL` - Turkish Lira (1922–2005) + /// * `TMT` - Turkmenistani Manat + /// * `TMM` - Turkmenistani Manat (1993–2009) + /// * `USD` - US Dollar + /// * `USN` - US Dollar (Next day) + /// * `USS` - US Dollar (Same day) + /// * `UGX` - Ugandan Shilling + /// * `UGS` - Ugandan Shilling (1966–1987) + /// * `UAH` - Ukrainian Hryvnia + /// * `UAK` - Ukrainian Karbovanets + /// * `AED` - United Arab Emirates Dirham + /// * `UYW` - Uruguayan Nominal Wage Index Unit + /// * `UYU` - Uruguayan Peso + /// * `UYP` - Uruguayan Peso (1975–1993) + /// * `UYI` - Uruguayan Peso (Indexed Units) + /// * `UZS` - Uzbekistani Som + /// * `VUV` - Vanuatu Vatu + /// * `VES` - Venezuelan Bolívar + /// * `VEB` - Venezuelan Bolívar (1871–2008) + /// * `VEF` - Venezuelan Bolívar (2008–2018) + /// * `VND` - Vietnamese Dong + /// * `VNN` - Vietnamese Dong (1978–1985) + /// * `CHE` - WIR Euro + /// * `CHW` - WIR Franc + /// * `XOF` - West African CFA Franc + /// * `YDD` - Yemeni Dinar + /// * `YER` - Yemeni Rial + /// * `YUN` - Yugoslavian Convertible Dinar (1990–1992) + /// * `YUD` - Yugoslavian Hard Dinar (1966–1990) + /// * `YUM` - Yugoslavian New Dinar (1994–2002) + /// * `YUR` - Yugoslavian Reformed Dinar (1992–1993) + /// * `ZWN` - ZWN + /// * `ZRN` - Zairean New Zaire (1993–1998) + /// * `ZRZ` - Zairean Zaire (1971–1993) + /// * `ZMW` - Zambian Kwacha + /// * `ZMK` - Zambian Kwacha (1968–2012) + /// * `ZWD` - Zimbabwean Dollar (1980–2008) + /// * `ZWR` - Zimbabwean Dollar (2008) + /// * `ZWL` - Zimbabwean Dollar (2009) /// [JsonPropertyName("currency")] public TransactionCurrencyEnum? Currency { get; set; } @@ -406,9 +418,21 @@ public record ExpenseLine /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/ExpenseLineRequest.cs b/src/Merge.Client/Accounting/Types/ExpenseLineRequest.cs index e6f27795..9a7b3317 100644 --- a/src/Merge.Client/Accounting/Types/ExpenseLineRequest.cs +++ b/src/Merge.Client/Accounting/Types/ExpenseLineRequest.cs @@ -1,9 +1,18 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Accounting; +/// +/// # The ExpenseLine Object +/// ### Description +/// The `ExpenseLine` object is used to represent an expense's line items. +/// +/// ### Usage Example +/// Fetch from the `GET Expense` endpoint and view the expense's line items. +/// public record ExpenseLineRequest { /// @@ -48,312 +57,312 @@ public record ExpenseLineRequest /// /// The expense line item's currency. /// - /// - `XUA` - ADB Unit of Account - /// - `AFN` - Afghan Afghani - /// - `AFA` - Afghan Afghani (1927–2002) - /// - `ALL` - Albanian Lek - /// - `ALK` - Albanian Lek (1946–1965) - /// - `DZD` - Algerian Dinar - /// - `ADP` - Andorran Peseta - /// - `AOA` - Angolan Kwanza - /// - `AOK` - Angolan Kwanza (1977–1991) - /// - `AON` - Angolan New Kwanza (1990–2000) - /// - `AOR` - Angolan Readjusted Kwanza (1995–1999) - /// - `ARA` - Argentine Austral - /// - `ARS` - Argentine Peso - /// - `ARM` - Argentine Peso (1881–1970) - /// - `ARP` - Argentine Peso (1983–1985) - /// - `ARL` - Argentine Peso Ley (1970–1983) - /// - `AMD` - Armenian Dram - /// - `AWG` - Aruban Florin - /// - `AUD` - Australian Dollar - /// - `ATS` - Austrian Schilling - /// - `AZN` - Azerbaijani Manat - /// - `AZM` - Azerbaijani Manat (1993–2006) - /// - `BSD` - Bahamian Dollar - /// - `BHD` - Bahraini Dinar - /// - `BDT` - Bangladeshi Taka - /// - `BBD` - Barbadian Dollar - /// - `BYN` - Belarusian Ruble - /// - `BYB` - Belarusian Ruble (1994–1999) - /// - `BYR` - Belarusian Ruble (2000–2016) - /// - `BEF` - Belgian Franc - /// - `BEC` - Belgian Franc (convertible) - /// - `BEL` - Belgian Franc (financial) - /// - `BZD` - Belize Dollar - /// - `BMD` - Bermudan Dollar - /// - `BTN` - Bhutanese Ngultrum - /// - `BOB` - Bolivian Boliviano - /// - `BOL` - Bolivian Boliviano (1863–1963) - /// - `BOV` - Bolivian Mvdol - /// - `BOP` - Bolivian Peso - /// - `BAM` - Bosnia-Herzegovina Convertible Mark - /// - `BAD` - Bosnia-Herzegovina Dinar (1992–1994) - /// - `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) - /// - `BWP` - Botswanan Pula - /// - `BRC` - Brazilian Cruzado (1986–1989) - /// - `BRZ` - Brazilian Cruzeiro (1942–1967) - /// - `BRE` - Brazilian Cruzeiro (1990–1993) - /// - `BRR` - Brazilian Cruzeiro (1993–1994) - /// - `BRN` - Brazilian New Cruzado (1989–1990) - /// - `BRB` - Brazilian New Cruzeiro (1967–1986) - /// - `BRL` - Brazilian Real - /// - `GBP` - British Pound - /// - `BND` - Brunei Dollar - /// - `BGL` - Bulgarian Hard Lev - /// - `BGN` - Bulgarian Lev - /// - `BGO` - Bulgarian Lev (1879–1952) - /// - `BGM` - Bulgarian Socialist Lev - /// - `BUK` - Burmese Kyat - /// - `BIF` - Burundian Franc - /// - `XPF` - CFP Franc - /// - `KHR` - Cambodian Riel - /// - `CAD` - Canadian Dollar - /// - `CVE` - Cape Verdean Escudo - /// - `KYD` - Cayman Islands Dollar - /// - `XAF` - Central African CFA Franc - /// - `CLE` - Chilean Escudo - /// - `CLP` - Chilean Peso - /// - `CLF` - Chilean Unit of Account (UF) - /// - `CNX` - Chinese People’s Bank Dollar - /// - `CNY` - Chinese Yuan - /// - `CNH` - Chinese Yuan (offshore) - /// - `COP` - Colombian Peso - /// - `COU` - Colombian Real Value Unit - /// - `KMF` - Comorian Franc - /// - `CDF` - Congolese Franc - /// - `CRC` - Costa Rican Colón - /// - `HRD` - Croatian Dinar - /// - `HRK` - Croatian Kuna - /// - `CUC` - Cuban Convertible Peso - /// - `CUP` - Cuban Peso - /// - `CYP` - Cypriot Pound - /// - `CZK` - Czech Koruna - /// - `CSK` - Czechoslovak Hard Koruna - /// - `DKK` - Danish Krone - /// - `DJF` - Djiboutian Franc - /// - `DOP` - Dominican Peso - /// - `NLG` - Dutch Guilder - /// - `XCD` - East Caribbean Dollar - /// - `DDM` - East German Mark - /// - `ECS` - Ecuadorian Sucre - /// - `ECV` - Ecuadorian Unit of Constant Value - /// - `EGP` - Egyptian Pound - /// - `GQE` - Equatorial Guinean Ekwele - /// - `ERN` - Eritrean Nakfa - /// - `EEK` - Estonian Kroon - /// - `ETB` - Ethiopian Birr - /// - `EUR` - Euro - /// - `XBA` - European Composite Unit - /// - `XEU` - European Currency Unit - /// - `XBB` - European Monetary Unit - /// - `XBC` - European Unit of Account (XBC) - /// - `XBD` - European Unit of Account (XBD) - /// - `FKP` - Falkland Islands Pound - /// - `FJD` - Fijian Dollar - /// - `FIM` - Finnish Markka - /// - `FRF` - French Franc - /// - `XFO` - French Gold Franc - /// - `XFU` - French UIC-Franc - /// - `GMD` - Gambian Dalasi - /// - `GEK` - Georgian Kupon Larit - /// - `GEL` - Georgian Lari - /// - `DEM` - German Mark - /// - `GHS` - Ghanaian Cedi - /// - `GHC` - Ghanaian Cedi (1979–2007) - /// - `GIP` - Gibraltar Pound - /// - `XAU` - Gold - /// - `GRD` - Greek Drachma - /// - `GTQ` - Guatemalan Quetzal - /// - `GWP` - Guinea-Bissau Peso - /// - `GNF` - Guinean Franc - /// - `GNS` - Guinean Syli - /// - `GYD` - Guyanaese Dollar - /// - `HTG` - Haitian Gourde - /// - `HNL` - Honduran Lempira - /// - `HKD` - Hong Kong Dollar - /// - `HUF` - Hungarian Forint - /// - `IMP` - IMP - /// - `ISK` - Icelandic Króna - /// - `ISJ` - Icelandic Króna (1918–1981) - /// - `INR` - Indian Rupee - /// - `IDR` - Indonesian Rupiah - /// - `IRR` - Iranian Rial - /// - `IQD` - Iraqi Dinar - /// - `IEP` - Irish Pound - /// - `ILS` - Israeli New Shekel - /// - `ILP` - Israeli Pound - /// - `ILR` - Israeli Shekel (1980–1985) - /// - `ITL` - Italian Lira - /// - `JMD` - Jamaican Dollar - /// - `JPY` - Japanese Yen - /// - `JOD` - Jordanian Dinar - /// - `KZT` - Kazakhstani Tenge - /// - `KES` - Kenyan Shilling - /// - `KWD` - Kuwaiti Dinar - /// - `KGS` - Kyrgystani Som - /// - `LAK` - Laotian Kip - /// - `LVL` - Latvian Lats - /// - `LVR` - Latvian Ruble - /// - `LBP` - Lebanese Pound - /// - `LSL` - Lesotho Loti - /// - `LRD` - Liberian Dollar - /// - `LYD` - Libyan Dinar - /// - `LTL` - Lithuanian Litas - /// - `LTT` - Lithuanian Talonas - /// - `LUL` - Luxembourg Financial Franc - /// - `LUC` - Luxembourgian Convertible Franc - /// - `LUF` - Luxembourgian Franc - /// - `MOP` - Macanese Pataca - /// - `MKD` - Macedonian Denar - /// - `MKN` - Macedonian Denar (1992–1993) - /// - `MGA` - Malagasy Ariary - /// - `MGF` - Malagasy Franc - /// - `MWK` - Malawian Kwacha - /// - `MYR` - Malaysian Ringgit - /// - `MVR` - Maldivian Rufiyaa - /// - `MVP` - Maldivian Rupee (1947–1981) - /// - `MLF` - Malian Franc - /// - `MTL` - Maltese Lira - /// - `MTP` - Maltese Pound - /// - `MRU` - Mauritanian Ouguiya - /// - `MRO` - Mauritanian Ouguiya (1973–2017) - /// - `MUR` - Mauritian Rupee - /// - `MXV` - Mexican Investment Unit - /// - `MXN` - Mexican Peso - /// - `MXP` - Mexican Silver Peso (1861–1992) - /// - `MDC` - Moldovan Cupon - /// - `MDL` - Moldovan Leu - /// - `MCF` - Monegasque Franc - /// - `MNT` - Mongolian Tugrik - /// - `MAD` - Moroccan Dirham - /// - `MAF` - Moroccan Franc - /// - `MZE` - Mozambican Escudo - /// - `MZN` - Mozambican Metical - /// - `MZM` - Mozambican Metical (1980–2006) - /// - `MMK` - Myanmar Kyat - /// - `NAD` - Namibian Dollar - /// - `NPR` - Nepalese Rupee - /// - `ANG` - Netherlands Antillean Guilder - /// - `TWD` - New Taiwan Dollar - /// - `NZD` - New Zealand Dollar - /// - `NIO` - Nicaraguan Córdoba - /// - `NIC` - Nicaraguan Córdoba (1988–1991) - /// - `NGN` - Nigerian Naira - /// - `KPW` - North Korean Won - /// - `NOK` - Norwegian Krone - /// - `OMR` - Omani Rial - /// - `PKR` - Pakistani Rupee - /// - `XPD` - Palladium - /// - `PAB` - Panamanian Balboa - /// - `PGK` - Papua New Guinean Kina - /// - `PYG` - Paraguayan Guarani - /// - `PEI` - Peruvian Inti - /// - `PEN` - Peruvian Sol - /// - `PES` - Peruvian Sol (1863–1965) - /// - `PHP` - Philippine Peso - /// - `XPT` - Platinum - /// - `PLN` - Polish Zloty - /// - `PLZ` - Polish Zloty (1950–1995) - /// - `PTE` - Portuguese Escudo - /// - `GWE` - Portuguese Guinea Escudo - /// - `QAR` - Qatari Rial - /// - `XRE` - RINET Funds - /// - `RHD` - Rhodesian Dollar - /// - `RON` - Romanian Leu - /// - `ROL` - Romanian Leu (1952–2006) - /// - `RUB` - Russian Ruble - /// - `RUR` - Russian Ruble (1991–1998) - /// - `RWF` - Rwandan Franc - /// - `SVC` - Salvadoran Colón - /// - `WST` - Samoan Tala - /// - `SAR` - Saudi Riyal - /// - `RSD` - Serbian Dinar - /// - `CSD` - Serbian Dinar (2002–2006) - /// - `SCR` - Seychellois Rupee - /// - `SLL` - Sierra Leonean Leone - /// - `XAG` - Silver - /// - `SGD` - Singapore Dollar - /// - `SKK` - Slovak Koruna - /// - `SIT` - Slovenian Tolar - /// - `SBD` - Solomon Islands Dollar - /// - `SOS` - Somali Shilling - /// - `ZAR` - South African Rand - /// - `ZAL` - South African Rand (financial) - /// - `KRH` - South Korean Hwan (1953–1962) - /// - `KRW` - South Korean Won - /// - `KRO` - South Korean Won (1945–1953) - /// - `SSP` - South Sudanese Pound - /// - `SUR` - Soviet Rouble - /// - `ESP` - Spanish Peseta - /// - `ESA` - Spanish Peseta (A account) - /// - `ESB` - Spanish Peseta (convertible account) - /// - `XDR` - Special Drawing Rights - /// - `LKR` - Sri Lankan Rupee - /// - `SHP` - St. Helena Pound - /// - `XSU` - Sucre - /// - `SDD` - Sudanese Dinar (1992–2007) - /// - `SDG` - Sudanese Pound - /// - `SDP` - Sudanese Pound (1957–1998) - /// - `SRD` - Surinamese Dollar - /// - `SRG` - Surinamese Guilder - /// - `SZL` - Swazi Lilangeni - /// - `SEK` - Swedish Krona - /// - `CHF` - Swiss Franc - /// - `SYP` - Syrian Pound - /// - `STN` - São Tomé & Príncipe Dobra - /// - `STD` - São Tomé & Príncipe Dobra (1977–2017) - /// - `TVD` - TVD - /// - `TJR` - Tajikistani Ruble - /// - `TJS` - Tajikistani Somoni - /// - `TZS` - Tanzanian Shilling - /// - `XTS` - Testing Currency Code - /// - `THB` - Thai Baht - /// - `XXX` - The codes assigned for transactions where no currency is involved - /// - `TPE` - Timorese Escudo - /// - `TOP` - Tongan Paʻanga - /// - `TTD` - Trinidad & Tobago Dollar - /// - `TND` - Tunisian Dinar - /// - `TRY` - Turkish Lira - /// - `TRL` - Turkish Lira (1922–2005) - /// - `TMT` - Turkmenistani Manat - /// - `TMM` - Turkmenistani Manat (1993–2009) - /// - `USD` - US Dollar - /// - `USN` - US Dollar (Next day) - /// - `USS` - US Dollar (Same day) - /// - `UGX` - Ugandan Shilling - /// - `UGS` - Ugandan Shilling (1966–1987) - /// - `UAH` - Ukrainian Hryvnia - /// - `UAK` - Ukrainian Karbovanets - /// - `AED` - United Arab Emirates Dirham - /// - `UYW` - Uruguayan Nominal Wage Index Unit - /// - `UYU` - Uruguayan Peso - /// - `UYP` - Uruguayan Peso (1975–1993) - /// - `UYI` - Uruguayan Peso (Indexed Units) - /// - `UZS` - Uzbekistani Som - /// - `VUV` - Vanuatu Vatu - /// - `VES` - Venezuelan Bolívar - /// - `VEB` - Venezuelan Bolívar (1871–2008) - /// - `VEF` - Venezuelan Bolívar (2008–2018) - /// - `VND` - Vietnamese Dong - /// - `VNN` - Vietnamese Dong (1978–1985) - /// - `CHE` - WIR Euro - /// - `CHW` - WIR Franc - /// - `XOF` - West African CFA Franc - /// - `YDD` - Yemeni Dinar - /// - `YER` - Yemeni Rial - /// - `YUN` - Yugoslavian Convertible Dinar (1990–1992) - /// - `YUD` - Yugoslavian Hard Dinar (1966–1990) - /// - `YUM` - Yugoslavian New Dinar (1994–2002) - /// - `YUR` - Yugoslavian Reformed Dinar (1992–1993) - /// - `ZWN` - ZWN - /// - `ZRN` - Zairean New Zaire (1993–1998) - /// - `ZRZ` - Zairean Zaire (1971–1993) - /// - `ZMW` - Zambian Kwacha - /// - `ZMK` - Zambian Kwacha (1968–2012) - /// - `ZWD` - Zimbabwean Dollar (1980–2008) - /// - `ZWR` - Zimbabwean Dollar (2008) - /// - `ZWL` - Zimbabwean Dollar (2009) + /// * `XUA` - ADB Unit of Account + /// * `AFN` - Afghan Afghani + /// * `AFA` - Afghan Afghani (1927–2002) + /// * `ALL` - Albanian Lek + /// * `ALK` - Albanian Lek (1946–1965) + /// * `DZD` - Algerian Dinar + /// * `ADP` - Andorran Peseta + /// * `AOA` - Angolan Kwanza + /// * `AOK` - Angolan Kwanza (1977–1991) + /// * `AON` - Angolan New Kwanza (1990–2000) + /// * `AOR` - Angolan Readjusted Kwanza (1995–1999) + /// * `ARA` - Argentine Austral + /// * `ARS` - Argentine Peso + /// * `ARM` - Argentine Peso (1881–1970) + /// * `ARP` - Argentine Peso (1983–1985) + /// * `ARL` - Argentine Peso Ley (1970–1983) + /// * `AMD` - Armenian Dram + /// * `AWG` - Aruban Florin + /// * `AUD` - Australian Dollar + /// * `ATS` - Austrian Schilling + /// * `AZN` - Azerbaijani Manat + /// * `AZM` - Azerbaijani Manat (1993–2006) + /// * `BSD` - Bahamian Dollar + /// * `BHD` - Bahraini Dinar + /// * `BDT` - Bangladeshi Taka + /// * `BBD` - Barbadian Dollar + /// * `BYN` - Belarusian Ruble + /// * `BYB` - Belarusian Ruble (1994–1999) + /// * `BYR` - Belarusian Ruble (2000–2016) + /// * `BEF` - Belgian Franc + /// * `BEC` - Belgian Franc (convertible) + /// * `BEL` - Belgian Franc (financial) + /// * `BZD` - Belize Dollar + /// * `BMD` - Bermudan Dollar + /// * `BTN` - Bhutanese Ngultrum + /// * `BOB` - Bolivian Boliviano + /// * `BOL` - Bolivian Boliviano (1863–1963) + /// * `BOV` - Bolivian Mvdol + /// * `BOP` - Bolivian Peso + /// * `BAM` - Bosnia-Herzegovina Convertible Mark + /// * `BAD` - Bosnia-Herzegovina Dinar (1992–1994) + /// * `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) + /// * `BWP` - Botswanan Pula + /// * `BRC` - Brazilian Cruzado (1986–1989) + /// * `BRZ` - Brazilian Cruzeiro (1942–1967) + /// * `BRE` - Brazilian Cruzeiro (1990–1993) + /// * `BRR` - Brazilian Cruzeiro (1993–1994) + /// * `BRN` - Brazilian New Cruzado (1989–1990) + /// * `BRB` - Brazilian New Cruzeiro (1967–1986) + /// * `BRL` - Brazilian Real + /// * `GBP` - British Pound + /// * `BND` - Brunei Dollar + /// * `BGL` - Bulgarian Hard Lev + /// * `BGN` - Bulgarian Lev + /// * `BGO` - Bulgarian Lev (1879–1952) + /// * `BGM` - Bulgarian Socialist Lev + /// * `BUK` - Burmese Kyat + /// * `BIF` - Burundian Franc + /// * `XPF` - CFP Franc + /// * `KHR` - Cambodian Riel + /// * `CAD` - Canadian Dollar + /// * `CVE` - Cape Verdean Escudo + /// * `KYD` - Cayman Islands Dollar + /// * `XAF` - Central African CFA Franc + /// * `CLE` - Chilean Escudo + /// * `CLP` - Chilean Peso + /// * `CLF` - Chilean Unit of Account (UF) + /// * `CNX` - Chinese People’s Bank Dollar + /// * `CNY` - Chinese Yuan + /// * `CNH` - Chinese Yuan (offshore) + /// * `COP` - Colombian Peso + /// * `COU` - Colombian Real Value Unit + /// * `KMF` - Comorian Franc + /// * `CDF` - Congolese Franc + /// * `CRC` - Costa Rican Colón + /// * `HRD` - Croatian Dinar + /// * `HRK` - Croatian Kuna + /// * `CUC` - Cuban Convertible Peso + /// * `CUP` - Cuban Peso + /// * `CYP` - Cypriot Pound + /// * `CZK` - Czech Koruna + /// * `CSK` - Czechoslovak Hard Koruna + /// * `DKK` - Danish Krone + /// * `DJF` - Djiboutian Franc + /// * `DOP` - Dominican Peso + /// * `NLG` - Dutch Guilder + /// * `XCD` - East Caribbean Dollar + /// * `DDM` - East German Mark + /// * `ECS` - Ecuadorian Sucre + /// * `ECV` - Ecuadorian Unit of Constant Value + /// * `EGP` - Egyptian Pound + /// * `GQE` - Equatorial Guinean Ekwele + /// * `ERN` - Eritrean Nakfa + /// * `EEK` - Estonian Kroon + /// * `ETB` - Ethiopian Birr + /// * `EUR` - Euro + /// * `XBA` - European Composite Unit + /// * `XEU` - European Currency Unit + /// * `XBB` - European Monetary Unit + /// * `XBC` - European Unit of Account (XBC) + /// * `XBD` - European Unit of Account (XBD) + /// * `FKP` - Falkland Islands Pound + /// * `FJD` - Fijian Dollar + /// * `FIM` - Finnish Markka + /// * `FRF` - French Franc + /// * `XFO` - French Gold Franc + /// * `XFU` - French UIC-Franc + /// * `GMD` - Gambian Dalasi + /// * `GEK` - Georgian Kupon Larit + /// * `GEL` - Georgian Lari + /// * `DEM` - German Mark + /// * `GHS` - Ghanaian Cedi + /// * `GHC` - Ghanaian Cedi (1979–2007) + /// * `GIP` - Gibraltar Pound + /// * `XAU` - Gold + /// * `GRD` - Greek Drachma + /// * `GTQ` - Guatemalan Quetzal + /// * `GWP` - Guinea-Bissau Peso + /// * `GNF` - Guinean Franc + /// * `GNS` - Guinean Syli + /// * `GYD` - Guyanaese Dollar + /// * `HTG` - Haitian Gourde + /// * `HNL` - Honduran Lempira + /// * `HKD` - Hong Kong Dollar + /// * `HUF` - Hungarian Forint + /// * `IMP` - IMP + /// * `ISK` - Icelandic Króna + /// * `ISJ` - Icelandic Króna (1918–1981) + /// * `INR` - Indian Rupee + /// * `IDR` - Indonesian Rupiah + /// * `IRR` - Iranian Rial + /// * `IQD` - Iraqi Dinar + /// * `IEP` - Irish Pound + /// * `ILS` - Israeli New Shekel + /// * `ILP` - Israeli Pound + /// * `ILR` - Israeli Shekel (1980–1985) + /// * `ITL` - Italian Lira + /// * `JMD` - Jamaican Dollar + /// * `JPY` - Japanese Yen + /// * `JOD` - Jordanian Dinar + /// * `KZT` - Kazakhstani Tenge + /// * `KES` - Kenyan Shilling + /// * `KWD` - Kuwaiti Dinar + /// * `KGS` - Kyrgystani Som + /// * `LAK` - Laotian Kip + /// * `LVL` - Latvian Lats + /// * `LVR` - Latvian Ruble + /// * `LBP` - Lebanese Pound + /// * `LSL` - Lesotho Loti + /// * `LRD` - Liberian Dollar + /// * `LYD` - Libyan Dinar + /// * `LTL` - Lithuanian Litas + /// * `LTT` - Lithuanian Talonas + /// * `LUL` - Luxembourg Financial Franc + /// * `LUC` - Luxembourgian Convertible Franc + /// * `LUF` - Luxembourgian Franc + /// * `MOP` - Macanese Pataca + /// * `MKD` - Macedonian Denar + /// * `MKN` - Macedonian Denar (1992–1993) + /// * `MGA` - Malagasy Ariary + /// * `MGF` - Malagasy Franc + /// * `MWK` - Malawian Kwacha + /// * `MYR` - Malaysian Ringgit + /// * `MVR` - Maldivian Rufiyaa + /// * `MVP` - Maldivian Rupee (1947–1981) + /// * `MLF` - Malian Franc + /// * `MTL` - Maltese Lira + /// * `MTP` - Maltese Pound + /// * `MRU` - Mauritanian Ouguiya + /// * `MRO` - Mauritanian Ouguiya (1973–2017) + /// * `MUR` - Mauritian Rupee + /// * `MXV` - Mexican Investment Unit + /// * `MXN` - Mexican Peso + /// * `MXP` - Mexican Silver Peso (1861–1992) + /// * `MDC` - Moldovan Cupon + /// * `MDL` - Moldovan Leu + /// * `MCF` - Monegasque Franc + /// * `MNT` - Mongolian Tugrik + /// * `MAD` - Moroccan Dirham + /// * `MAF` - Moroccan Franc + /// * `MZE` - Mozambican Escudo + /// * `MZN` - Mozambican Metical + /// * `MZM` - Mozambican Metical (1980–2006) + /// * `MMK` - Myanmar Kyat + /// * `NAD` - Namibian Dollar + /// * `NPR` - Nepalese Rupee + /// * `ANG` - Netherlands Antillean Guilder + /// * `TWD` - New Taiwan Dollar + /// * `NZD` - New Zealand Dollar + /// * `NIO` - Nicaraguan Córdoba + /// * `NIC` - Nicaraguan Córdoba (1988–1991) + /// * `NGN` - Nigerian Naira + /// * `KPW` - North Korean Won + /// * `NOK` - Norwegian Krone + /// * `OMR` - Omani Rial + /// * `PKR` - Pakistani Rupee + /// * `XPD` - Palladium + /// * `PAB` - Panamanian Balboa + /// * `PGK` - Papua New Guinean Kina + /// * `PYG` - Paraguayan Guarani + /// * `PEI` - Peruvian Inti + /// * `PEN` - Peruvian Sol + /// * `PES` - Peruvian Sol (1863–1965) + /// * `PHP` - Philippine Peso + /// * `XPT` - Platinum + /// * `PLN` - Polish Zloty + /// * `PLZ` - Polish Zloty (1950–1995) + /// * `PTE` - Portuguese Escudo + /// * `GWE` - Portuguese Guinea Escudo + /// * `QAR` - Qatari Rial + /// * `XRE` - RINET Funds + /// * `RHD` - Rhodesian Dollar + /// * `RON` - Romanian Leu + /// * `ROL` - Romanian Leu (1952–2006) + /// * `RUB` - Russian Ruble + /// * `RUR` - Russian Ruble (1991–1998) + /// * `RWF` - Rwandan Franc + /// * `SVC` - Salvadoran Colón + /// * `WST` - Samoan Tala + /// * `SAR` - Saudi Riyal + /// * `RSD` - Serbian Dinar + /// * `CSD` - Serbian Dinar (2002–2006) + /// * `SCR` - Seychellois Rupee + /// * `SLL` - Sierra Leonean Leone + /// * `XAG` - Silver + /// * `SGD` - Singapore Dollar + /// * `SKK` - Slovak Koruna + /// * `SIT` - Slovenian Tolar + /// * `SBD` - Solomon Islands Dollar + /// * `SOS` - Somali Shilling + /// * `ZAR` - South African Rand + /// * `ZAL` - South African Rand (financial) + /// * `KRH` - South Korean Hwan (1953–1962) + /// * `KRW` - South Korean Won + /// * `KRO` - South Korean Won (1945–1953) + /// * `SSP` - South Sudanese Pound + /// * `SUR` - Soviet Rouble + /// * `ESP` - Spanish Peseta + /// * `ESA` - Spanish Peseta (A account) + /// * `ESB` - Spanish Peseta (convertible account) + /// * `XDR` - Special Drawing Rights + /// * `LKR` - Sri Lankan Rupee + /// * `SHP` - St. Helena Pound + /// * `XSU` - Sucre + /// * `SDD` - Sudanese Dinar (1992–2007) + /// * `SDG` - Sudanese Pound + /// * `SDP` - Sudanese Pound (1957–1998) + /// * `SRD` - Surinamese Dollar + /// * `SRG` - Surinamese Guilder + /// * `SZL` - Swazi Lilangeni + /// * `SEK` - Swedish Krona + /// * `CHF` - Swiss Franc + /// * `SYP` - Syrian Pound + /// * `STN` - São Tomé & Príncipe Dobra + /// * `STD` - São Tomé & Príncipe Dobra (1977–2017) + /// * `TVD` - TVD + /// * `TJR` - Tajikistani Ruble + /// * `TJS` - Tajikistani Somoni + /// * `TZS` - Tanzanian Shilling + /// * `XTS` - Testing Currency Code + /// * `THB` - Thai Baht + /// * `XXX` - The codes assigned for transactions where no currency is involved + /// * `TPE` - Timorese Escudo + /// * `TOP` - Tongan Paʻanga + /// * `TTD` - Trinidad & Tobago Dollar + /// * `TND` - Tunisian Dinar + /// * `TRY` - Turkish Lira + /// * `TRL` - Turkish Lira (1922–2005) + /// * `TMT` - Turkmenistani Manat + /// * `TMM` - Turkmenistani Manat (1993–2009) + /// * `USD` - US Dollar + /// * `USN` - US Dollar (Next day) + /// * `USS` - US Dollar (Same day) + /// * `UGX` - Ugandan Shilling + /// * `UGS` - Ugandan Shilling (1966–1987) + /// * `UAH` - Ukrainian Hryvnia + /// * `UAK` - Ukrainian Karbovanets + /// * `AED` - United Arab Emirates Dirham + /// * `UYW` - Uruguayan Nominal Wage Index Unit + /// * `UYU` - Uruguayan Peso + /// * `UYP` - Uruguayan Peso (1975–1993) + /// * `UYI` - Uruguayan Peso (Indexed Units) + /// * `UZS` - Uzbekistani Som + /// * `VUV` - Vanuatu Vatu + /// * `VES` - Venezuelan Bolívar + /// * `VEB` - Venezuelan Bolívar (1871–2008) + /// * `VEF` - Venezuelan Bolívar (2008–2018) + /// * `VND` - Vietnamese Dong + /// * `VNN` - Vietnamese Dong (1978–1985) + /// * `CHE` - WIR Euro + /// * `CHW` - WIR Franc + /// * `XOF` - West African CFA Franc + /// * `YDD` - Yemeni Dinar + /// * `YER` - Yemeni Rial + /// * `YUN` - Yugoslavian Convertible Dinar (1990–1992) + /// * `YUD` - Yugoslavian Hard Dinar (1966–1990) + /// * `YUM` - Yugoslavian New Dinar (1994–2002) + /// * `YUR` - Yugoslavian Reformed Dinar (1992–1993) + /// * `ZWN` - ZWN + /// * `ZRN` - Zairean New Zaire (1993–1998) + /// * `ZRZ` - Zairean Zaire (1971–1993) + /// * `ZMW` - Zambian Kwacha + /// * `ZMK` - Zambian Kwacha (1968–2012) + /// * `ZWD` - Zimbabwean Dollar (1980–2008) + /// * `ZWR` - Zimbabwean Dollar (2008) + /// * `ZWL` - Zimbabwean Dollar (2009) /// [JsonPropertyName("currency")] public TransactionCurrencyEnum? Currency { get; set; } @@ -388,15 +397,29 @@ public record ExpenseLineRequest [JsonPropertyName("tax_rate")] public string? TaxRate { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("integration_params")] public Dictionary? IntegrationParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("linked_account_params")] public Dictionary? LinkedAccountParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("remote_fields")] public IEnumerable? RemoteFields { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/ExpenseRequest.cs b/src/Merge.Client/Accounting/Types/ExpenseRequest.cs index 1167c530..f95b9ac1 100644 --- a/src/Merge.Client/Accounting/Types/ExpenseRequest.cs +++ b/src/Merge.Client/Accounting/Types/ExpenseRequest.cs @@ -1,9 +1,20 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Accounting; +/// +/// # The Expense Object +/// ### Description +/// The `Expense` object is used to represent a direct purchase by a business, typically made with a check, credit card, or cash. Each `Expense` object is dedicated to a grouping of expenses, with each expense recorded in the lines object. +/// +/// The `Expense` object is used also used to represent refunds to direct purchases. Refunds can be distinguished from purchases by the amount sign of the records. Expense objects with a negative amount are purchases and `Expense` objects with a positive amount are refunds to those purchases. +/// +/// ### Usage Example +/// Fetch from the `GET Expense` endpoint and view a company's expense. +/// public record ExpenseRequest { /// @@ -45,312 +56,312 @@ public record ExpenseRequest /// /// The expense's currency. /// - /// - `XUA` - ADB Unit of Account - /// - `AFN` - Afghan Afghani - /// - `AFA` - Afghan Afghani (1927–2002) - /// - `ALL` - Albanian Lek - /// - `ALK` - Albanian Lek (1946–1965) - /// - `DZD` - Algerian Dinar - /// - `ADP` - Andorran Peseta - /// - `AOA` - Angolan Kwanza - /// - `AOK` - Angolan Kwanza (1977–1991) - /// - `AON` - Angolan New Kwanza (1990–2000) - /// - `AOR` - Angolan Readjusted Kwanza (1995–1999) - /// - `ARA` - Argentine Austral - /// - `ARS` - Argentine Peso - /// - `ARM` - Argentine Peso (1881–1970) - /// - `ARP` - Argentine Peso (1983–1985) - /// - `ARL` - Argentine Peso Ley (1970–1983) - /// - `AMD` - Armenian Dram - /// - `AWG` - Aruban Florin - /// - `AUD` - Australian Dollar - /// - `ATS` - Austrian Schilling - /// - `AZN` - Azerbaijani Manat - /// - `AZM` - Azerbaijani Manat (1993–2006) - /// - `BSD` - Bahamian Dollar - /// - `BHD` - Bahraini Dinar - /// - `BDT` - Bangladeshi Taka - /// - `BBD` - Barbadian Dollar - /// - `BYN` - Belarusian Ruble - /// - `BYB` - Belarusian Ruble (1994–1999) - /// - `BYR` - Belarusian Ruble (2000–2016) - /// - `BEF` - Belgian Franc - /// - `BEC` - Belgian Franc (convertible) - /// - `BEL` - Belgian Franc (financial) - /// - `BZD` - Belize Dollar - /// - `BMD` - Bermudan Dollar - /// - `BTN` - Bhutanese Ngultrum - /// - `BOB` - Bolivian Boliviano - /// - `BOL` - Bolivian Boliviano (1863–1963) - /// - `BOV` - Bolivian Mvdol - /// - `BOP` - Bolivian Peso - /// - `BAM` - Bosnia-Herzegovina Convertible Mark - /// - `BAD` - Bosnia-Herzegovina Dinar (1992–1994) - /// - `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) - /// - `BWP` - Botswanan Pula - /// - `BRC` - Brazilian Cruzado (1986–1989) - /// - `BRZ` - Brazilian Cruzeiro (1942–1967) - /// - `BRE` - Brazilian Cruzeiro (1990–1993) - /// - `BRR` - Brazilian Cruzeiro (1993–1994) - /// - `BRN` - Brazilian New Cruzado (1989–1990) - /// - `BRB` - Brazilian New Cruzeiro (1967–1986) - /// - `BRL` - Brazilian Real - /// - `GBP` - British Pound - /// - `BND` - Brunei Dollar - /// - `BGL` - Bulgarian Hard Lev - /// - `BGN` - Bulgarian Lev - /// - `BGO` - Bulgarian Lev (1879–1952) - /// - `BGM` - Bulgarian Socialist Lev - /// - `BUK` - Burmese Kyat - /// - `BIF` - Burundian Franc - /// - `XPF` - CFP Franc - /// - `KHR` - Cambodian Riel - /// - `CAD` - Canadian Dollar - /// - `CVE` - Cape Verdean Escudo - /// - `KYD` - Cayman Islands Dollar - /// - `XAF` - Central African CFA Franc - /// - `CLE` - Chilean Escudo - /// - `CLP` - Chilean Peso - /// - `CLF` - Chilean Unit of Account (UF) - /// - `CNX` - Chinese People’s Bank Dollar - /// - `CNY` - Chinese Yuan - /// - `CNH` - Chinese Yuan (offshore) - /// - `COP` - Colombian Peso - /// - `COU` - Colombian Real Value Unit - /// - `KMF` - Comorian Franc - /// - `CDF` - Congolese Franc - /// - `CRC` - Costa Rican Colón - /// - `HRD` - Croatian Dinar - /// - `HRK` - Croatian Kuna - /// - `CUC` - Cuban Convertible Peso - /// - `CUP` - Cuban Peso - /// - `CYP` - Cypriot Pound - /// - `CZK` - Czech Koruna - /// - `CSK` - Czechoslovak Hard Koruna - /// - `DKK` - Danish Krone - /// - `DJF` - Djiboutian Franc - /// - `DOP` - Dominican Peso - /// - `NLG` - Dutch Guilder - /// - `XCD` - East Caribbean Dollar - /// - `DDM` - East German Mark - /// - `ECS` - Ecuadorian Sucre - /// - `ECV` - Ecuadorian Unit of Constant Value - /// - `EGP` - Egyptian Pound - /// - `GQE` - Equatorial Guinean Ekwele - /// - `ERN` - Eritrean Nakfa - /// - `EEK` - Estonian Kroon - /// - `ETB` - Ethiopian Birr - /// - `EUR` - Euro - /// - `XBA` - European Composite Unit - /// - `XEU` - European Currency Unit - /// - `XBB` - European Monetary Unit - /// - `XBC` - European Unit of Account (XBC) - /// - `XBD` - European Unit of Account (XBD) - /// - `FKP` - Falkland Islands Pound - /// - `FJD` - Fijian Dollar - /// - `FIM` - Finnish Markka - /// - `FRF` - French Franc - /// - `XFO` - French Gold Franc - /// - `XFU` - French UIC-Franc - /// - `GMD` - Gambian Dalasi - /// - `GEK` - Georgian Kupon Larit - /// - `GEL` - Georgian Lari - /// - `DEM` - German Mark - /// - `GHS` - Ghanaian Cedi - /// - `GHC` - Ghanaian Cedi (1979–2007) - /// - `GIP` - Gibraltar Pound - /// - `XAU` - Gold - /// - `GRD` - Greek Drachma - /// - `GTQ` - Guatemalan Quetzal - /// - `GWP` - Guinea-Bissau Peso - /// - `GNF` - Guinean Franc - /// - `GNS` - Guinean Syli - /// - `GYD` - Guyanaese Dollar - /// - `HTG` - Haitian Gourde - /// - `HNL` - Honduran Lempira - /// - `HKD` - Hong Kong Dollar - /// - `HUF` - Hungarian Forint - /// - `IMP` - IMP - /// - `ISK` - Icelandic Króna - /// - `ISJ` - Icelandic Króna (1918–1981) - /// - `INR` - Indian Rupee - /// - `IDR` - Indonesian Rupiah - /// - `IRR` - Iranian Rial - /// - `IQD` - Iraqi Dinar - /// - `IEP` - Irish Pound - /// - `ILS` - Israeli New Shekel - /// - `ILP` - Israeli Pound - /// - `ILR` - Israeli Shekel (1980–1985) - /// - `ITL` - Italian Lira - /// - `JMD` - Jamaican Dollar - /// - `JPY` - Japanese Yen - /// - `JOD` - Jordanian Dinar - /// - `KZT` - Kazakhstani Tenge - /// - `KES` - Kenyan Shilling - /// - `KWD` - Kuwaiti Dinar - /// - `KGS` - Kyrgystani Som - /// - `LAK` - Laotian Kip - /// - `LVL` - Latvian Lats - /// - `LVR` - Latvian Ruble - /// - `LBP` - Lebanese Pound - /// - `LSL` - Lesotho Loti - /// - `LRD` - Liberian Dollar - /// - `LYD` - Libyan Dinar - /// - `LTL` - Lithuanian Litas - /// - `LTT` - Lithuanian Talonas - /// - `LUL` - Luxembourg Financial Franc - /// - `LUC` - Luxembourgian Convertible Franc - /// - `LUF` - Luxembourgian Franc - /// - `MOP` - Macanese Pataca - /// - `MKD` - Macedonian Denar - /// - `MKN` - Macedonian Denar (1992–1993) - /// - `MGA` - Malagasy Ariary - /// - `MGF` - Malagasy Franc - /// - `MWK` - Malawian Kwacha - /// - `MYR` - Malaysian Ringgit - /// - `MVR` - Maldivian Rufiyaa - /// - `MVP` - Maldivian Rupee (1947–1981) - /// - `MLF` - Malian Franc - /// - `MTL` - Maltese Lira - /// - `MTP` - Maltese Pound - /// - `MRU` - Mauritanian Ouguiya - /// - `MRO` - Mauritanian Ouguiya (1973–2017) - /// - `MUR` - Mauritian Rupee - /// - `MXV` - Mexican Investment Unit - /// - `MXN` - Mexican Peso - /// - `MXP` - Mexican Silver Peso (1861–1992) - /// - `MDC` - Moldovan Cupon - /// - `MDL` - Moldovan Leu - /// - `MCF` - Monegasque Franc - /// - `MNT` - Mongolian Tugrik - /// - `MAD` - Moroccan Dirham - /// - `MAF` - Moroccan Franc - /// - `MZE` - Mozambican Escudo - /// - `MZN` - Mozambican Metical - /// - `MZM` - Mozambican Metical (1980–2006) - /// - `MMK` - Myanmar Kyat - /// - `NAD` - Namibian Dollar - /// - `NPR` - Nepalese Rupee - /// - `ANG` - Netherlands Antillean Guilder - /// - `TWD` - New Taiwan Dollar - /// - `NZD` - New Zealand Dollar - /// - `NIO` - Nicaraguan Córdoba - /// - `NIC` - Nicaraguan Córdoba (1988–1991) - /// - `NGN` - Nigerian Naira - /// - `KPW` - North Korean Won - /// - `NOK` - Norwegian Krone - /// - `OMR` - Omani Rial - /// - `PKR` - Pakistani Rupee - /// - `XPD` - Palladium - /// - `PAB` - Panamanian Balboa - /// - `PGK` - Papua New Guinean Kina - /// - `PYG` - Paraguayan Guarani - /// - `PEI` - Peruvian Inti - /// - `PEN` - Peruvian Sol - /// - `PES` - Peruvian Sol (1863–1965) - /// - `PHP` - Philippine Peso - /// - `XPT` - Platinum - /// - `PLN` - Polish Zloty - /// - `PLZ` - Polish Zloty (1950–1995) - /// - `PTE` - Portuguese Escudo - /// - `GWE` - Portuguese Guinea Escudo - /// - `QAR` - Qatari Rial - /// - `XRE` - RINET Funds - /// - `RHD` - Rhodesian Dollar - /// - `RON` - Romanian Leu - /// - `ROL` - Romanian Leu (1952–2006) - /// - `RUB` - Russian Ruble - /// - `RUR` - Russian Ruble (1991–1998) - /// - `RWF` - Rwandan Franc - /// - `SVC` - Salvadoran Colón - /// - `WST` - Samoan Tala - /// - `SAR` - Saudi Riyal - /// - `RSD` - Serbian Dinar - /// - `CSD` - Serbian Dinar (2002–2006) - /// - `SCR` - Seychellois Rupee - /// - `SLL` - Sierra Leonean Leone - /// - `XAG` - Silver - /// - `SGD` - Singapore Dollar - /// - `SKK` - Slovak Koruna - /// - `SIT` - Slovenian Tolar - /// - `SBD` - Solomon Islands Dollar - /// - `SOS` - Somali Shilling - /// - `ZAR` - South African Rand - /// - `ZAL` - South African Rand (financial) - /// - `KRH` - South Korean Hwan (1953–1962) - /// - `KRW` - South Korean Won - /// - `KRO` - South Korean Won (1945–1953) - /// - `SSP` - South Sudanese Pound - /// - `SUR` - Soviet Rouble - /// - `ESP` - Spanish Peseta - /// - `ESA` - Spanish Peseta (A account) - /// - `ESB` - Spanish Peseta (convertible account) - /// - `XDR` - Special Drawing Rights - /// - `LKR` - Sri Lankan Rupee - /// - `SHP` - St. Helena Pound - /// - `XSU` - Sucre - /// - `SDD` - Sudanese Dinar (1992–2007) - /// - `SDG` - Sudanese Pound - /// - `SDP` - Sudanese Pound (1957–1998) - /// - `SRD` - Surinamese Dollar - /// - `SRG` - Surinamese Guilder - /// - `SZL` - Swazi Lilangeni - /// - `SEK` - Swedish Krona - /// - `CHF` - Swiss Franc - /// - `SYP` - Syrian Pound - /// - `STN` - São Tomé & Príncipe Dobra - /// - `STD` - São Tomé & Príncipe Dobra (1977–2017) - /// - `TVD` - TVD - /// - `TJR` - Tajikistani Ruble - /// - `TJS` - Tajikistani Somoni - /// - `TZS` - Tanzanian Shilling - /// - `XTS` - Testing Currency Code - /// - `THB` - Thai Baht - /// - `XXX` - The codes assigned for transactions where no currency is involved - /// - `TPE` - Timorese Escudo - /// - `TOP` - Tongan Paʻanga - /// - `TTD` - Trinidad & Tobago Dollar - /// - `TND` - Tunisian Dinar - /// - `TRY` - Turkish Lira - /// - `TRL` - Turkish Lira (1922–2005) - /// - `TMT` - Turkmenistani Manat - /// - `TMM` - Turkmenistani Manat (1993–2009) - /// - `USD` - US Dollar - /// - `USN` - US Dollar (Next day) - /// - `USS` - US Dollar (Same day) - /// - `UGX` - Ugandan Shilling - /// - `UGS` - Ugandan Shilling (1966–1987) - /// - `UAH` - Ukrainian Hryvnia - /// - `UAK` - Ukrainian Karbovanets - /// - `AED` - United Arab Emirates Dirham - /// - `UYW` - Uruguayan Nominal Wage Index Unit - /// - `UYU` - Uruguayan Peso - /// - `UYP` - Uruguayan Peso (1975–1993) - /// - `UYI` - Uruguayan Peso (Indexed Units) - /// - `UZS` - Uzbekistani Som - /// - `VUV` - Vanuatu Vatu - /// - `VES` - Venezuelan Bolívar - /// - `VEB` - Venezuelan Bolívar (1871–2008) - /// - `VEF` - Venezuelan Bolívar (2008–2018) - /// - `VND` - Vietnamese Dong - /// - `VNN` - Vietnamese Dong (1978–1985) - /// - `CHE` - WIR Euro - /// - `CHW` - WIR Franc - /// - `XOF` - West African CFA Franc - /// - `YDD` - Yemeni Dinar - /// - `YER` - Yemeni Rial - /// - `YUN` - Yugoslavian Convertible Dinar (1990–1992) - /// - `YUD` - Yugoslavian Hard Dinar (1966–1990) - /// - `YUM` - Yugoslavian New Dinar (1994–2002) - /// - `YUR` - Yugoslavian Reformed Dinar (1992–1993) - /// - `ZWN` - ZWN - /// - `ZRN` - Zairean New Zaire (1993–1998) - /// - `ZRZ` - Zairean Zaire (1971–1993) - /// - `ZMW` - Zambian Kwacha - /// - `ZMK` - Zambian Kwacha (1968–2012) - /// - `ZWD` - Zimbabwean Dollar (1980–2008) - /// - `ZWR` - Zimbabwean Dollar (2008) - /// - `ZWL` - Zimbabwean Dollar (2009) + /// * `XUA` - ADB Unit of Account + /// * `AFN` - Afghan Afghani + /// * `AFA` - Afghan Afghani (1927–2002) + /// * `ALL` - Albanian Lek + /// * `ALK` - Albanian Lek (1946–1965) + /// * `DZD` - Algerian Dinar + /// * `ADP` - Andorran Peseta + /// * `AOA` - Angolan Kwanza + /// * `AOK` - Angolan Kwanza (1977–1991) + /// * `AON` - Angolan New Kwanza (1990–2000) + /// * `AOR` - Angolan Readjusted Kwanza (1995–1999) + /// * `ARA` - Argentine Austral + /// * `ARS` - Argentine Peso + /// * `ARM` - Argentine Peso (1881–1970) + /// * `ARP` - Argentine Peso (1983–1985) + /// * `ARL` - Argentine Peso Ley (1970–1983) + /// * `AMD` - Armenian Dram + /// * `AWG` - Aruban Florin + /// * `AUD` - Australian Dollar + /// * `ATS` - Austrian Schilling + /// * `AZN` - Azerbaijani Manat + /// * `AZM` - Azerbaijani Manat (1993–2006) + /// * `BSD` - Bahamian Dollar + /// * `BHD` - Bahraini Dinar + /// * `BDT` - Bangladeshi Taka + /// * `BBD` - Barbadian Dollar + /// * `BYN` - Belarusian Ruble + /// * `BYB` - Belarusian Ruble (1994–1999) + /// * `BYR` - Belarusian Ruble (2000–2016) + /// * `BEF` - Belgian Franc + /// * `BEC` - Belgian Franc (convertible) + /// * `BEL` - Belgian Franc (financial) + /// * `BZD` - Belize Dollar + /// * `BMD` - Bermudan Dollar + /// * `BTN` - Bhutanese Ngultrum + /// * `BOB` - Bolivian Boliviano + /// * `BOL` - Bolivian Boliviano (1863–1963) + /// * `BOV` - Bolivian Mvdol + /// * `BOP` - Bolivian Peso + /// * `BAM` - Bosnia-Herzegovina Convertible Mark + /// * `BAD` - Bosnia-Herzegovina Dinar (1992–1994) + /// * `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) + /// * `BWP` - Botswanan Pula + /// * `BRC` - Brazilian Cruzado (1986–1989) + /// * `BRZ` - Brazilian Cruzeiro (1942–1967) + /// * `BRE` - Brazilian Cruzeiro (1990–1993) + /// * `BRR` - Brazilian Cruzeiro (1993–1994) + /// * `BRN` - Brazilian New Cruzado (1989–1990) + /// * `BRB` - Brazilian New Cruzeiro (1967–1986) + /// * `BRL` - Brazilian Real + /// * `GBP` - British Pound + /// * `BND` - Brunei Dollar + /// * `BGL` - Bulgarian Hard Lev + /// * `BGN` - Bulgarian Lev + /// * `BGO` - Bulgarian Lev (1879–1952) + /// * `BGM` - Bulgarian Socialist Lev + /// * `BUK` - Burmese Kyat + /// * `BIF` - Burundian Franc + /// * `XPF` - CFP Franc + /// * `KHR` - Cambodian Riel + /// * `CAD` - Canadian Dollar + /// * `CVE` - Cape Verdean Escudo + /// * `KYD` - Cayman Islands Dollar + /// * `XAF` - Central African CFA Franc + /// * `CLE` - Chilean Escudo + /// * `CLP` - Chilean Peso + /// * `CLF` - Chilean Unit of Account (UF) + /// * `CNX` - Chinese People’s Bank Dollar + /// * `CNY` - Chinese Yuan + /// * `CNH` - Chinese Yuan (offshore) + /// * `COP` - Colombian Peso + /// * `COU` - Colombian Real Value Unit + /// * `KMF` - Comorian Franc + /// * `CDF` - Congolese Franc + /// * `CRC` - Costa Rican Colón + /// * `HRD` - Croatian Dinar + /// * `HRK` - Croatian Kuna + /// * `CUC` - Cuban Convertible Peso + /// * `CUP` - Cuban Peso + /// * `CYP` - Cypriot Pound + /// * `CZK` - Czech Koruna + /// * `CSK` - Czechoslovak Hard Koruna + /// * `DKK` - Danish Krone + /// * `DJF` - Djiboutian Franc + /// * `DOP` - Dominican Peso + /// * `NLG` - Dutch Guilder + /// * `XCD` - East Caribbean Dollar + /// * `DDM` - East German Mark + /// * `ECS` - Ecuadorian Sucre + /// * `ECV` - Ecuadorian Unit of Constant Value + /// * `EGP` - Egyptian Pound + /// * `GQE` - Equatorial Guinean Ekwele + /// * `ERN` - Eritrean Nakfa + /// * `EEK` - Estonian Kroon + /// * `ETB` - Ethiopian Birr + /// * `EUR` - Euro + /// * `XBA` - European Composite Unit + /// * `XEU` - European Currency Unit + /// * `XBB` - European Monetary Unit + /// * `XBC` - European Unit of Account (XBC) + /// * `XBD` - European Unit of Account (XBD) + /// * `FKP` - Falkland Islands Pound + /// * `FJD` - Fijian Dollar + /// * `FIM` - Finnish Markka + /// * `FRF` - French Franc + /// * `XFO` - French Gold Franc + /// * `XFU` - French UIC-Franc + /// * `GMD` - Gambian Dalasi + /// * `GEK` - Georgian Kupon Larit + /// * `GEL` - Georgian Lari + /// * `DEM` - German Mark + /// * `GHS` - Ghanaian Cedi + /// * `GHC` - Ghanaian Cedi (1979–2007) + /// * `GIP` - Gibraltar Pound + /// * `XAU` - Gold + /// * `GRD` - Greek Drachma + /// * `GTQ` - Guatemalan Quetzal + /// * `GWP` - Guinea-Bissau Peso + /// * `GNF` - Guinean Franc + /// * `GNS` - Guinean Syli + /// * `GYD` - Guyanaese Dollar + /// * `HTG` - Haitian Gourde + /// * `HNL` - Honduran Lempira + /// * `HKD` - Hong Kong Dollar + /// * `HUF` - Hungarian Forint + /// * `IMP` - IMP + /// * `ISK` - Icelandic Króna + /// * `ISJ` - Icelandic Króna (1918–1981) + /// * `INR` - Indian Rupee + /// * `IDR` - Indonesian Rupiah + /// * `IRR` - Iranian Rial + /// * `IQD` - Iraqi Dinar + /// * `IEP` - Irish Pound + /// * `ILS` - Israeli New Shekel + /// * `ILP` - Israeli Pound + /// * `ILR` - Israeli Shekel (1980–1985) + /// * `ITL` - Italian Lira + /// * `JMD` - Jamaican Dollar + /// * `JPY` - Japanese Yen + /// * `JOD` - Jordanian Dinar + /// * `KZT` - Kazakhstani Tenge + /// * `KES` - Kenyan Shilling + /// * `KWD` - Kuwaiti Dinar + /// * `KGS` - Kyrgystani Som + /// * `LAK` - Laotian Kip + /// * `LVL` - Latvian Lats + /// * `LVR` - Latvian Ruble + /// * `LBP` - Lebanese Pound + /// * `LSL` - Lesotho Loti + /// * `LRD` - Liberian Dollar + /// * `LYD` - Libyan Dinar + /// * `LTL` - Lithuanian Litas + /// * `LTT` - Lithuanian Talonas + /// * `LUL` - Luxembourg Financial Franc + /// * `LUC` - Luxembourgian Convertible Franc + /// * `LUF` - Luxembourgian Franc + /// * `MOP` - Macanese Pataca + /// * `MKD` - Macedonian Denar + /// * `MKN` - Macedonian Denar (1992–1993) + /// * `MGA` - Malagasy Ariary + /// * `MGF` - Malagasy Franc + /// * `MWK` - Malawian Kwacha + /// * `MYR` - Malaysian Ringgit + /// * `MVR` - Maldivian Rufiyaa + /// * `MVP` - Maldivian Rupee (1947–1981) + /// * `MLF` - Malian Franc + /// * `MTL` - Maltese Lira + /// * `MTP` - Maltese Pound + /// * `MRU` - Mauritanian Ouguiya + /// * `MRO` - Mauritanian Ouguiya (1973–2017) + /// * `MUR` - Mauritian Rupee + /// * `MXV` - Mexican Investment Unit + /// * `MXN` - Mexican Peso + /// * `MXP` - Mexican Silver Peso (1861–1992) + /// * `MDC` - Moldovan Cupon + /// * `MDL` - Moldovan Leu + /// * `MCF` - Monegasque Franc + /// * `MNT` - Mongolian Tugrik + /// * `MAD` - Moroccan Dirham + /// * `MAF` - Moroccan Franc + /// * `MZE` - Mozambican Escudo + /// * `MZN` - Mozambican Metical + /// * `MZM` - Mozambican Metical (1980–2006) + /// * `MMK` - Myanmar Kyat + /// * `NAD` - Namibian Dollar + /// * `NPR` - Nepalese Rupee + /// * `ANG` - Netherlands Antillean Guilder + /// * `TWD` - New Taiwan Dollar + /// * `NZD` - New Zealand Dollar + /// * `NIO` - Nicaraguan Córdoba + /// * `NIC` - Nicaraguan Córdoba (1988–1991) + /// * `NGN` - Nigerian Naira + /// * `KPW` - North Korean Won + /// * `NOK` - Norwegian Krone + /// * `OMR` - Omani Rial + /// * `PKR` - Pakistani Rupee + /// * `XPD` - Palladium + /// * `PAB` - Panamanian Balboa + /// * `PGK` - Papua New Guinean Kina + /// * `PYG` - Paraguayan Guarani + /// * `PEI` - Peruvian Inti + /// * `PEN` - Peruvian Sol + /// * `PES` - Peruvian Sol (1863–1965) + /// * `PHP` - Philippine Peso + /// * `XPT` - Platinum + /// * `PLN` - Polish Zloty + /// * `PLZ` - Polish Zloty (1950–1995) + /// * `PTE` - Portuguese Escudo + /// * `GWE` - Portuguese Guinea Escudo + /// * `QAR` - Qatari Rial + /// * `XRE` - RINET Funds + /// * `RHD` - Rhodesian Dollar + /// * `RON` - Romanian Leu + /// * `ROL` - Romanian Leu (1952–2006) + /// * `RUB` - Russian Ruble + /// * `RUR` - Russian Ruble (1991–1998) + /// * `RWF` - Rwandan Franc + /// * `SVC` - Salvadoran Colón + /// * `WST` - Samoan Tala + /// * `SAR` - Saudi Riyal + /// * `RSD` - Serbian Dinar + /// * `CSD` - Serbian Dinar (2002–2006) + /// * `SCR` - Seychellois Rupee + /// * `SLL` - Sierra Leonean Leone + /// * `XAG` - Silver + /// * `SGD` - Singapore Dollar + /// * `SKK` - Slovak Koruna + /// * `SIT` - Slovenian Tolar + /// * `SBD` - Solomon Islands Dollar + /// * `SOS` - Somali Shilling + /// * `ZAR` - South African Rand + /// * `ZAL` - South African Rand (financial) + /// * `KRH` - South Korean Hwan (1953–1962) + /// * `KRW` - South Korean Won + /// * `KRO` - South Korean Won (1945–1953) + /// * `SSP` - South Sudanese Pound + /// * `SUR` - Soviet Rouble + /// * `ESP` - Spanish Peseta + /// * `ESA` - Spanish Peseta (A account) + /// * `ESB` - Spanish Peseta (convertible account) + /// * `XDR` - Special Drawing Rights + /// * `LKR` - Sri Lankan Rupee + /// * `SHP` - St. Helena Pound + /// * `XSU` - Sucre + /// * `SDD` - Sudanese Dinar (1992–2007) + /// * `SDG` - Sudanese Pound + /// * `SDP` - Sudanese Pound (1957–1998) + /// * `SRD` - Surinamese Dollar + /// * `SRG` - Surinamese Guilder + /// * `SZL` - Swazi Lilangeni + /// * `SEK` - Swedish Krona + /// * `CHF` - Swiss Franc + /// * `SYP` - Syrian Pound + /// * `STN` - São Tomé & Príncipe Dobra + /// * `STD` - São Tomé & Príncipe Dobra (1977–2017) + /// * `TVD` - TVD + /// * `TJR` - Tajikistani Ruble + /// * `TJS` - Tajikistani Somoni + /// * `TZS` - Tanzanian Shilling + /// * `XTS` - Testing Currency Code + /// * `THB` - Thai Baht + /// * `XXX` - The codes assigned for transactions where no currency is involved + /// * `TPE` - Timorese Escudo + /// * `TOP` - Tongan Paʻanga + /// * `TTD` - Trinidad & Tobago Dollar + /// * `TND` - Tunisian Dinar + /// * `TRY` - Turkish Lira + /// * `TRL` - Turkish Lira (1922–2005) + /// * `TMT` - Turkmenistani Manat + /// * `TMM` - Turkmenistani Manat (1993–2009) + /// * `USD` - US Dollar + /// * `USN` - US Dollar (Next day) + /// * `USS` - US Dollar (Same day) + /// * `UGX` - Ugandan Shilling + /// * `UGS` - Ugandan Shilling (1966–1987) + /// * `UAH` - Ukrainian Hryvnia + /// * `UAK` - Ukrainian Karbovanets + /// * `AED` - United Arab Emirates Dirham + /// * `UYW` - Uruguayan Nominal Wage Index Unit + /// * `UYU` - Uruguayan Peso + /// * `UYP` - Uruguayan Peso (1975–1993) + /// * `UYI` - Uruguayan Peso (Indexed Units) + /// * `UZS` - Uzbekistani Som + /// * `VUV` - Vanuatu Vatu + /// * `VES` - Venezuelan Bolívar + /// * `VEB` - Venezuelan Bolívar (1871–2008) + /// * `VEF` - Venezuelan Bolívar (2008–2018) + /// * `VND` - Vietnamese Dong + /// * `VNN` - Vietnamese Dong (1978–1985) + /// * `CHE` - WIR Euro + /// * `CHW` - WIR Franc + /// * `XOF` - West African CFA Franc + /// * `YDD` - Yemeni Dinar + /// * `YER` - Yemeni Rial + /// * `YUN` - Yugoslavian Convertible Dinar (1990–1992) + /// * `YUD` - Yugoslavian Hard Dinar (1966–1990) + /// * `YUM` - Yugoslavian New Dinar (1994–2002) + /// * `YUR` - Yugoslavian Reformed Dinar (1992–1993) + /// * `ZWN` - ZWN + /// * `ZRN` - Zairean New Zaire (1993–1998) + /// * `ZRZ` - Zairean Zaire (1971–1993) + /// * `ZMW` - Zambian Kwacha + /// * `ZMK` - Zambian Kwacha (1968–2012) + /// * `ZWD` - Zimbabwean Dollar (1980–2008) + /// * `ZWR` - Zimbabwean Dollar (2008) + /// * `ZWL` - Zimbabwean Dollar (2009) /// [JsonPropertyName("currency")] public TransactionCurrencyEnum? Currency { get; set; } @@ -397,15 +408,29 @@ public record ExpenseRequest [JsonPropertyName("accounting_period")] public OneOf? AccountingPeriod { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("integration_params")] public Dictionary? IntegrationParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("linked_account_params")] public Dictionary? LinkedAccountParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("remote_fields")] public IEnumerable? RemoteFields { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/ExpenseResponse.cs b/src/Merge.Client/Accounting/Types/ExpenseResponse.cs index 5548113a..71fa8e58 100644 --- a/src/Merge.Client/Accounting/Types/ExpenseResponse.cs +++ b/src/Merge.Client/Accounting/Types/ExpenseResponse.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -19,6 +20,17 @@ public record ExpenseResponse [JsonPropertyName("logs")] public IEnumerable? Logs { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/ExternalTargetFieldApi.cs b/src/Merge.Client/Accounting/Types/ExternalTargetFieldApi.cs index b3b6be97..f286f6b9 100644 --- a/src/Merge.Client/Accounting/Types/ExternalTargetFieldApi.cs +++ b/src/Merge.Client/Accounting/Types/ExternalTargetFieldApi.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -5,15 +6,29 @@ namespace Merge.Client.Accounting; public record ExternalTargetFieldApi { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("name")] public string? Name { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("description")] public string? Description { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("is_mapped")] public string? IsMapped { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/ExternalTargetFieldApiResponse.cs b/src/Merge.Client/Accounting/Types/ExternalTargetFieldApiResponse.cs index 79c84b58..5cb60a60 100644 --- a/src/Merge.Client/Accounting/Types/ExternalTargetFieldApiResponse.cs +++ b/src/Merge.Client/Accounting/Types/ExternalTargetFieldApiResponse.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -71,6 +72,23 @@ public record ExternalTargetFieldApiResponse [JsonPropertyName("Employee")] public IEnumerable? Employee { get; set; } + [JsonPropertyName("PaymentMethod")] + public IEnumerable? PaymentMethod { get; set; } + + [JsonPropertyName("PaymentTerm")] + public IEnumerable? PaymentTerm { get; set; } + + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/FieldMappingApiInstance.cs b/src/Merge.Client/Accounting/Types/FieldMappingApiInstance.cs index 60b15d48..31e1e2eb 100644 --- a/src/Merge.Client/Accounting/Types/FieldMappingApiInstance.cs +++ b/src/Merge.Client/Accounting/Types/FieldMappingApiInstance.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -5,18 +6,33 @@ namespace Merge.Client.Accounting; public record FieldMappingApiInstance { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("is_integration_wide")] public bool? IsIntegrationWide { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("target_field")] public FieldMappingApiInstanceTargetField? TargetField { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_field")] public FieldMappingApiInstanceRemoteField? RemoteField { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/FieldMappingApiInstanceRemoteField.cs b/src/Merge.Client/Accounting/Types/FieldMappingApiInstanceRemoteField.cs index af545fff..4886fd11 100644 --- a/src/Merge.Client/Accounting/Types/FieldMappingApiInstanceRemoteField.cs +++ b/src/Merge.Client/Accounting/Types/FieldMappingApiInstanceRemoteField.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record FieldMappingApiInstanceRemoteField [JsonPropertyName("remote_endpoint_info")] public required FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo RemoteEndpointInfo { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo.cs b/src/Merge.Client/Accounting/Types/FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo.cs index 9dbbbd56..8c649a10 100644 --- a/src/Merge.Client/Accounting/Types/FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo.cs +++ b/src/Merge.Client/Accounting/Types/FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo [JsonPropertyName("field_traversal_path")] public IEnumerable? FieldTraversalPath { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/FieldMappingApiInstanceResponse.cs b/src/Merge.Client/Accounting/Types/FieldMappingApiInstanceResponse.cs index 7ced22db..7f97d3b2 100644 --- a/src/Merge.Client/Accounting/Types/FieldMappingApiInstanceResponse.cs +++ b/src/Merge.Client/Accounting/Types/FieldMappingApiInstanceResponse.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -71,6 +72,23 @@ public record FieldMappingApiInstanceResponse [JsonPropertyName("Employee")] public IEnumerable? Employee { get; set; } + [JsonPropertyName("PaymentMethod")] + public IEnumerable? PaymentMethod { get; set; } + + [JsonPropertyName("PaymentTerm")] + public IEnumerable? PaymentTerm { get; set; } + + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/FieldMappingApiInstanceTargetField.cs b/src/Merge.Client/Accounting/Types/FieldMappingApiInstanceTargetField.cs index 6dc2e7c8..36ef47ac 100644 --- a/src/Merge.Client/Accounting/Types/FieldMappingApiInstanceTargetField.cs +++ b/src/Merge.Client/Accounting/Types/FieldMappingApiInstanceTargetField.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record FieldMappingApiInstanceTargetField [JsonPropertyName("is_organization_wide")] public required bool IsOrganizationWide { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/FieldMappingInstanceResponse.cs b/src/Merge.Client/Accounting/Types/FieldMappingInstanceResponse.cs index cc22ce18..9c8c8983 100644 --- a/src/Merge.Client/Accounting/Types/FieldMappingInstanceResponse.cs +++ b/src/Merge.Client/Accounting/Types/FieldMappingInstanceResponse.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -19,6 +20,17 @@ public record FieldMappingInstanceResponse [JsonPropertyName("logs")] public IEnumerable? Logs { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/FieldPermissionDeserializer.cs b/src/Merge.Client/Accounting/Types/FieldPermissionDeserializer.cs index 88a5f5ce..ca7a9398 100644 --- a/src/Merge.Client/Accounting/Types/FieldPermissionDeserializer.cs +++ b/src/Merge.Client/Accounting/Types/FieldPermissionDeserializer.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -11,6 +12,17 @@ public record FieldPermissionDeserializer [JsonPropertyName("disabled_fields")] public IEnumerable? DisabledFields { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/FieldPermissionDeserializerRequest.cs b/src/Merge.Client/Accounting/Types/FieldPermissionDeserializerRequest.cs index 2a2d9e13..1bbd2288 100644 --- a/src/Merge.Client/Accounting/Types/FieldPermissionDeserializerRequest.cs +++ b/src/Merge.Client/Accounting/Types/FieldPermissionDeserializerRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -11,6 +12,17 @@ public record FieldPermissionDeserializerRequest [JsonPropertyName("disabled_fields")] public IEnumerable? DisabledFields { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/GeneralLedgerTransaction.cs b/src/Merge.Client/Accounting/Types/GeneralLedgerTransaction.cs index 2a9057d0..96304707 100644 --- a/src/Merge.Client/Accounting/Types/GeneralLedgerTransaction.cs +++ b/src/Merge.Client/Accounting/Types/GeneralLedgerTransaction.cs @@ -1,11 +1,25 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Accounting; +/// +/// # The GeneralLedgerTransaction Object +/// ### Description +/// A General Ledger Entry is a record of a financial transaction that is posted to the general ledger, the central repository of a company’s financial data. +/// +/// The `GeneralLedgerTransaction` object is a singular endpoint to pull all transactions posted to a company’s general ledger. The transaction that generated the `GeneralLedgerTransaction` can be found by referencing the `underlying_transaction_type` and `underlying_transaction_remote_id` fields. +/// +/// The lines of a `GeneralLedgerTransaction` object will always have equal amounts of debits and credits. +/// +/// ### Usage Example +/// Fetch from the `GET GeneralLedgerTransaction` endpoint and view a general ledger transaction. +/// public record GeneralLedgerTransaction { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -18,12 +32,14 @@ public record GeneralLedgerTransaction /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -36,13 +52,13 @@ public record GeneralLedgerTransaction /// /// The type of the underlying transaction. /// - /// - `INVOICE` - INVOICE - /// - `EXPENSE` - EXPENSE - /// - `TRANSACTION` - TRANSACTION - /// - `JOURNAL_ENTRY` - JOURNAL_ENTRY - /// - `PAYMENT` - PAYMENT - /// - `VENDOR_CREDIT` - VENDOR_CREDIT - /// - `CREDIT_NOTE` - CREDIT_NOTE + /// * `INVOICE` - INVOICE + /// * `EXPENSE` - EXPENSE + /// * `TRANSACTION` - TRANSACTION + /// * `JOURNAL_ENTRY` - JOURNAL_ENTRY + /// * `PAYMENT` - PAYMENT + /// * `VENDOR_CREDIT` - VENDOR_CREDIT + /// * `CREDIT_NOTE` - CREDIT_NOTE /// [JsonPropertyName("underlying_transaction_type")] public UnderlyingTransactionTypeEnum? UnderlyingTransactionType { get; set; } @@ -83,6 +99,7 @@ public record GeneralLedgerTransaction /// /// A list of “General Ledger Transaction Applied to Lines” objects. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("general_ledger_transaction_lines")] public IEnumerable< OneOf @@ -91,15 +108,29 @@ public IEnumerable< /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/GeneralLedgerTransactionLine.cs b/src/Merge.Client/Accounting/Types/GeneralLedgerTransactionLine.cs index c5b94724..18dd1d4d 100644 --- a/src/Merge.Client/Accounting/Types/GeneralLedgerTransactionLine.cs +++ b/src/Merge.Client/Accounting/Types/GeneralLedgerTransactionLine.cs @@ -1,11 +1,21 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Accounting; +/// +/// # The GeneralLedgerTransactionLineSerializer Object +/// ### Description +/// The `GeneralLedgerTransactionLineSerializer` object represents general ledger transaction line item. +/// +/// ### Usage Example Fetch from the `GET GeneralLedgerTransactionLineSerializer` endpoint and view an +/// `GeneralLedgerTransaction` line item. +/// public record GeneralLedgerTransactionLine { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -18,12 +28,14 @@ public record GeneralLedgerTransactionLine /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -45,312 +57,312 @@ public record GeneralLedgerTransactionLine /// /// The base currency of the transaction /// - /// - `XUA` - ADB Unit of Account - /// - `AFN` - Afghan Afghani - /// - `AFA` - Afghan Afghani (1927–2002) - /// - `ALL` - Albanian Lek - /// - `ALK` - Albanian Lek (1946–1965) - /// - `DZD` - Algerian Dinar - /// - `ADP` - Andorran Peseta - /// - `AOA` - Angolan Kwanza - /// - `AOK` - Angolan Kwanza (1977–1991) - /// - `AON` - Angolan New Kwanza (1990–2000) - /// - `AOR` - Angolan Readjusted Kwanza (1995–1999) - /// - `ARA` - Argentine Austral - /// - `ARS` - Argentine Peso - /// - `ARM` - Argentine Peso (1881–1970) - /// - `ARP` - Argentine Peso (1983–1985) - /// - `ARL` - Argentine Peso Ley (1970–1983) - /// - `AMD` - Armenian Dram - /// - `AWG` - Aruban Florin - /// - `AUD` - Australian Dollar - /// - `ATS` - Austrian Schilling - /// - `AZN` - Azerbaijani Manat - /// - `AZM` - Azerbaijani Manat (1993–2006) - /// - `BSD` - Bahamian Dollar - /// - `BHD` - Bahraini Dinar - /// - `BDT` - Bangladeshi Taka - /// - `BBD` - Barbadian Dollar - /// - `BYN` - Belarusian Ruble - /// - `BYB` - Belarusian Ruble (1994–1999) - /// - `BYR` - Belarusian Ruble (2000–2016) - /// - `BEF` - Belgian Franc - /// - `BEC` - Belgian Franc (convertible) - /// - `BEL` - Belgian Franc (financial) - /// - `BZD` - Belize Dollar - /// - `BMD` - Bermudan Dollar - /// - `BTN` - Bhutanese Ngultrum - /// - `BOB` - Bolivian Boliviano - /// - `BOL` - Bolivian Boliviano (1863–1963) - /// - `BOV` - Bolivian Mvdol - /// - `BOP` - Bolivian Peso - /// - `BAM` - Bosnia-Herzegovina Convertible Mark - /// - `BAD` - Bosnia-Herzegovina Dinar (1992–1994) - /// - `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) - /// - `BWP` - Botswanan Pula - /// - `BRC` - Brazilian Cruzado (1986–1989) - /// - `BRZ` - Brazilian Cruzeiro (1942–1967) - /// - `BRE` - Brazilian Cruzeiro (1990–1993) - /// - `BRR` - Brazilian Cruzeiro (1993–1994) - /// - `BRN` - Brazilian New Cruzado (1989–1990) - /// - `BRB` - Brazilian New Cruzeiro (1967–1986) - /// - `BRL` - Brazilian Real - /// - `GBP` - British Pound - /// - `BND` - Brunei Dollar - /// - `BGL` - Bulgarian Hard Lev - /// - `BGN` - Bulgarian Lev - /// - `BGO` - Bulgarian Lev (1879–1952) - /// - `BGM` - Bulgarian Socialist Lev - /// - `BUK` - Burmese Kyat - /// - `BIF` - Burundian Franc - /// - `XPF` - CFP Franc - /// - `KHR` - Cambodian Riel - /// - `CAD` - Canadian Dollar - /// - `CVE` - Cape Verdean Escudo - /// - `KYD` - Cayman Islands Dollar - /// - `XAF` - Central African CFA Franc - /// - `CLE` - Chilean Escudo - /// - `CLP` - Chilean Peso - /// - `CLF` - Chilean Unit of Account (UF) - /// - `CNX` - Chinese People’s Bank Dollar - /// - `CNY` - Chinese Yuan - /// - `CNH` - Chinese Yuan (offshore) - /// - `COP` - Colombian Peso - /// - `COU` - Colombian Real Value Unit - /// - `KMF` - Comorian Franc - /// - `CDF` - Congolese Franc - /// - `CRC` - Costa Rican Colón - /// - `HRD` - Croatian Dinar - /// - `HRK` - Croatian Kuna - /// - `CUC` - Cuban Convertible Peso - /// - `CUP` - Cuban Peso - /// - `CYP` - Cypriot Pound - /// - `CZK` - Czech Koruna - /// - `CSK` - Czechoslovak Hard Koruna - /// - `DKK` - Danish Krone - /// - `DJF` - Djiboutian Franc - /// - `DOP` - Dominican Peso - /// - `NLG` - Dutch Guilder - /// - `XCD` - East Caribbean Dollar - /// - `DDM` - East German Mark - /// - `ECS` - Ecuadorian Sucre - /// - `ECV` - Ecuadorian Unit of Constant Value - /// - `EGP` - Egyptian Pound - /// - `GQE` - Equatorial Guinean Ekwele - /// - `ERN` - Eritrean Nakfa - /// - `EEK` - Estonian Kroon - /// - `ETB` - Ethiopian Birr - /// - `EUR` - Euro - /// - `XBA` - European Composite Unit - /// - `XEU` - European Currency Unit - /// - `XBB` - European Monetary Unit - /// - `XBC` - European Unit of Account (XBC) - /// - `XBD` - European Unit of Account (XBD) - /// - `FKP` - Falkland Islands Pound - /// - `FJD` - Fijian Dollar - /// - `FIM` - Finnish Markka - /// - `FRF` - French Franc - /// - `XFO` - French Gold Franc - /// - `XFU` - French UIC-Franc - /// - `GMD` - Gambian Dalasi - /// - `GEK` - Georgian Kupon Larit - /// - `GEL` - Georgian Lari - /// - `DEM` - German Mark - /// - `GHS` - Ghanaian Cedi - /// - `GHC` - Ghanaian Cedi (1979–2007) - /// - `GIP` - Gibraltar Pound - /// - `XAU` - Gold - /// - `GRD` - Greek Drachma - /// - `GTQ` - Guatemalan Quetzal - /// - `GWP` - Guinea-Bissau Peso - /// - `GNF` - Guinean Franc - /// - `GNS` - Guinean Syli - /// - `GYD` - Guyanaese Dollar - /// - `HTG` - Haitian Gourde - /// - `HNL` - Honduran Lempira - /// - `HKD` - Hong Kong Dollar - /// - `HUF` - Hungarian Forint - /// - `IMP` - IMP - /// - `ISK` - Icelandic Króna - /// - `ISJ` - Icelandic Króna (1918–1981) - /// - `INR` - Indian Rupee - /// - `IDR` - Indonesian Rupiah - /// - `IRR` - Iranian Rial - /// - `IQD` - Iraqi Dinar - /// - `IEP` - Irish Pound - /// - `ILS` - Israeli New Shekel - /// - `ILP` - Israeli Pound - /// - `ILR` - Israeli Shekel (1980–1985) - /// - `ITL` - Italian Lira - /// - `JMD` - Jamaican Dollar - /// - `JPY` - Japanese Yen - /// - `JOD` - Jordanian Dinar - /// - `KZT` - Kazakhstani Tenge - /// - `KES` - Kenyan Shilling - /// - `KWD` - Kuwaiti Dinar - /// - `KGS` - Kyrgystani Som - /// - `LAK` - Laotian Kip - /// - `LVL` - Latvian Lats - /// - `LVR` - Latvian Ruble - /// - `LBP` - Lebanese Pound - /// - `LSL` - Lesotho Loti - /// - `LRD` - Liberian Dollar - /// - `LYD` - Libyan Dinar - /// - `LTL` - Lithuanian Litas - /// - `LTT` - Lithuanian Talonas - /// - `LUL` - Luxembourg Financial Franc - /// - `LUC` - Luxembourgian Convertible Franc - /// - `LUF` - Luxembourgian Franc - /// - `MOP` - Macanese Pataca - /// - `MKD` - Macedonian Denar - /// - `MKN` - Macedonian Denar (1992–1993) - /// - `MGA` - Malagasy Ariary - /// - `MGF` - Malagasy Franc - /// - `MWK` - Malawian Kwacha - /// - `MYR` - Malaysian Ringgit - /// - `MVR` - Maldivian Rufiyaa - /// - `MVP` - Maldivian Rupee (1947–1981) - /// - `MLF` - Malian Franc - /// - `MTL` - Maltese Lira - /// - `MTP` - Maltese Pound - /// - `MRU` - Mauritanian Ouguiya - /// - `MRO` - Mauritanian Ouguiya (1973–2017) - /// - `MUR` - Mauritian Rupee - /// - `MXV` - Mexican Investment Unit - /// - `MXN` - Mexican Peso - /// - `MXP` - Mexican Silver Peso (1861–1992) - /// - `MDC` - Moldovan Cupon - /// - `MDL` - Moldovan Leu - /// - `MCF` - Monegasque Franc - /// - `MNT` - Mongolian Tugrik - /// - `MAD` - Moroccan Dirham - /// - `MAF` - Moroccan Franc - /// - `MZE` - Mozambican Escudo - /// - `MZN` - Mozambican Metical - /// - `MZM` - Mozambican Metical (1980–2006) - /// - `MMK` - Myanmar Kyat - /// - `NAD` - Namibian Dollar - /// - `NPR` - Nepalese Rupee - /// - `ANG` - Netherlands Antillean Guilder - /// - `TWD` - New Taiwan Dollar - /// - `NZD` - New Zealand Dollar - /// - `NIO` - Nicaraguan Córdoba - /// - `NIC` - Nicaraguan Córdoba (1988–1991) - /// - `NGN` - Nigerian Naira - /// - `KPW` - North Korean Won - /// - `NOK` - Norwegian Krone - /// - `OMR` - Omani Rial - /// - `PKR` - Pakistani Rupee - /// - `XPD` - Palladium - /// - `PAB` - Panamanian Balboa - /// - `PGK` - Papua New Guinean Kina - /// - `PYG` - Paraguayan Guarani - /// - `PEI` - Peruvian Inti - /// - `PEN` - Peruvian Sol - /// - `PES` - Peruvian Sol (1863–1965) - /// - `PHP` - Philippine Peso - /// - `XPT` - Platinum - /// - `PLN` - Polish Zloty - /// - `PLZ` - Polish Zloty (1950–1995) - /// - `PTE` - Portuguese Escudo - /// - `GWE` - Portuguese Guinea Escudo - /// - `QAR` - Qatari Rial - /// - `XRE` - RINET Funds - /// - `RHD` - Rhodesian Dollar - /// - `RON` - Romanian Leu - /// - `ROL` - Romanian Leu (1952–2006) - /// - `RUB` - Russian Ruble - /// - `RUR` - Russian Ruble (1991–1998) - /// - `RWF` - Rwandan Franc - /// - `SVC` - Salvadoran Colón - /// - `WST` - Samoan Tala - /// - `SAR` - Saudi Riyal - /// - `RSD` - Serbian Dinar - /// - `CSD` - Serbian Dinar (2002–2006) - /// - `SCR` - Seychellois Rupee - /// - `SLL` - Sierra Leonean Leone - /// - `XAG` - Silver - /// - `SGD` - Singapore Dollar - /// - `SKK` - Slovak Koruna - /// - `SIT` - Slovenian Tolar - /// - `SBD` - Solomon Islands Dollar - /// - `SOS` - Somali Shilling - /// - `ZAR` - South African Rand - /// - `ZAL` - South African Rand (financial) - /// - `KRH` - South Korean Hwan (1953–1962) - /// - `KRW` - South Korean Won - /// - `KRO` - South Korean Won (1945–1953) - /// - `SSP` - South Sudanese Pound - /// - `SUR` - Soviet Rouble - /// - `ESP` - Spanish Peseta - /// - `ESA` - Spanish Peseta (A account) - /// - `ESB` - Spanish Peseta (convertible account) - /// - `XDR` - Special Drawing Rights - /// - `LKR` - Sri Lankan Rupee - /// - `SHP` - St. Helena Pound - /// - `XSU` - Sucre - /// - `SDD` - Sudanese Dinar (1992–2007) - /// - `SDG` - Sudanese Pound - /// - `SDP` - Sudanese Pound (1957–1998) - /// - `SRD` - Surinamese Dollar - /// - `SRG` - Surinamese Guilder - /// - `SZL` - Swazi Lilangeni - /// - `SEK` - Swedish Krona - /// - `CHF` - Swiss Franc - /// - `SYP` - Syrian Pound - /// - `STN` - São Tomé & Príncipe Dobra - /// - `STD` - São Tomé & Príncipe Dobra (1977–2017) - /// - `TVD` - TVD - /// - `TJR` - Tajikistani Ruble - /// - `TJS` - Tajikistani Somoni - /// - `TZS` - Tanzanian Shilling - /// - `XTS` - Testing Currency Code - /// - `THB` - Thai Baht - /// - `XXX` - The codes assigned for transactions where no currency is involved - /// - `TPE` - Timorese Escudo - /// - `TOP` - Tongan Paʻanga - /// - `TTD` - Trinidad & Tobago Dollar - /// - `TND` - Tunisian Dinar - /// - `TRY` - Turkish Lira - /// - `TRL` - Turkish Lira (1922–2005) - /// - `TMT` - Turkmenistani Manat - /// - `TMM` - Turkmenistani Manat (1993–2009) - /// - `USD` - US Dollar - /// - `USN` - US Dollar (Next day) - /// - `USS` - US Dollar (Same day) - /// - `UGX` - Ugandan Shilling - /// - `UGS` - Ugandan Shilling (1966–1987) - /// - `UAH` - Ukrainian Hryvnia - /// - `UAK` - Ukrainian Karbovanets - /// - `AED` - United Arab Emirates Dirham - /// - `UYW` - Uruguayan Nominal Wage Index Unit - /// - `UYU` - Uruguayan Peso - /// - `UYP` - Uruguayan Peso (1975–1993) - /// - `UYI` - Uruguayan Peso (Indexed Units) - /// - `UZS` - Uzbekistani Som - /// - `VUV` - Vanuatu Vatu - /// - `VES` - Venezuelan Bolívar - /// - `VEB` - Venezuelan Bolívar (1871–2008) - /// - `VEF` - Venezuelan Bolívar (2008–2018) - /// - `VND` - Vietnamese Dong - /// - `VNN` - Vietnamese Dong (1978–1985) - /// - `CHE` - WIR Euro - /// - `CHW` - WIR Franc - /// - `XOF` - West African CFA Franc - /// - `YDD` - Yemeni Dinar - /// - `YER` - Yemeni Rial - /// - `YUN` - Yugoslavian Convertible Dinar (1990–1992) - /// - `YUD` - Yugoslavian Hard Dinar (1966–1990) - /// - `YUM` - Yugoslavian New Dinar (1994–2002) - /// - `YUR` - Yugoslavian Reformed Dinar (1992–1993) - /// - `ZWN` - ZWN - /// - `ZRN` - Zairean New Zaire (1993–1998) - /// - `ZRZ` - Zairean Zaire (1971–1993) - /// - `ZMW` - Zambian Kwacha - /// - `ZMK` - Zambian Kwacha (1968–2012) - /// - `ZWD` - Zimbabwean Dollar (1980–2008) - /// - `ZWR` - Zimbabwean Dollar (2008) - /// - `ZWL` - Zimbabwean Dollar (2009) + /// * `XUA` - ADB Unit of Account + /// * `AFN` - Afghan Afghani + /// * `AFA` - Afghan Afghani (1927–2002) + /// * `ALL` - Albanian Lek + /// * `ALK` - Albanian Lek (1946–1965) + /// * `DZD` - Algerian Dinar + /// * `ADP` - Andorran Peseta + /// * `AOA` - Angolan Kwanza + /// * `AOK` - Angolan Kwanza (1977–1991) + /// * `AON` - Angolan New Kwanza (1990–2000) + /// * `AOR` - Angolan Readjusted Kwanza (1995–1999) + /// * `ARA` - Argentine Austral + /// * `ARS` - Argentine Peso + /// * `ARM` - Argentine Peso (1881–1970) + /// * `ARP` - Argentine Peso (1983–1985) + /// * `ARL` - Argentine Peso Ley (1970–1983) + /// * `AMD` - Armenian Dram + /// * `AWG` - Aruban Florin + /// * `AUD` - Australian Dollar + /// * `ATS` - Austrian Schilling + /// * `AZN` - Azerbaijani Manat + /// * `AZM` - Azerbaijani Manat (1993–2006) + /// * `BSD` - Bahamian Dollar + /// * `BHD` - Bahraini Dinar + /// * `BDT` - Bangladeshi Taka + /// * `BBD` - Barbadian Dollar + /// * `BYN` - Belarusian Ruble + /// * `BYB` - Belarusian Ruble (1994–1999) + /// * `BYR` - Belarusian Ruble (2000–2016) + /// * `BEF` - Belgian Franc + /// * `BEC` - Belgian Franc (convertible) + /// * `BEL` - Belgian Franc (financial) + /// * `BZD` - Belize Dollar + /// * `BMD` - Bermudan Dollar + /// * `BTN` - Bhutanese Ngultrum + /// * `BOB` - Bolivian Boliviano + /// * `BOL` - Bolivian Boliviano (1863–1963) + /// * `BOV` - Bolivian Mvdol + /// * `BOP` - Bolivian Peso + /// * `BAM` - Bosnia-Herzegovina Convertible Mark + /// * `BAD` - Bosnia-Herzegovina Dinar (1992–1994) + /// * `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) + /// * `BWP` - Botswanan Pula + /// * `BRC` - Brazilian Cruzado (1986–1989) + /// * `BRZ` - Brazilian Cruzeiro (1942–1967) + /// * `BRE` - Brazilian Cruzeiro (1990–1993) + /// * `BRR` - Brazilian Cruzeiro (1993–1994) + /// * `BRN` - Brazilian New Cruzado (1989–1990) + /// * `BRB` - Brazilian New Cruzeiro (1967–1986) + /// * `BRL` - Brazilian Real + /// * `GBP` - British Pound + /// * `BND` - Brunei Dollar + /// * `BGL` - Bulgarian Hard Lev + /// * `BGN` - Bulgarian Lev + /// * `BGO` - Bulgarian Lev (1879–1952) + /// * `BGM` - Bulgarian Socialist Lev + /// * `BUK` - Burmese Kyat + /// * `BIF` - Burundian Franc + /// * `XPF` - CFP Franc + /// * `KHR` - Cambodian Riel + /// * `CAD` - Canadian Dollar + /// * `CVE` - Cape Verdean Escudo + /// * `KYD` - Cayman Islands Dollar + /// * `XAF` - Central African CFA Franc + /// * `CLE` - Chilean Escudo + /// * `CLP` - Chilean Peso + /// * `CLF` - Chilean Unit of Account (UF) + /// * `CNX` - Chinese People’s Bank Dollar + /// * `CNY` - Chinese Yuan + /// * `CNH` - Chinese Yuan (offshore) + /// * `COP` - Colombian Peso + /// * `COU` - Colombian Real Value Unit + /// * `KMF` - Comorian Franc + /// * `CDF` - Congolese Franc + /// * `CRC` - Costa Rican Colón + /// * `HRD` - Croatian Dinar + /// * `HRK` - Croatian Kuna + /// * `CUC` - Cuban Convertible Peso + /// * `CUP` - Cuban Peso + /// * `CYP` - Cypriot Pound + /// * `CZK` - Czech Koruna + /// * `CSK` - Czechoslovak Hard Koruna + /// * `DKK` - Danish Krone + /// * `DJF` - Djiboutian Franc + /// * `DOP` - Dominican Peso + /// * `NLG` - Dutch Guilder + /// * `XCD` - East Caribbean Dollar + /// * `DDM` - East German Mark + /// * `ECS` - Ecuadorian Sucre + /// * `ECV` - Ecuadorian Unit of Constant Value + /// * `EGP` - Egyptian Pound + /// * `GQE` - Equatorial Guinean Ekwele + /// * `ERN` - Eritrean Nakfa + /// * `EEK` - Estonian Kroon + /// * `ETB` - Ethiopian Birr + /// * `EUR` - Euro + /// * `XBA` - European Composite Unit + /// * `XEU` - European Currency Unit + /// * `XBB` - European Monetary Unit + /// * `XBC` - European Unit of Account (XBC) + /// * `XBD` - European Unit of Account (XBD) + /// * `FKP` - Falkland Islands Pound + /// * `FJD` - Fijian Dollar + /// * `FIM` - Finnish Markka + /// * `FRF` - French Franc + /// * `XFO` - French Gold Franc + /// * `XFU` - French UIC-Franc + /// * `GMD` - Gambian Dalasi + /// * `GEK` - Georgian Kupon Larit + /// * `GEL` - Georgian Lari + /// * `DEM` - German Mark + /// * `GHS` - Ghanaian Cedi + /// * `GHC` - Ghanaian Cedi (1979–2007) + /// * `GIP` - Gibraltar Pound + /// * `XAU` - Gold + /// * `GRD` - Greek Drachma + /// * `GTQ` - Guatemalan Quetzal + /// * `GWP` - Guinea-Bissau Peso + /// * `GNF` - Guinean Franc + /// * `GNS` - Guinean Syli + /// * `GYD` - Guyanaese Dollar + /// * `HTG` - Haitian Gourde + /// * `HNL` - Honduran Lempira + /// * `HKD` - Hong Kong Dollar + /// * `HUF` - Hungarian Forint + /// * `IMP` - IMP + /// * `ISK` - Icelandic Króna + /// * `ISJ` - Icelandic Króna (1918–1981) + /// * `INR` - Indian Rupee + /// * `IDR` - Indonesian Rupiah + /// * `IRR` - Iranian Rial + /// * `IQD` - Iraqi Dinar + /// * `IEP` - Irish Pound + /// * `ILS` - Israeli New Shekel + /// * `ILP` - Israeli Pound + /// * `ILR` - Israeli Shekel (1980–1985) + /// * `ITL` - Italian Lira + /// * `JMD` - Jamaican Dollar + /// * `JPY` - Japanese Yen + /// * `JOD` - Jordanian Dinar + /// * `KZT` - Kazakhstani Tenge + /// * `KES` - Kenyan Shilling + /// * `KWD` - Kuwaiti Dinar + /// * `KGS` - Kyrgystani Som + /// * `LAK` - Laotian Kip + /// * `LVL` - Latvian Lats + /// * `LVR` - Latvian Ruble + /// * `LBP` - Lebanese Pound + /// * `LSL` - Lesotho Loti + /// * `LRD` - Liberian Dollar + /// * `LYD` - Libyan Dinar + /// * `LTL` - Lithuanian Litas + /// * `LTT` - Lithuanian Talonas + /// * `LUL` - Luxembourg Financial Franc + /// * `LUC` - Luxembourgian Convertible Franc + /// * `LUF` - Luxembourgian Franc + /// * `MOP` - Macanese Pataca + /// * `MKD` - Macedonian Denar + /// * `MKN` - Macedonian Denar (1992–1993) + /// * `MGA` - Malagasy Ariary + /// * `MGF` - Malagasy Franc + /// * `MWK` - Malawian Kwacha + /// * `MYR` - Malaysian Ringgit + /// * `MVR` - Maldivian Rufiyaa + /// * `MVP` - Maldivian Rupee (1947–1981) + /// * `MLF` - Malian Franc + /// * `MTL` - Maltese Lira + /// * `MTP` - Maltese Pound + /// * `MRU` - Mauritanian Ouguiya + /// * `MRO` - Mauritanian Ouguiya (1973–2017) + /// * `MUR` - Mauritian Rupee + /// * `MXV` - Mexican Investment Unit + /// * `MXN` - Mexican Peso + /// * `MXP` - Mexican Silver Peso (1861–1992) + /// * `MDC` - Moldovan Cupon + /// * `MDL` - Moldovan Leu + /// * `MCF` - Monegasque Franc + /// * `MNT` - Mongolian Tugrik + /// * `MAD` - Moroccan Dirham + /// * `MAF` - Moroccan Franc + /// * `MZE` - Mozambican Escudo + /// * `MZN` - Mozambican Metical + /// * `MZM` - Mozambican Metical (1980–2006) + /// * `MMK` - Myanmar Kyat + /// * `NAD` - Namibian Dollar + /// * `NPR` - Nepalese Rupee + /// * `ANG` - Netherlands Antillean Guilder + /// * `TWD` - New Taiwan Dollar + /// * `NZD` - New Zealand Dollar + /// * `NIO` - Nicaraguan Córdoba + /// * `NIC` - Nicaraguan Córdoba (1988–1991) + /// * `NGN` - Nigerian Naira + /// * `KPW` - North Korean Won + /// * `NOK` - Norwegian Krone + /// * `OMR` - Omani Rial + /// * `PKR` - Pakistani Rupee + /// * `XPD` - Palladium + /// * `PAB` - Panamanian Balboa + /// * `PGK` - Papua New Guinean Kina + /// * `PYG` - Paraguayan Guarani + /// * `PEI` - Peruvian Inti + /// * `PEN` - Peruvian Sol + /// * `PES` - Peruvian Sol (1863–1965) + /// * `PHP` - Philippine Peso + /// * `XPT` - Platinum + /// * `PLN` - Polish Zloty + /// * `PLZ` - Polish Zloty (1950–1995) + /// * `PTE` - Portuguese Escudo + /// * `GWE` - Portuguese Guinea Escudo + /// * `QAR` - Qatari Rial + /// * `XRE` - RINET Funds + /// * `RHD` - Rhodesian Dollar + /// * `RON` - Romanian Leu + /// * `ROL` - Romanian Leu (1952–2006) + /// * `RUB` - Russian Ruble + /// * `RUR` - Russian Ruble (1991–1998) + /// * `RWF` - Rwandan Franc + /// * `SVC` - Salvadoran Colón + /// * `WST` - Samoan Tala + /// * `SAR` - Saudi Riyal + /// * `RSD` - Serbian Dinar + /// * `CSD` - Serbian Dinar (2002–2006) + /// * `SCR` - Seychellois Rupee + /// * `SLL` - Sierra Leonean Leone + /// * `XAG` - Silver + /// * `SGD` - Singapore Dollar + /// * `SKK` - Slovak Koruna + /// * `SIT` - Slovenian Tolar + /// * `SBD` - Solomon Islands Dollar + /// * `SOS` - Somali Shilling + /// * `ZAR` - South African Rand + /// * `ZAL` - South African Rand (financial) + /// * `KRH` - South Korean Hwan (1953–1962) + /// * `KRW` - South Korean Won + /// * `KRO` - South Korean Won (1945–1953) + /// * `SSP` - South Sudanese Pound + /// * `SUR` - Soviet Rouble + /// * `ESP` - Spanish Peseta + /// * `ESA` - Spanish Peseta (A account) + /// * `ESB` - Spanish Peseta (convertible account) + /// * `XDR` - Special Drawing Rights + /// * `LKR` - Sri Lankan Rupee + /// * `SHP` - St. Helena Pound + /// * `XSU` - Sucre + /// * `SDD` - Sudanese Dinar (1992–2007) + /// * `SDG` - Sudanese Pound + /// * `SDP` - Sudanese Pound (1957–1998) + /// * `SRD` - Surinamese Dollar + /// * `SRG` - Surinamese Guilder + /// * `SZL` - Swazi Lilangeni + /// * `SEK` - Swedish Krona + /// * `CHF` - Swiss Franc + /// * `SYP` - Syrian Pound + /// * `STN` - São Tomé & Príncipe Dobra + /// * `STD` - São Tomé & Príncipe Dobra (1977–2017) + /// * `TVD` - TVD + /// * `TJR` - Tajikistani Ruble + /// * `TJS` - Tajikistani Somoni + /// * `TZS` - Tanzanian Shilling + /// * `XTS` - Testing Currency Code + /// * `THB` - Thai Baht + /// * `XXX` - The codes assigned for transactions where no currency is involved + /// * `TPE` - Timorese Escudo + /// * `TOP` - Tongan Paʻanga + /// * `TTD` - Trinidad & Tobago Dollar + /// * `TND` - Tunisian Dinar + /// * `TRY` - Turkish Lira + /// * `TRL` - Turkish Lira (1922–2005) + /// * `TMT` - Turkmenistani Manat + /// * `TMM` - Turkmenistani Manat (1993–2009) + /// * `USD` - US Dollar + /// * `USN` - US Dollar (Next day) + /// * `USS` - US Dollar (Same day) + /// * `UGX` - Ugandan Shilling + /// * `UGS` - Ugandan Shilling (1966–1987) + /// * `UAH` - Ukrainian Hryvnia + /// * `UAK` - Ukrainian Karbovanets + /// * `AED` - United Arab Emirates Dirham + /// * `UYW` - Uruguayan Nominal Wage Index Unit + /// * `UYU` - Uruguayan Peso + /// * `UYP` - Uruguayan Peso (1975–1993) + /// * `UYI` - Uruguayan Peso (Indexed Units) + /// * `UZS` - Uzbekistani Som + /// * `VUV` - Vanuatu Vatu + /// * `VES` - Venezuelan Bolívar + /// * `VEB` - Venezuelan Bolívar (1871–2008) + /// * `VEF` - Venezuelan Bolívar (2008–2018) + /// * `VND` - Vietnamese Dong + /// * `VNN` - Vietnamese Dong (1978–1985) + /// * `CHE` - WIR Euro + /// * `CHW` - WIR Franc + /// * `XOF` - West African CFA Franc + /// * `YDD` - Yemeni Dinar + /// * `YER` - Yemeni Rial + /// * `YUN` - Yugoslavian Convertible Dinar (1990–1992) + /// * `YUD` - Yugoslavian Hard Dinar (1966–1990) + /// * `YUM` - Yugoslavian New Dinar (1994–2002) + /// * `YUR` - Yugoslavian Reformed Dinar (1992–1993) + /// * `ZWN` - ZWN + /// * `ZRN` - Zairean New Zaire (1993–1998) + /// * `ZRZ` - Zairean Zaire (1971–1993) + /// * `ZMW` - Zambian Kwacha + /// * `ZMK` - Zambian Kwacha (1968–2012) + /// * `ZWD` - Zimbabwean Dollar (1980–2008) + /// * `ZWR` - Zimbabwean Dollar (2008) + /// * `ZWL` - Zimbabwean Dollar (2009) /// [JsonPropertyName("base_currency")] public TransactionCurrencyEnum? BaseCurrency { get; set; } @@ -358,312 +370,312 @@ public record GeneralLedgerTransactionLine /// /// The transaction currency that the transaction is made in. /// - /// - `XUA` - ADB Unit of Account - /// - `AFN` - Afghan Afghani - /// - `AFA` - Afghan Afghani (1927–2002) - /// - `ALL` - Albanian Lek - /// - `ALK` - Albanian Lek (1946–1965) - /// - `DZD` - Algerian Dinar - /// - `ADP` - Andorran Peseta - /// - `AOA` - Angolan Kwanza - /// - `AOK` - Angolan Kwanza (1977–1991) - /// - `AON` - Angolan New Kwanza (1990–2000) - /// - `AOR` - Angolan Readjusted Kwanza (1995–1999) - /// - `ARA` - Argentine Austral - /// - `ARS` - Argentine Peso - /// - `ARM` - Argentine Peso (1881–1970) - /// - `ARP` - Argentine Peso (1983–1985) - /// - `ARL` - Argentine Peso Ley (1970–1983) - /// - `AMD` - Armenian Dram - /// - `AWG` - Aruban Florin - /// - `AUD` - Australian Dollar - /// - `ATS` - Austrian Schilling - /// - `AZN` - Azerbaijani Manat - /// - `AZM` - Azerbaijani Manat (1993–2006) - /// - `BSD` - Bahamian Dollar - /// - `BHD` - Bahraini Dinar - /// - `BDT` - Bangladeshi Taka - /// - `BBD` - Barbadian Dollar - /// - `BYN` - Belarusian Ruble - /// - `BYB` - Belarusian Ruble (1994–1999) - /// - `BYR` - Belarusian Ruble (2000–2016) - /// - `BEF` - Belgian Franc - /// - `BEC` - Belgian Franc (convertible) - /// - `BEL` - Belgian Franc (financial) - /// - `BZD` - Belize Dollar - /// - `BMD` - Bermudan Dollar - /// - `BTN` - Bhutanese Ngultrum - /// - `BOB` - Bolivian Boliviano - /// - `BOL` - Bolivian Boliviano (1863–1963) - /// - `BOV` - Bolivian Mvdol - /// - `BOP` - Bolivian Peso - /// - `BAM` - Bosnia-Herzegovina Convertible Mark - /// - `BAD` - Bosnia-Herzegovina Dinar (1992–1994) - /// - `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) - /// - `BWP` - Botswanan Pula - /// - `BRC` - Brazilian Cruzado (1986–1989) - /// - `BRZ` - Brazilian Cruzeiro (1942–1967) - /// - `BRE` - Brazilian Cruzeiro (1990–1993) - /// - `BRR` - Brazilian Cruzeiro (1993–1994) - /// - `BRN` - Brazilian New Cruzado (1989–1990) - /// - `BRB` - Brazilian New Cruzeiro (1967–1986) - /// - `BRL` - Brazilian Real - /// - `GBP` - British Pound - /// - `BND` - Brunei Dollar - /// - `BGL` - Bulgarian Hard Lev - /// - `BGN` - Bulgarian Lev - /// - `BGO` - Bulgarian Lev (1879–1952) - /// - `BGM` - Bulgarian Socialist Lev - /// - `BUK` - Burmese Kyat - /// - `BIF` - Burundian Franc - /// - `XPF` - CFP Franc - /// - `KHR` - Cambodian Riel - /// - `CAD` - Canadian Dollar - /// - `CVE` - Cape Verdean Escudo - /// - `KYD` - Cayman Islands Dollar - /// - `XAF` - Central African CFA Franc - /// - `CLE` - Chilean Escudo - /// - `CLP` - Chilean Peso - /// - `CLF` - Chilean Unit of Account (UF) - /// - `CNX` - Chinese People’s Bank Dollar - /// - `CNY` - Chinese Yuan - /// - `CNH` - Chinese Yuan (offshore) - /// - `COP` - Colombian Peso - /// - `COU` - Colombian Real Value Unit - /// - `KMF` - Comorian Franc - /// - `CDF` - Congolese Franc - /// - `CRC` - Costa Rican Colón - /// - `HRD` - Croatian Dinar - /// - `HRK` - Croatian Kuna - /// - `CUC` - Cuban Convertible Peso - /// - `CUP` - Cuban Peso - /// - `CYP` - Cypriot Pound - /// - `CZK` - Czech Koruna - /// - `CSK` - Czechoslovak Hard Koruna - /// - `DKK` - Danish Krone - /// - `DJF` - Djiboutian Franc - /// - `DOP` - Dominican Peso - /// - `NLG` - Dutch Guilder - /// - `XCD` - East Caribbean Dollar - /// - `DDM` - East German Mark - /// - `ECS` - Ecuadorian Sucre - /// - `ECV` - Ecuadorian Unit of Constant Value - /// - `EGP` - Egyptian Pound - /// - `GQE` - Equatorial Guinean Ekwele - /// - `ERN` - Eritrean Nakfa - /// - `EEK` - Estonian Kroon - /// - `ETB` - Ethiopian Birr - /// - `EUR` - Euro - /// - `XBA` - European Composite Unit - /// - `XEU` - European Currency Unit - /// - `XBB` - European Monetary Unit - /// - `XBC` - European Unit of Account (XBC) - /// - `XBD` - European Unit of Account (XBD) - /// - `FKP` - Falkland Islands Pound - /// - `FJD` - Fijian Dollar - /// - `FIM` - Finnish Markka - /// - `FRF` - French Franc - /// - `XFO` - French Gold Franc - /// - `XFU` - French UIC-Franc - /// - `GMD` - Gambian Dalasi - /// - `GEK` - Georgian Kupon Larit - /// - `GEL` - Georgian Lari - /// - `DEM` - German Mark - /// - `GHS` - Ghanaian Cedi - /// - `GHC` - Ghanaian Cedi (1979–2007) - /// - `GIP` - Gibraltar Pound - /// - `XAU` - Gold - /// - `GRD` - Greek Drachma - /// - `GTQ` - Guatemalan Quetzal - /// - `GWP` - Guinea-Bissau Peso - /// - `GNF` - Guinean Franc - /// - `GNS` - Guinean Syli - /// - `GYD` - Guyanaese Dollar - /// - `HTG` - Haitian Gourde - /// - `HNL` - Honduran Lempira - /// - `HKD` - Hong Kong Dollar - /// - `HUF` - Hungarian Forint - /// - `IMP` - IMP - /// - `ISK` - Icelandic Króna - /// - `ISJ` - Icelandic Króna (1918–1981) - /// - `INR` - Indian Rupee - /// - `IDR` - Indonesian Rupiah - /// - `IRR` - Iranian Rial - /// - `IQD` - Iraqi Dinar - /// - `IEP` - Irish Pound - /// - `ILS` - Israeli New Shekel - /// - `ILP` - Israeli Pound - /// - `ILR` - Israeli Shekel (1980–1985) - /// - `ITL` - Italian Lira - /// - `JMD` - Jamaican Dollar - /// - `JPY` - Japanese Yen - /// - `JOD` - Jordanian Dinar - /// - `KZT` - Kazakhstani Tenge - /// - `KES` - Kenyan Shilling - /// - `KWD` - Kuwaiti Dinar - /// - `KGS` - Kyrgystani Som - /// - `LAK` - Laotian Kip - /// - `LVL` - Latvian Lats - /// - `LVR` - Latvian Ruble - /// - `LBP` - Lebanese Pound - /// - `LSL` - Lesotho Loti - /// - `LRD` - Liberian Dollar - /// - `LYD` - Libyan Dinar - /// - `LTL` - Lithuanian Litas - /// - `LTT` - Lithuanian Talonas - /// - `LUL` - Luxembourg Financial Franc - /// - `LUC` - Luxembourgian Convertible Franc - /// - `LUF` - Luxembourgian Franc - /// - `MOP` - Macanese Pataca - /// - `MKD` - Macedonian Denar - /// - `MKN` - Macedonian Denar (1992–1993) - /// - `MGA` - Malagasy Ariary - /// - `MGF` - Malagasy Franc - /// - `MWK` - Malawian Kwacha - /// - `MYR` - Malaysian Ringgit - /// - `MVR` - Maldivian Rufiyaa - /// - `MVP` - Maldivian Rupee (1947–1981) - /// - `MLF` - Malian Franc - /// - `MTL` - Maltese Lira - /// - `MTP` - Maltese Pound - /// - `MRU` - Mauritanian Ouguiya - /// - `MRO` - Mauritanian Ouguiya (1973–2017) - /// - `MUR` - Mauritian Rupee - /// - `MXV` - Mexican Investment Unit - /// - `MXN` - Mexican Peso - /// - `MXP` - Mexican Silver Peso (1861–1992) - /// - `MDC` - Moldovan Cupon - /// - `MDL` - Moldovan Leu - /// - `MCF` - Monegasque Franc - /// - `MNT` - Mongolian Tugrik - /// - `MAD` - Moroccan Dirham - /// - `MAF` - Moroccan Franc - /// - `MZE` - Mozambican Escudo - /// - `MZN` - Mozambican Metical - /// - `MZM` - Mozambican Metical (1980–2006) - /// - `MMK` - Myanmar Kyat - /// - `NAD` - Namibian Dollar - /// - `NPR` - Nepalese Rupee - /// - `ANG` - Netherlands Antillean Guilder - /// - `TWD` - New Taiwan Dollar - /// - `NZD` - New Zealand Dollar - /// - `NIO` - Nicaraguan Córdoba - /// - `NIC` - Nicaraguan Córdoba (1988–1991) - /// - `NGN` - Nigerian Naira - /// - `KPW` - North Korean Won - /// - `NOK` - Norwegian Krone - /// - `OMR` - Omani Rial - /// - `PKR` - Pakistani Rupee - /// - `XPD` - Palladium - /// - `PAB` - Panamanian Balboa - /// - `PGK` - Papua New Guinean Kina - /// - `PYG` - Paraguayan Guarani - /// - `PEI` - Peruvian Inti - /// - `PEN` - Peruvian Sol - /// - `PES` - Peruvian Sol (1863–1965) - /// - `PHP` - Philippine Peso - /// - `XPT` - Platinum - /// - `PLN` - Polish Zloty - /// - `PLZ` - Polish Zloty (1950–1995) - /// - `PTE` - Portuguese Escudo - /// - `GWE` - Portuguese Guinea Escudo - /// - `QAR` - Qatari Rial - /// - `XRE` - RINET Funds - /// - `RHD` - Rhodesian Dollar - /// - `RON` - Romanian Leu - /// - `ROL` - Romanian Leu (1952–2006) - /// - `RUB` - Russian Ruble - /// - `RUR` - Russian Ruble (1991–1998) - /// - `RWF` - Rwandan Franc - /// - `SVC` - Salvadoran Colón - /// - `WST` - Samoan Tala - /// - `SAR` - Saudi Riyal - /// - `RSD` - Serbian Dinar - /// - `CSD` - Serbian Dinar (2002–2006) - /// - `SCR` - Seychellois Rupee - /// - `SLL` - Sierra Leonean Leone - /// - `XAG` - Silver - /// - `SGD` - Singapore Dollar - /// - `SKK` - Slovak Koruna - /// - `SIT` - Slovenian Tolar - /// - `SBD` - Solomon Islands Dollar - /// - `SOS` - Somali Shilling - /// - `ZAR` - South African Rand - /// - `ZAL` - South African Rand (financial) - /// - `KRH` - South Korean Hwan (1953–1962) - /// - `KRW` - South Korean Won - /// - `KRO` - South Korean Won (1945–1953) - /// - `SSP` - South Sudanese Pound - /// - `SUR` - Soviet Rouble - /// - `ESP` - Spanish Peseta - /// - `ESA` - Spanish Peseta (A account) - /// - `ESB` - Spanish Peseta (convertible account) - /// - `XDR` - Special Drawing Rights - /// - `LKR` - Sri Lankan Rupee - /// - `SHP` - St. Helena Pound - /// - `XSU` - Sucre - /// - `SDD` - Sudanese Dinar (1992–2007) - /// - `SDG` - Sudanese Pound - /// - `SDP` - Sudanese Pound (1957–1998) - /// - `SRD` - Surinamese Dollar - /// - `SRG` - Surinamese Guilder - /// - `SZL` - Swazi Lilangeni - /// - `SEK` - Swedish Krona - /// - `CHF` - Swiss Franc - /// - `SYP` - Syrian Pound - /// - `STN` - São Tomé & Príncipe Dobra - /// - `STD` - São Tomé & Príncipe Dobra (1977–2017) - /// - `TVD` - TVD - /// - `TJR` - Tajikistani Ruble - /// - `TJS` - Tajikistani Somoni - /// - `TZS` - Tanzanian Shilling - /// - `XTS` - Testing Currency Code - /// - `THB` - Thai Baht - /// - `XXX` - The codes assigned for transactions where no currency is involved - /// - `TPE` - Timorese Escudo - /// - `TOP` - Tongan Paʻanga - /// - `TTD` - Trinidad & Tobago Dollar - /// - `TND` - Tunisian Dinar - /// - `TRY` - Turkish Lira - /// - `TRL` - Turkish Lira (1922–2005) - /// - `TMT` - Turkmenistani Manat - /// - `TMM` - Turkmenistani Manat (1993–2009) - /// - `USD` - US Dollar - /// - `USN` - US Dollar (Next day) - /// - `USS` - US Dollar (Same day) - /// - `UGX` - Ugandan Shilling - /// - `UGS` - Ugandan Shilling (1966–1987) - /// - `UAH` - Ukrainian Hryvnia - /// - `UAK` - Ukrainian Karbovanets - /// - `AED` - United Arab Emirates Dirham - /// - `UYW` - Uruguayan Nominal Wage Index Unit - /// - `UYU` - Uruguayan Peso - /// - `UYP` - Uruguayan Peso (1975–1993) - /// - `UYI` - Uruguayan Peso (Indexed Units) - /// - `UZS` - Uzbekistani Som - /// - `VUV` - Vanuatu Vatu - /// - `VES` - Venezuelan Bolívar - /// - `VEB` - Venezuelan Bolívar (1871–2008) - /// - `VEF` - Venezuelan Bolívar (2008–2018) - /// - `VND` - Vietnamese Dong - /// - `VNN` - Vietnamese Dong (1978–1985) - /// - `CHE` - WIR Euro - /// - `CHW` - WIR Franc - /// - `XOF` - West African CFA Franc - /// - `YDD` - Yemeni Dinar - /// - `YER` - Yemeni Rial - /// - `YUN` - Yugoslavian Convertible Dinar (1990–1992) - /// - `YUD` - Yugoslavian Hard Dinar (1966–1990) - /// - `YUM` - Yugoslavian New Dinar (1994–2002) - /// - `YUR` - Yugoslavian Reformed Dinar (1992–1993) - /// - `ZWN` - ZWN - /// - `ZRN` - Zairean New Zaire (1993–1998) - /// - `ZRZ` - Zairean Zaire (1971–1993) - /// - `ZMW` - Zambian Kwacha - /// - `ZMK` - Zambian Kwacha (1968–2012) - /// - `ZWD` - Zimbabwean Dollar (1980–2008) - /// - `ZWR` - Zimbabwean Dollar (2008) - /// - `ZWL` - Zimbabwean Dollar (2009) + /// * `XUA` - ADB Unit of Account + /// * `AFN` - Afghan Afghani + /// * `AFA` - Afghan Afghani (1927–2002) + /// * `ALL` - Albanian Lek + /// * `ALK` - Albanian Lek (1946–1965) + /// * `DZD` - Algerian Dinar + /// * `ADP` - Andorran Peseta + /// * `AOA` - Angolan Kwanza + /// * `AOK` - Angolan Kwanza (1977–1991) + /// * `AON` - Angolan New Kwanza (1990–2000) + /// * `AOR` - Angolan Readjusted Kwanza (1995–1999) + /// * `ARA` - Argentine Austral + /// * `ARS` - Argentine Peso + /// * `ARM` - Argentine Peso (1881–1970) + /// * `ARP` - Argentine Peso (1983–1985) + /// * `ARL` - Argentine Peso Ley (1970–1983) + /// * `AMD` - Armenian Dram + /// * `AWG` - Aruban Florin + /// * `AUD` - Australian Dollar + /// * `ATS` - Austrian Schilling + /// * `AZN` - Azerbaijani Manat + /// * `AZM` - Azerbaijani Manat (1993–2006) + /// * `BSD` - Bahamian Dollar + /// * `BHD` - Bahraini Dinar + /// * `BDT` - Bangladeshi Taka + /// * `BBD` - Barbadian Dollar + /// * `BYN` - Belarusian Ruble + /// * `BYB` - Belarusian Ruble (1994–1999) + /// * `BYR` - Belarusian Ruble (2000–2016) + /// * `BEF` - Belgian Franc + /// * `BEC` - Belgian Franc (convertible) + /// * `BEL` - Belgian Franc (financial) + /// * `BZD` - Belize Dollar + /// * `BMD` - Bermudan Dollar + /// * `BTN` - Bhutanese Ngultrum + /// * `BOB` - Bolivian Boliviano + /// * `BOL` - Bolivian Boliviano (1863–1963) + /// * `BOV` - Bolivian Mvdol + /// * `BOP` - Bolivian Peso + /// * `BAM` - Bosnia-Herzegovina Convertible Mark + /// * `BAD` - Bosnia-Herzegovina Dinar (1992–1994) + /// * `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) + /// * `BWP` - Botswanan Pula + /// * `BRC` - Brazilian Cruzado (1986–1989) + /// * `BRZ` - Brazilian Cruzeiro (1942–1967) + /// * `BRE` - Brazilian Cruzeiro (1990–1993) + /// * `BRR` - Brazilian Cruzeiro (1993–1994) + /// * `BRN` - Brazilian New Cruzado (1989–1990) + /// * `BRB` - Brazilian New Cruzeiro (1967–1986) + /// * `BRL` - Brazilian Real + /// * `GBP` - British Pound + /// * `BND` - Brunei Dollar + /// * `BGL` - Bulgarian Hard Lev + /// * `BGN` - Bulgarian Lev + /// * `BGO` - Bulgarian Lev (1879–1952) + /// * `BGM` - Bulgarian Socialist Lev + /// * `BUK` - Burmese Kyat + /// * `BIF` - Burundian Franc + /// * `XPF` - CFP Franc + /// * `KHR` - Cambodian Riel + /// * `CAD` - Canadian Dollar + /// * `CVE` - Cape Verdean Escudo + /// * `KYD` - Cayman Islands Dollar + /// * `XAF` - Central African CFA Franc + /// * `CLE` - Chilean Escudo + /// * `CLP` - Chilean Peso + /// * `CLF` - Chilean Unit of Account (UF) + /// * `CNX` - Chinese People’s Bank Dollar + /// * `CNY` - Chinese Yuan + /// * `CNH` - Chinese Yuan (offshore) + /// * `COP` - Colombian Peso + /// * `COU` - Colombian Real Value Unit + /// * `KMF` - Comorian Franc + /// * `CDF` - Congolese Franc + /// * `CRC` - Costa Rican Colón + /// * `HRD` - Croatian Dinar + /// * `HRK` - Croatian Kuna + /// * `CUC` - Cuban Convertible Peso + /// * `CUP` - Cuban Peso + /// * `CYP` - Cypriot Pound + /// * `CZK` - Czech Koruna + /// * `CSK` - Czechoslovak Hard Koruna + /// * `DKK` - Danish Krone + /// * `DJF` - Djiboutian Franc + /// * `DOP` - Dominican Peso + /// * `NLG` - Dutch Guilder + /// * `XCD` - East Caribbean Dollar + /// * `DDM` - East German Mark + /// * `ECS` - Ecuadorian Sucre + /// * `ECV` - Ecuadorian Unit of Constant Value + /// * `EGP` - Egyptian Pound + /// * `GQE` - Equatorial Guinean Ekwele + /// * `ERN` - Eritrean Nakfa + /// * `EEK` - Estonian Kroon + /// * `ETB` - Ethiopian Birr + /// * `EUR` - Euro + /// * `XBA` - European Composite Unit + /// * `XEU` - European Currency Unit + /// * `XBB` - European Monetary Unit + /// * `XBC` - European Unit of Account (XBC) + /// * `XBD` - European Unit of Account (XBD) + /// * `FKP` - Falkland Islands Pound + /// * `FJD` - Fijian Dollar + /// * `FIM` - Finnish Markka + /// * `FRF` - French Franc + /// * `XFO` - French Gold Franc + /// * `XFU` - French UIC-Franc + /// * `GMD` - Gambian Dalasi + /// * `GEK` - Georgian Kupon Larit + /// * `GEL` - Georgian Lari + /// * `DEM` - German Mark + /// * `GHS` - Ghanaian Cedi + /// * `GHC` - Ghanaian Cedi (1979–2007) + /// * `GIP` - Gibraltar Pound + /// * `XAU` - Gold + /// * `GRD` - Greek Drachma + /// * `GTQ` - Guatemalan Quetzal + /// * `GWP` - Guinea-Bissau Peso + /// * `GNF` - Guinean Franc + /// * `GNS` - Guinean Syli + /// * `GYD` - Guyanaese Dollar + /// * `HTG` - Haitian Gourde + /// * `HNL` - Honduran Lempira + /// * `HKD` - Hong Kong Dollar + /// * `HUF` - Hungarian Forint + /// * `IMP` - IMP + /// * `ISK` - Icelandic Króna + /// * `ISJ` - Icelandic Króna (1918–1981) + /// * `INR` - Indian Rupee + /// * `IDR` - Indonesian Rupiah + /// * `IRR` - Iranian Rial + /// * `IQD` - Iraqi Dinar + /// * `IEP` - Irish Pound + /// * `ILS` - Israeli New Shekel + /// * `ILP` - Israeli Pound + /// * `ILR` - Israeli Shekel (1980–1985) + /// * `ITL` - Italian Lira + /// * `JMD` - Jamaican Dollar + /// * `JPY` - Japanese Yen + /// * `JOD` - Jordanian Dinar + /// * `KZT` - Kazakhstani Tenge + /// * `KES` - Kenyan Shilling + /// * `KWD` - Kuwaiti Dinar + /// * `KGS` - Kyrgystani Som + /// * `LAK` - Laotian Kip + /// * `LVL` - Latvian Lats + /// * `LVR` - Latvian Ruble + /// * `LBP` - Lebanese Pound + /// * `LSL` - Lesotho Loti + /// * `LRD` - Liberian Dollar + /// * `LYD` - Libyan Dinar + /// * `LTL` - Lithuanian Litas + /// * `LTT` - Lithuanian Talonas + /// * `LUL` - Luxembourg Financial Franc + /// * `LUC` - Luxembourgian Convertible Franc + /// * `LUF` - Luxembourgian Franc + /// * `MOP` - Macanese Pataca + /// * `MKD` - Macedonian Denar + /// * `MKN` - Macedonian Denar (1992–1993) + /// * `MGA` - Malagasy Ariary + /// * `MGF` - Malagasy Franc + /// * `MWK` - Malawian Kwacha + /// * `MYR` - Malaysian Ringgit + /// * `MVR` - Maldivian Rufiyaa + /// * `MVP` - Maldivian Rupee (1947–1981) + /// * `MLF` - Malian Franc + /// * `MTL` - Maltese Lira + /// * `MTP` - Maltese Pound + /// * `MRU` - Mauritanian Ouguiya + /// * `MRO` - Mauritanian Ouguiya (1973–2017) + /// * `MUR` - Mauritian Rupee + /// * `MXV` - Mexican Investment Unit + /// * `MXN` - Mexican Peso + /// * `MXP` - Mexican Silver Peso (1861–1992) + /// * `MDC` - Moldovan Cupon + /// * `MDL` - Moldovan Leu + /// * `MCF` - Monegasque Franc + /// * `MNT` - Mongolian Tugrik + /// * `MAD` - Moroccan Dirham + /// * `MAF` - Moroccan Franc + /// * `MZE` - Mozambican Escudo + /// * `MZN` - Mozambican Metical + /// * `MZM` - Mozambican Metical (1980–2006) + /// * `MMK` - Myanmar Kyat + /// * `NAD` - Namibian Dollar + /// * `NPR` - Nepalese Rupee + /// * `ANG` - Netherlands Antillean Guilder + /// * `TWD` - New Taiwan Dollar + /// * `NZD` - New Zealand Dollar + /// * `NIO` - Nicaraguan Córdoba + /// * `NIC` - Nicaraguan Córdoba (1988–1991) + /// * `NGN` - Nigerian Naira + /// * `KPW` - North Korean Won + /// * `NOK` - Norwegian Krone + /// * `OMR` - Omani Rial + /// * `PKR` - Pakistani Rupee + /// * `XPD` - Palladium + /// * `PAB` - Panamanian Balboa + /// * `PGK` - Papua New Guinean Kina + /// * `PYG` - Paraguayan Guarani + /// * `PEI` - Peruvian Inti + /// * `PEN` - Peruvian Sol + /// * `PES` - Peruvian Sol (1863–1965) + /// * `PHP` - Philippine Peso + /// * `XPT` - Platinum + /// * `PLN` - Polish Zloty + /// * `PLZ` - Polish Zloty (1950–1995) + /// * `PTE` - Portuguese Escudo + /// * `GWE` - Portuguese Guinea Escudo + /// * `QAR` - Qatari Rial + /// * `XRE` - RINET Funds + /// * `RHD` - Rhodesian Dollar + /// * `RON` - Romanian Leu + /// * `ROL` - Romanian Leu (1952–2006) + /// * `RUB` - Russian Ruble + /// * `RUR` - Russian Ruble (1991–1998) + /// * `RWF` - Rwandan Franc + /// * `SVC` - Salvadoran Colón + /// * `WST` - Samoan Tala + /// * `SAR` - Saudi Riyal + /// * `RSD` - Serbian Dinar + /// * `CSD` - Serbian Dinar (2002–2006) + /// * `SCR` - Seychellois Rupee + /// * `SLL` - Sierra Leonean Leone + /// * `XAG` - Silver + /// * `SGD` - Singapore Dollar + /// * `SKK` - Slovak Koruna + /// * `SIT` - Slovenian Tolar + /// * `SBD` - Solomon Islands Dollar + /// * `SOS` - Somali Shilling + /// * `ZAR` - South African Rand + /// * `ZAL` - South African Rand (financial) + /// * `KRH` - South Korean Hwan (1953–1962) + /// * `KRW` - South Korean Won + /// * `KRO` - South Korean Won (1945–1953) + /// * `SSP` - South Sudanese Pound + /// * `SUR` - Soviet Rouble + /// * `ESP` - Spanish Peseta + /// * `ESA` - Spanish Peseta (A account) + /// * `ESB` - Spanish Peseta (convertible account) + /// * `XDR` - Special Drawing Rights + /// * `LKR` - Sri Lankan Rupee + /// * `SHP` - St. Helena Pound + /// * `XSU` - Sucre + /// * `SDD` - Sudanese Dinar (1992–2007) + /// * `SDG` - Sudanese Pound + /// * `SDP` - Sudanese Pound (1957–1998) + /// * `SRD` - Surinamese Dollar + /// * `SRG` - Surinamese Guilder + /// * `SZL` - Swazi Lilangeni + /// * `SEK` - Swedish Krona + /// * `CHF` - Swiss Franc + /// * `SYP` - Syrian Pound + /// * `STN` - São Tomé & Príncipe Dobra + /// * `STD` - São Tomé & Príncipe Dobra (1977–2017) + /// * `TVD` - TVD + /// * `TJR` - Tajikistani Ruble + /// * `TJS` - Tajikistani Somoni + /// * `TZS` - Tanzanian Shilling + /// * `XTS` - Testing Currency Code + /// * `THB` - Thai Baht + /// * `XXX` - The codes assigned for transactions where no currency is involved + /// * `TPE` - Timorese Escudo + /// * `TOP` - Tongan Paʻanga + /// * `TTD` - Trinidad & Tobago Dollar + /// * `TND` - Tunisian Dinar + /// * `TRY` - Turkish Lira + /// * `TRL` - Turkish Lira (1922–2005) + /// * `TMT` - Turkmenistani Manat + /// * `TMM` - Turkmenistani Manat (1993–2009) + /// * `USD` - US Dollar + /// * `USN` - US Dollar (Next day) + /// * `USS` - US Dollar (Same day) + /// * `UGX` - Ugandan Shilling + /// * `UGS` - Ugandan Shilling (1966–1987) + /// * `UAH` - Ukrainian Hryvnia + /// * `UAK` - Ukrainian Karbovanets + /// * `AED` - United Arab Emirates Dirham + /// * `UYW` - Uruguayan Nominal Wage Index Unit + /// * `UYU` - Uruguayan Peso + /// * `UYP` - Uruguayan Peso (1975–1993) + /// * `UYI` - Uruguayan Peso (Indexed Units) + /// * `UZS` - Uzbekistani Som + /// * `VUV` - Vanuatu Vatu + /// * `VES` - Venezuelan Bolívar + /// * `VEB` - Venezuelan Bolívar (1871–2008) + /// * `VEF` - Venezuelan Bolívar (2008–2018) + /// * `VND` - Vietnamese Dong + /// * `VNN` - Vietnamese Dong (1978–1985) + /// * `CHE` - WIR Euro + /// * `CHW` - WIR Franc + /// * `XOF` - West African CFA Franc + /// * `YDD` - Yemeni Dinar + /// * `YER` - Yemeni Rial + /// * `YUN` - Yugoslavian Convertible Dinar (1990–1992) + /// * `YUD` - Yugoslavian Hard Dinar (1966–1990) + /// * `YUM` - Yugoslavian New Dinar (1994–2002) + /// * `YUR` - Yugoslavian Reformed Dinar (1992–1993) + /// * `ZWN` - ZWN + /// * `ZRN` - Zairean New Zaire (1993–1998) + /// * `ZRZ` - Zairean Zaire (1971–1993) + /// * `ZMW` - Zambian Kwacha + /// * `ZMK` - Zambian Kwacha (1968–2012) + /// * `ZWD` - Zimbabwean Dollar (1980–2008) + /// * `ZWR` - Zimbabwean Dollar (2008) + /// * `ZWL` - Zimbabwean Dollar (2009) /// [JsonPropertyName("transaction_currency")] public TransactionCurrencyEnum? TransactionCurrency { get; set; } @@ -680,6 +692,7 @@ public record GeneralLedgerTransactionLine [JsonPropertyName("description")] public string? Description { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("tracking_categories")] public IEnumerable>? TrackingCategories { get; set; } @@ -701,12 +714,25 @@ public record GeneralLedgerTransactionLine /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/IncomeStatement.cs b/src/Merge.Client/Accounting/Types/IncomeStatement.cs index 6f0ad554..ff5e4bac 100644 --- a/src/Merge.Client/Accounting/Types/IncomeStatement.cs +++ b/src/Merge.Client/Accounting/Types/IncomeStatement.cs @@ -1,11 +1,21 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Accounting; +/// +/// # The IncomeStatement Object +/// ### Description +/// The `IncomeStatement` object is used to represent a company’s income, the cost of sales, operating expenses, and other non-operating expenses. The object also includes other important values like gross profit, gross operating profit, and net income. This represents a period of time (month, quarter, or year). +/// +/// ### Usage Example +/// Fetch from the `GET IncomeStatement` endpoint and view a company's income statement for a given period. +/// public record IncomeStatement { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -18,12 +28,14 @@ public record IncomeStatement /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -36,312 +48,312 @@ public record IncomeStatement /// /// The income statement's currency. /// - /// - `XUA` - ADB Unit of Account - /// - `AFN` - Afghan Afghani - /// - `AFA` - Afghan Afghani (1927–2002) - /// - `ALL` - Albanian Lek - /// - `ALK` - Albanian Lek (1946–1965) - /// - `DZD` - Algerian Dinar - /// - `ADP` - Andorran Peseta - /// - `AOA` - Angolan Kwanza - /// - `AOK` - Angolan Kwanza (1977–1991) - /// - `AON` - Angolan New Kwanza (1990–2000) - /// - `AOR` - Angolan Readjusted Kwanza (1995–1999) - /// - `ARA` - Argentine Austral - /// - `ARS` - Argentine Peso - /// - `ARM` - Argentine Peso (1881–1970) - /// - `ARP` - Argentine Peso (1983–1985) - /// - `ARL` - Argentine Peso Ley (1970–1983) - /// - `AMD` - Armenian Dram - /// - `AWG` - Aruban Florin - /// - `AUD` - Australian Dollar - /// - `ATS` - Austrian Schilling - /// - `AZN` - Azerbaijani Manat - /// - `AZM` - Azerbaijani Manat (1993–2006) - /// - `BSD` - Bahamian Dollar - /// - `BHD` - Bahraini Dinar - /// - `BDT` - Bangladeshi Taka - /// - `BBD` - Barbadian Dollar - /// - `BYN` - Belarusian Ruble - /// - `BYB` - Belarusian Ruble (1994–1999) - /// - `BYR` - Belarusian Ruble (2000–2016) - /// - `BEF` - Belgian Franc - /// - `BEC` - Belgian Franc (convertible) - /// - `BEL` - Belgian Franc (financial) - /// - `BZD` - Belize Dollar - /// - `BMD` - Bermudan Dollar - /// - `BTN` - Bhutanese Ngultrum - /// - `BOB` - Bolivian Boliviano - /// - `BOL` - Bolivian Boliviano (1863–1963) - /// - `BOV` - Bolivian Mvdol - /// - `BOP` - Bolivian Peso - /// - `BAM` - Bosnia-Herzegovina Convertible Mark - /// - `BAD` - Bosnia-Herzegovina Dinar (1992–1994) - /// - `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) - /// - `BWP` - Botswanan Pula - /// - `BRC` - Brazilian Cruzado (1986–1989) - /// - `BRZ` - Brazilian Cruzeiro (1942–1967) - /// - `BRE` - Brazilian Cruzeiro (1990–1993) - /// - `BRR` - Brazilian Cruzeiro (1993–1994) - /// - `BRN` - Brazilian New Cruzado (1989–1990) - /// - `BRB` - Brazilian New Cruzeiro (1967–1986) - /// - `BRL` - Brazilian Real - /// - `GBP` - British Pound - /// - `BND` - Brunei Dollar - /// - `BGL` - Bulgarian Hard Lev - /// - `BGN` - Bulgarian Lev - /// - `BGO` - Bulgarian Lev (1879–1952) - /// - `BGM` - Bulgarian Socialist Lev - /// - `BUK` - Burmese Kyat - /// - `BIF` - Burundian Franc - /// - `XPF` - CFP Franc - /// - `KHR` - Cambodian Riel - /// - `CAD` - Canadian Dollar - /// - `CVE` - Cape Verdean Escudo - /// - `KYD` - Cayman Islands Dollar - /// - `XAF` - Central African CFA Franc - /// - `CLE` - Chilean Escudo - /// - `CLP` - Chilean Peso - /// - `CLF` - Chilean Unit of Account (UF) - /// - `CNX` - Chinese People’s Bank Dollar - /// - `CNY` - Chinese Yuan - /// - `CNH` - Chinese Yuan (offshore) - /// - `COP` - Colombian Peso - /// - `COU` - Colombian Real Value Unit - /// - `KMF` - Comorian Franc - /// - `CDF` - Congolese Franc - /// - `CRC` - Costa Rican Colón - /// - `HRD` - Croatian Dinar - /// - `HRK` - Croatian Kuna - /// - `CUC` - Cuban Convertible Peso - /// - `CUP` - Cuban Peso - /// - `CYP` - Cypriot Pound - /// - `CZK` - Czech Koruna - /// - `CSK` - Czechoslovak Hard Koruna - /// - `DKK` - Danish Krone - /// - `DJF` - Djiboutian Franc - /// - `DOP` - Dominican Peso - /// - `NLG` - Dutch Guilder - /// - `XCD` - East Caribbean Dollar - /// - `DDM` - East German Mark - /// - `ECS` - Ecuadorian Sucre - /// - `ECV` - Ecuadorian Unit of Constant Value - /// - `EGP` - Egyptian Pound - /// - `GQE` - Equatorial Guinean Ekwele - /// - `ERN` - Eritrean Nakfa - /// - `EEK` - Estonian Kroon - /// - `ETB` - Ethiopian Birr - /// - `EUR` - Euro - /// - `XBA` - European Composite Unit - /// - `XEU` - European Currency Unit - /// - `XBB` - European Monetary Unit - /// - `XBC` - European Unit of Account (XBC) - /// - `XBD` - European Unit of Account (XBD) - /// - `FKP` - Falkland Islands Pound - /// - `FJD` - Fijian Dollar - /// - `FIM` - Finnish Markka - /// - `FRF` - French Franc - /// - `XFO` - French Gold Franc - /// - `XFU` - French UIC-Franc - /// - `GMD` - Gambian Dalasi - /// - `GEK` - Georgian Kupon Larit - /// - `GEL` - Georgian Lari - /// - `DEM` - German Mark - /// - `GHS` - Ghanaian Cedi - /// - `GHC` - Ghanaian Cedi (1979–2007) - /// - `GIP` - Gibraltar Pound - /// - `XAU` - Gold - /// - `GRD` - Greek Drachma - /// - `GTQ` - Guatemalan Quetzal - /// - `GWP` - Guinea-Bissau Peso - /// - `GNF` - Guinean Franc - /// - `GNS` - Guinean Syli - /// - `GYD` - Guyanaese Dollar - /// - `HTG` - Haitian Gourde - /// - `HNL` - Honduran Lempira - /// - `HKD` - Hong Kong Dollar - /// - `HUF` - Hungarian Forint - /// - `IMP` - IMP - /// - `ISK` - Icelandic Króna - /// - `ISJ` - Icelandic Króna (1918–1981) - /// - `INR` - Indian Rupee - /// - `IDR` - Indonesian Rupiah - /// - `IRR` - Iranian Rial - /// - `IQD` - Iraqi Dinar - /// - `IEP` - Irish Pound - /// - `ILS` - Israeli New Shekel - /// - `ILP` - Israeli Pound - /// - `ILR` - Israeli Shekel (1980–1985) - /// - `ITL` - Italian Lira - /// - `JMD` - Jamaican Dollar - /// - `JPY` - Japanese Yen - /// - `JOD` - Jordanian Dinar - /// - `KZT` - Kazakhstani Tenge - /// - `KES` - Kenyan Shilling - /// - `KWD` - Kuwaiti Dinar - /// - `KGS` - Kyrgystani Som - /// - `LAK` - Laotian Kip - /// - `LVL` - Latvian Lats - /// - `LVR` - Latvian Ruble - /// - `LBP` - Lebanese Pound - /// - `LSL` - Lesotho Loti - /// - `LRD` - Liberian Dollar - /// - `LYD` - Libyan Dinar - /// - `LTL` - Lithuanian Litas - /// - `LTT` - Lithuanian Talonas - /// - `LUL` - Luxembourg Financial Franc - /// - `LUC` - Luxembourgian Convertible Franc - /// - `LUF` - Luxembourgian Franc - /// - `MOP` - Macanese Pataca - /// - `MKD` - Macedonian Denar - /// - `MKN` - Macedonian Denar (1992–1993) - /// - `MGA` - Malagasy Ariary - /// - `MGF` - Malagasy Franc - /// - `MWK` - Malawian Kwacha - /// - `MYR` - Malaysian Ringgit - /// - `MVR` - Maldivian Rufiyaa - /// - `MVP` - Maldivian Rupee (1947–1981) - /// - `MLF` - Malian Franc - /// - `MTL` - Maltese Lira - /// - `MTP` - Maltese Pound - /// - `MRU` - Mauritanian Ouguiya - /// - `MRO` - Mauritanian Ouguiya (1973–2017) - /// - `MUR` - Mauritian Rupee - /// - `MXV` - Mexican Investment Unit - /// - `MXN` - Mexican Peso - /// - `MXP` - Mexican Silver Peso (1861–1992) - /// - `MDC` - Moldovan Cupon - /// - `MDL` - Moldovan Leu - /// - `MCF` - Monegasque Franc - /// - `MNT` - Mongolian Tugrik - /// - `MAD` - Moroccan Dirham - /// - `MAF` - Moroccan Franc - /// - `MZE` - Mozambican Escudo - /// - `MZN` - Mozambican Metical - /// - `MZM` - Mozambican Metical (1980–2006) - /// - `MMK` - Myanmar Kyat - /// - `NAD` - Namibian Dollar - /// - `NPR` - Nepalese Rupee - /// - `ANG` - Netherlands Antillean Guilder - /// - `TWD` - New Taiwan Dollar - /// - `NZD` - New Zealand Dollar - /// - `NIO` - Nicaraguan Córdoba - /// - `NIC` - Nicaraguan Córdoba (1988–1991) - /// - `NGN` - Nigerian Naira - /// - `KPW` - North Korean Won - /// - `NOK` - Norwegian Krone - /// - `OMR` - Omani Rial - /// - `PKR` - Pakistani Rupee - /// - `XPD` - Palladium - /// - `PAB` - Panamanian Balboa - /// - `PGK` - Papua New Guinean Kina - /// - `PYG` - Paraguayan Guarani - /// - `PEI` - Peruvian Inti - /// - `PEN` - Peruvian Sol - /// - `PES` - Peruvian Sol (1863–1965) - /// - `PHP` - Philippine Peso - /// - `XPT` - Platinum - /// - `PLN` - Polish Zloty - /// - `PLZ` - Polish Zloty (1950–1995) - /// - `PTE` - Portuguese Escudo - /// - `GWE` - Portuguese Guinea Escudo - /// - `QAR` - Qatari Rial - /// - `XRE` - RINET Funds - /// - `RHD` - Rhodesian Dollar - /// - `RON` - Romanian Leu - /// - `ROL` - Romanian Leu (1952–2006) - /// - `RUB` - Russian Ruble - /// - `RUR` - Russian Ruble (1991–1998) - /// - `RWF` - Rwandan Franc - /// - `SVC` - Salvadoran Colón - /// - `WST` - Samoan Tala - /// - `SAR` - Saudi Riyal - /// - `RSD` - Serbian Dinar - /// - `CSD` - Serbian Dinar (2002–2006) - /// - `SCR` - Seychellois Rupee - /// - `SLL` - Sierra Leonean Leone - /// - `XAG` - Silver - /// - `SGD` - Singapore Dollar - /// - `SKK` - Slovak Koruna - /// - `SIT` - Slovenian Tolar - /// - `SBD` - Solomon Islands Dollar - /// - `SOS` - Somali Shilling - /// - `ZAR` - South African Rand - /// - `ZAL` - South African Rand (financial) - /// - `KRH` - South Korean Hwan (1953–1962) - /// - `KRW` - South Korean Won - /// - `KRO` - South Korean Won (1945–1953) - /// - `SSP` - South Sudanese Pound - /// - `SUR` - Soviet Rouble - /// - `ESP` - Spanish Peseta - /// - `ESA` - Spanish Peseta (A account) - /// - `ESB` - Spanish Peseta (convertible account) - /// - `XDR` - Special Drawing Rights - /// - `LKR` - Sri Lankan Rupee - /// - `SHP` - St. Helena Pound - /// - `XSU` - Sucre - /// - `SDD` - Sudanese Dinar (1992–2007) - /// - `SDG` - Sudanese Pound - /// - `SDP` - Sudanese Pound (1957–1998) - /// - `SRD` - Surinamese Dollar - /// - `SRG` - Surinamese Guilder - /// - `SZL` - Swazi Lilangeni - /// - `SEK` - Swedish Krona - /// - `CHF` - Swiss Franc - /// - `SYP` - Syrian Pound - /// - `STN` - São Tomé & Príncipe Dobra - /// - `STD` - São Tomé & Príncipe Dobra (1977–2017) - /// - `TVD` - TVD - /// - `TJR` - Tajikistani Ruble - /// - `TJS` - Tajikistani Somoni - /// - `TZS` - Tanzanian Shilling - /// - `XTS` - Testing Currency Code - /// - `THB` - Thai Baht - /// - `XXX` - The codes assigned for transactions where no currency is involved - /// - `TPE` - Timorese Escudo - /// - `TOP` - Tongan Paʻanga - /// - `TTD` - Trinidad & Tobago Dollar - /// - `TND` - Tunisian Dinar - /// - `TRY` - Turkish Lira - /// - `TRL` - Turkish Lira (1922–2005) - /// - `TMT` - Turkmenistani Manat - /// - `TMM` - Turkmenistani Manat (1993–2009) - /// - `USD` - US Dollar - /// - `USN` - US Dollar (Next day) - /// - `USS` - US Dollar (Same day) - /// - `UGX` - Ugandan Shilling - /// - `UGS` - Ugandan Shilling (1966–1987) - /// - `UAH` - Ukrainian Hryvnia - /// - `UAK` - Ukrainian Karbovanets - /// - `AED` - United Arab Emirates Dirham - /// - `UYW` - Uruguayan Nominal Wage Index Unit - /// - `UYU` - Uruguayan Peso - /// - `UYP` - Uruguayan Peso (1975–1993) - /// - `UYI` - Uruguayan Peso (Indexed Units) - /// - `UZS` - Uzbekistani Som - /// - `VUV` - Vanuatu Vatu - /// - `VES` - Venezuelan Bolívar - /// - `VEB` - Venezuelan Bolívar (1871–2008) - /// - `VEF` - Venezuelan Bolívar (2008–2018) - /// - `VND` - Vietnamese Dong - /// - `VNN` - Vietnamese Dong (1978–1985) - /// - `CHE` - WIR Euro - /// - `CHW` - WIR Franc - /// - `XOF` - West African CFA Franc - /// - `YDD` - Yemeni Dinar - /// - `YER` - Yemeni Rial - /// - `YUN` - Yugoslavian Convertible Dinar (1990–1992) - /// - `YUD` - Yugoslavian Hard Dinar (1966–1990) - /// - `YUM` - Yugoslavian New Dinar (1994–2002) - /// - `YUR` - Yugoslavian Reformed Dinar (1992–1993) - /// - `ZWN` - ZWN - /// - `ZRN` - Zairean New Zaire (1993–1998) - /// - `ZRZ` - Zairean Zaire (1971–1993) - /// - `ZMW` - Zambian Kwacha - /// - `ZMK` - Zambian Kwacha (1968–2012) - /// - `ZWD` - Zimbabwean Dollar (1980–2008) - /// - `ZWR` - Zimbabwean Dollar (2008) - /// - `ZWL` - Zimbabwean Dollar (2009) + /// * `XUA` - ADB Unit of Account + /// * `AFN` - Afghan Afghani + /// * `AFA` - Afghan Afghani (1927–2002) + /// * `ALL` - Albanian Lek + /// * `ALK` - Albanian Lek (1946–1965) + /// * `DZD` - Algerian Dinar + /// * `ADP` - Andorran Peseta + /// * `AOA` - Angolan Kwanza + /// * `AOK` - Angolan Kwanza (1977–1991) + /// * `AON` - Angolan New Kwanza (1990–2000) + /// * `AOR` - Angolan Readjusted Kwanza (1995–1999) + /// * `ARA` - Argentine Austral + /// * `ARS` - Argentine Peso + /// * `ARM` - Argentine Peso (1881–1970) + /// * `ARP` - Argentine Peso (1983–1985) + /// * `ARL` - Argentine Peso Ley (1970–1983) + /// * `AMD` - Armenian Dram + /// * `AWG` - Aruban Florin + /// * `AUD` - Australian Dollar + /// * `ATS` - Austrian Schilling + /// * `AZN` - Azerbaijani Manat + /// * `AZM` - Azerbaijani Manat (1993–2006) + /// * `BSD` - Bahamian Dollar + /// * `BHD` - Bahraini Dinar + /// * `BDT` - Bangladeshi Taka + /// * `BBD` - Barbadian Dollar + /// * `BYN` - Belarusian Ruble + /// * `BYB` - Belarusian Ruble (1994–1999) + /// * `BYR` - Belarusian Ruble (2000–2016) + /// * `BEF` - Belgian Franc + /// * `BEC` - Belgian Franc (convertible) + /// * `BEL` - Belgian Franc (financial) + /// * `BZD` - Belize Dollar + /// * `BMD` - Bermudan Dollar + /// * `BTN` - Bhutanese Ngultrum + /// * `BOB` - Bolivian Boliviano + /// * `BOL` - Bolivian Boliviano (1863–1963) + /// * `BOV` - Bolivian Mvdol + /// * `BOP` - Bolivian Peso + /// * `BAM` - Bosnia-Herzegovina Convertible Mark + /// * `BAD` - Bosnia-Herzegovina Dinar (1992–1994) + /// * `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) + /// * `BWP` - Botswanan Pula + /// * `BRC` - Brazilian Cruzado (1986–1989) + /// * `BRZ` - Brazilian Cruzeiro (1942–1967) + /// * `BRE` - Brazilian Cruzeiro (1990–1993) + /// * `BRR` - Brazilian Cruzeiro (1993–1994) + /// * `BRN` - Brazilian New Cruzado (1989–1990) + /// * `BRB` - Brazilian New Cruzeiro (1967–1986) + /// * `BRL` - Brazilian Real + /// * `GBP` - British Pound + /// * `BND` - Brunei Dollar + /// * `BGL` - Bulgarian Hard Lev + /// * `BGN` - Bulgarian Lev + /// * `BGO` - Bulgarian Lev (1879–1952) + /// * `BGM` - Bulgarian Socialist Lev + /// * `BUK` - Burmese Kyat + /// * `BIF` - Burundian Franc + /// * `XPF` - CFP Franc + /// * `KHR` - Cambodian Riel + /// * `CAD` - Canadian Dollar + /// * `CVE` - Cape Verdean Escudo + /// * `KYD` - Cayman Islands Dollar + /// * `XAF` - Central African CFA Franc + /// * `CLE` - Chilean Escudo + /// * `CLP` - Chilean Peso + /// * `CLF` - Chilean Unit of Account (UF) + /// * `CNX` - Chinese People’s Bank Dollar + /// * `CNY` - Chinese Yuan + /// * `CNH` - Chinese Yuan (offshore) + /// * `COP` - Colombian Peso + /// * `COU` - Colombian Real Value Unit + /// * `KMF` - Comorian Franc + /// * `CDF` - Congolese Franc + /// * `CRC` - Costa Rican Colón + /// * `HRD` - Croatian Dinar + /// * `HRK` - Croatian Kuna + /// * `CUC` - Cuban Convertible Peso + /// * `CUP` - Cuban Peso + /// * `CYP` - Cypriot Pound + /// * `CZK` - Czech Koruna + /// * `CSK` - Czechoslovak Hard Koruna + /// * `DKK` - Danish Krone + /// * `DJF` - Djiboutian Franc + /// * `DOP` - Dominican Peso + /// * `NLG` - Dutch Guilder + /// * `XCD` - East Caribbean Dollar + /// * `DDM` - East German Mark + /// * `ECS` - Ecuadorian Sucre + /// * `ECV` - Ecuadorian Unit of Constant Value + /// * `EGP` - Egyptian Pound + /// * `GQE` - Equatorial Guinean Ekwele + /// * `ERN` - Eritrean Nakfa + /// * `EEK` - Estonian Kroon + /// * `ETB` - Ethiopian Birr + /// * `EUR` - Euro + /// * `XBA` - European Composite Unit + /// * `XEU` - European Currency Unit + /// * `XBB` - European Monetary Unit + /// * `XBC` - European Unit of Account (XBC) + /// * `XBD` - European Unit of Account (XBD) + /// * `FKP` - Falkland Islands Pound + /// * `FJD` - Fijian Dollar + /// * `FIM` - Finnish Markka + /// * `FRF` - French Franc + /// * `XFO` - French Gold Franc + /// * `XFU` - French UIC-Franc + /// * `GMD` - Gambian Dalasi + /// * `GEK` - Georgian Kupon Larit + /// * `GEL` - Georgian Lari + /// * `DEM` - German Mark + /// * `GHS` - Ghanaian Cedi + /// * `GHC` - Ghanaian Cedi (1979–2007) + /// * `GIP` - Gibraltar Pound + /// * `XAU` - Gold + /// * `GRD` - Greek Drachma + /// * `GTQ` - Guatemalan Quetzal + /// * `GWP` - Guinea-Bissau Peso + /// * `GNF` - Guinean Franc + /// * `GNS` - Guinean Syli + /// * `GYD` - Guyanaese Dollar + /// * `HTG` - Haitian Gourde + /// * `HNL` - Honduran Lempira + /// * `HKD` - Hong Kong Dollar + /// * `HUF` - Hungarian Forint + /// * `IMP` - IMP + /// * `ISK` - Icelandic Króna + /// * `ISJ` - Icelandic Króna (1918–1981) + /// * `INR` - Indian Rupee + /// * `IDR` - Indonesian Rupiah + /// * `IRR` - Iranian Rial + /// * `IQD` - Iraqi Dinar + /// * `IEP` - Irish Pound + /// * `ILS` - Israeli New Shekel + /// * `ILP` - Israeli Pound + /// * `ILR` - Israeli Shekel (1980–1985) + /// * `ITL` - Italian Lira + /// * `JMD` - Jamaican Dollar + /// * `JPY` - Japanese Yen + /// * `JOD` - Jordanian Dinar + /// * `KZT` - Kazakhstani Tenge + /// * `KES` - Kenyan Shilling + /// * `KWD` - Kuwaiti Dinar + /// * `KGS` - Kyrgystani Som + /// * `LAK` - Laotian Kip + /// * `LVL` - Latvian Lats + /// * `LVR` - Latvian Ruble + /// * `LBP` - Lebanese Pound + /// * `LSL` - Lesotho Loti + /// * `LRD` - Liberian Dollar + /// * `LYD` - Libyan Dinar + /// * `LTL` - Lithuanian Litas + /// * `LTT` - Lithuanian Talonas + /// * `LUL` - Luxembourg Financial Franc + /// * `LUC` - Luxembourgian Convertible Franc + /// * `LUF` - Luxembourgian Franc + /// * `MOP` - Macanese Pataca + /// * `MKD` - Macedonian Denar + /// * `MKN` - Macedonian Denar (1992–1993) + /// * `MGA` - Malagasy Ariary + /// * `MGF` - Malagasy Franc + /// * `MWK` - Malawian Kwacha + /// * `MYR` - Malaysian Ringgit + /// * `MVR` - Maldivian Rufiyaa + /// * `MVP` - Maldivian Rupee (1947–1981) + /// * `MLF` - Malian Franc + /// * `MTL` - Maltese Lira + /// * `MTP` - Maltese Pound + /// * `MRU` - Mauritanian Ouguiya + /// * `MRO` - Mauritanian Ouguiya (1973–2017) + /// * `MUR` - Mauritian Rupee + /// * `MXV` - Mexican Investment Unit + /// * `MXN` - Mexican Peso + /// * `MXP` - Mexican Silver Peso (1861–1992) + /// * `MDC` - Moldovan Cupon + /// * `MDL` - Moldovan Leu + /// * `MCF` - Monegasque Franc + /// * `MNT` - Mongolian Tugrik + /// * `MAD` - Moroccan Dirham + /// * `MAF` - Moroccan Franc + /// * `MZE` - Mozambican Escudo + /// * `MZN` - Mozambican Metical + /// * `MZM` - Mozambican Metical (1980–2006) + /// * `MMK` - Myanmar Kyat + /// * `NAD` - Namibian Dollar + /// * `NPR` - Nepalese Rupee + /// * `ANG` - Netherlands Antillean Guilder + /// * `TWD` - New Taiwan Dollar + /// * `NZD` - New Zealand Dollar + /// * `NIO` - Nicaraguan Córdoba + /// * `NIC` - Nicaraguan Córdoba (1988–1991) + /// * `NGN` - Nigerian Naira + /// * `KPW` - North Korean Won + /// * `NOK` - Norwegian Krone + /// * `OMR` - Omani Rial + /// * `PKR` - Pakistani Rupee + /// * `XPD` - Palladium + /// * `PAB` - Panamanian Balboa + /// * `PGK` - Papua New Guinean Kina + /// * `PYG` - Paraguayan Guarani + /// * `PEI` - Peruvian Inti + /// * `PEN` - Peruvian Sol + /// * `PES` - Peruvian Sol (1863–1965) + /// * `PHP` - Philippine Peso + /// * `XPT` - Platinum + /// * `PLN` - Polish Zloty + /// * `PLZ` - Polish Zloty (1950–1995) + /// * `PTE` - Portuguese Escudo + /// * `GWE` - Portuguese Guinea Escudo + /// * `QAR` - Qatari Rial + /// * `XRE` - RINET Funds + /// * `RHD` - Rhodesian Dollar + /// * `RON` - Romanian Leu + /// * `ROL` - Romanian Leu (1952–2006) + /// * `RUB` - Russian Ruble + /// * `RUR` - Russian Ruble (1991–1998) + /// * `RWF` - Rwandan Franc + /// * `SVC` - Salvadoran Colón + /// * `WST` - Samoan Tala + /// * `SAR` - Saudi Riyal + /// * `RSD` - Serbian Dinar + /// * `CSD` - Serbian Dinar (2002–2006) + /// * `SCR` - Seychellois Rupee + /// * `SLL` - Sierra Leonean Leone + /// * `XAG` - Silver + /// * `SGD` - Singapore Dollar + /// * `SKK` - Slovak Koruna + /// * `SIT` - Slovenian Tolar + /// * `SBD` - Solomon Islands Dollar + /// * `SOS` - Somali Shilling + /// * `ZAR` - South African Rand + /// * `ZAL` - South African Rand (financial) + /// * `KRH` - South Korean Hwan (1953–1962) + /// * `KRW` - South Korean Won + /// * `KRO` - South Korean Won (1945–1953) + /// * `SSP` - South Sudanese Pound + /// * `SUR` - Soviet Rouble + /// * `ESP` - Spanish Peseta + /// * `ESA` - Spanish Peseta (A account) + /// * `ESB` - Spanish Peseta (convertible account) + /// * `XDR` - Special Drawing Rights + /// * `LKR` - Sri Lankan Rupee + /// * `SHP` - St. Helena Pound + /// * `XSU` - Sucre + /// * `SDD` - Sudanese Dinar (1992–2007) + /// * `SDG` - Sudanese Pound + /// * `SDP` - Sudanese Pound (1957–1998) + /// * `SRD` - Surinamese Dollar + /// * `SRG` - Surinamese Guilder + /// * `SZL` - Swazi Lilangeni + /// * `SEK` - Swedish Krona + /// * `CHF` - Swiss Franc + /// * `SYP` - Syrian Pound + /// * `STN` - São Tomé & Príncipe Dobra + /// * `STD` - São Tomé & Príncipe Dobra (1977–2017) + /// * `TVD` - TVD + /// * `TJR` - Tajikistani Ruble + /// * `TJS` - Tajikistani Somoni + /// * `TZS` - Tanzanian Shilling + /// * `XTS` - Testing Currency Code + /// * `THB` - Thai Baht + /// * `XXX` - The codes assigned for transactions where no currency is involved + /// * `TPE` - Timorese Escudo + /// * `TOP` - Tongan Paʻanga + /// * `TTD` - Trinidad & Tobago Dollar + /// * `TND` - Tunisian Dinar + /// * `TRY` - Turkish Lira + /// * `TRL` - Turkish Lira (1922–2005) + /// * `TMT` - Turkmenistani Manat + /// * `TMM` - Turkmenistani Manat (1993–2009) + /// * `USD` - US Dollar + /// * `USN` - US Dollar (Next day) + /// * `USS` - US Dollar (Same day) + /// * `UGX` - Ugandan Shilling + /// * `UGS` - Ugandan Shilling (1966–1987) + /// * `UAH` - Ukrainian Hryvnia + /// * `UAK` - Ukrainian Karbovanets + /// * `AED` - United Arab Emirates Dirham + /// * `UYW` - Uruguayan Nominal Wage Index Unit + /// * `UYU` - Uruguayan Peso + /// * `UYP` - Uruguayan Peso (1975–1993) + /// * `UYI` - Uruguayan Peso (Indexed Units) + /// * `UZS` - Uzbekistani Som + /// * `VUV` - Vanuatu Vatu + /// * `VES` - Venezuelan Bolívar + /// * `VEB` - Venezuelan Bolívar (1871–2008) + /// * `VEF` - Venezuelan Bolívar (2008–2018) + /// * `VND` - Vietnamese Dong + /// * `VNN` - Vietnamese Dong (1978–1985) + /// * `CHE` - WIR Euro + /// * `CHW` - WIR Franc + /// * `XOF` - West African CFA Franc + /// * `YDD` - Yemeni Dinar + /// * `YER` - Yemeni Rial + /// * `YUN` - Yugoslavian Convertible Dinar (1990–1992) + /// * `YUD` - Yugoslavian Hard Dinar (1966–1990) + /// * `YUM` - Yugoslavian New Dinar (1994–2002) + /// * `YUR` - Yugoslavian Reformed Dinar (1992–1993) + /// * `ZWN` - ZWN + /// * `ZRN` - Zairean New Zaire (1993–1998) + /// * `ZRZ` - Zairean Zaire (1971–1993) + /// * `ZMW` - Zambian Kwacha + /// * `ZMK` - Zambian Kwacha (1968–2012) + /// * `ZWD` - Zimbabwean Dollar (1980–2008) + /// * `ZWR` - Zimbabwean Dollar (2008) + /// * `ZWL` - Zimbabwean Dollar (2009) /// [JsonPropertyName("currency")] public TransactionCurrencyEnum? Currency { get; set; } @@ -364,9 +376,11 @@ public record IncomeStatement [JsonPropertyName("end_period")] public DateTime? EndPeriod { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("income")] public IEnumerable? Income { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("cost_of_sales")] public IEnumerable? CostOfSales { get; set; } @@ -376,6 +390,7 @@ public record IncomeStatement [JsonPropertyName("gross_profit")] public double? GrossProfit { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("operating_expenses")] public IEnumerable? OperatingExpenses { get; set; } @@ -385,6 +400,7 @@ public record IncomeStatement [JsonPropertyName("net_operating_income")] public double? NetOperatingIncome { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("non_operating_expenses")] public IEnumerable? NonOperatingExpenses { get; set; } @@ -397,15 +413,29 @@ public record IncomeStatement /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/IndividualCommonModelScopeDeserializer.cs b/src/Merge.Client/Accounting/Types/IndividualCommonModelScopeDeserializer.cs index c5336074..87165088 100644 --- a/src/Merge.Client/Accounting/Types/IndividualCommonModelScopeDeserializer.cs +++ b/src/Merge.Client/Accounting/Types/IndividualCommonModelScopeDeserializer.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record IndividualCommonModelScopeDeserializer [JsonPropertyName("field_permissions")] public FieldPermissionDeserializer? FieldPermissions { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/IndividualCommonModelScopeDeserializerRequest.cs b/src/Merge.Client/Accounting/Types/IndividualCommonModelScopeDeserializerRequest.cs index 266b18ca..0370f161 100644 --- a/src/Merge.Client/Accounting/Types/IndividualCommonModelScopeDeserializerRequest.cs +++ b/src/Merge.Client/Accounting/Types/IndividualCommonModelScopeDeserializerRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record IndividualCommonModelScopeDeserializerRequest [JsonPropertyName("field_permissions")] public FieldPermissionDeserializerRequest? FieldPermissions { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/Invoice.cs b/src/Merge.Client/Accounting/Types/Invoice.cs index df56a13c..9d570031 100644 --- a/src/Merge.Client/Accounting/Types/Invoice.cs +++ b/src/Merge.Client/Accounting/Types/Invoice.cs @@ -1,11 +1,24 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Accounting; +/// +/// # The Invoice Object +/// ### Description +/// The `Invoice` object represents an itemized record of goods and/or services sold to a customer or bought from a vendor. +/// +/// +/// Represents a Bill when the `Invoice` type is `ACCOUNTS_PAYABLE`. References an Invoice when the `Invoice` type is `ACCOUNTS_RECEIVABLE`. +/// +/// ### Usage Example +/// Fetch from the `LIST Invoices` endpoint and view a company's invoices. +/// public record Invoice { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -18,20 +31,22 @@ public record Invoice /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } /// /// Whether the invoice is an accounts receivable or accounts payable. If `type` is `ACCOUNTS_PAYABLE`, the invoice is a bill. If `type` is `ACCOUNTS_RECEIVABLE`, it is an invoice. /// - /// - `ACCOUNTS_RECEIVABLE` - ACCOUNTS_RECEIVABLE - /// - `ACCOUNTS_PAYABLE` - ACCOUNTS_PAYABLE + /// * `ACCOUNTS_RECEIVABLE` - ACCOUNTS_RECEIVABLE + /// * `ACCOUNTS_PAYABLE` - ACCOUNTS_PAYABLE /// [JsonPropertyName("type")] public InvoiceTypeEnum? Type { get; set; } @@ -87,312 +102,312 @@ public record Invoice /// /// The invoice's currency. /// - /// - `XUA` - ADB Unit of Account - /// - `AFN` - Afghan Afghani - /// - `AFA` - Afghan Afghani (1927–2002) - /// - `ALL` - Albanian Lek - /// - `ALK` - Albanian Lek (1946–1965) - /// - `DZD` - Algerian Dinar - /// - `ADP` - Andorran Peseta - /// - `AOA` - Angolan Kwanza - /// - `AOK` - Angolan Kwanza (1977–1991) - /// - `AON` - Angolan New Kwanza (1990–2000) - /// - `AOR` - Angolan Readjusted Kwanza (1995–1999) - /// - `ARA` - Argentine Austral - /// - `ARS` - Argentine Peso - /// - `ARM` - Argentine Peso (1881–1970) - /// - `ARP` - Argentine Peso (1983–1985) - /// - `ARL` - Argentine Peso Ley (1970–1983) - /// - `AMD` - Armenian Dram - /// - `AWG` - Aruban Florin - /// - `AUD` - Australian Dollar - /// - `ATS` - Austrian Schilling - /// - `AZN` - Azerbaijani Manat - /// - `AZM` - Azerbaijani Manat (1993–2006) - /// - `BSD` - Bahamian Dollar - /// - `BHD` - Bahraini Dinar - /// - `BDT` - Bangladeshi Taka - /// - `BBD` - Barbadian Dollar - /// - `BYN` - Belarusian Ruble - /// - `BYB` - Belarusian Ruble (1994–1999) - /// - `BYR` - Belarusian Ruble (2000–2016) - /// - `BEF` - Belgian Franc - /// - `BEC` - Belgian Franc (convertible) - /// - `BEL` - Belgian Franc (financial) - /// - `BZD` - Belize Dollar - /// - `BMD` - Bermudan Dollar - /// - `BTN` - Bhutanese Ngultrum - /// - `BOB` - Bolivian Boliviano - /// - `BOL` - Bolivian Boliviano (1863–1963) - /// - `BOV` - Bolivian Mvdol - /// - `BOP` - Bolivian Peso - /// - `BAM` - Bosnia-Herzegovina Convertible Mark - /// - `BAD` - Bosnia-Herzegovina Dinar (1992–1994) - /// - `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) - /// - `BWP` - Botswanan Pula - /// - `BRC` - Brazilian Cruzado (1986–1989) - /// - `BRZ` - Brazilian Cruzeiro (1942–1967) - /// - `BRE` - Brazilian Cruzeiro (1990–1993) - /// - `BRR` - Brazilian Cruzeiro (1993–1994) - /// - `BRN` - Brazilian New Cruzado (1989–1990) - /// - `BRB` - Brazilian New Cruzeiro (1967–1986) - /// - `BRL` - Brazilian Real - /// - `GBP` - British Pound - /// - `BND` - Brunei Dollar - /// - `BGL` - Bulgarian Hard Lev - /// - `BGN` - Bulgarian Lev - /// - `BGO` - Bulgarian Lev (1879–1952) - /// - `BGM` - Bulgarian Socialist Lev - /// - `BUK` - Burmese Kyat - /// - `BIF` - Burundian Franc - /// - `XPF` - CFP Franc - /// - `KHR` - Cambodian Riel - /// - `CAD` - Canadian Dollar - /// - `CVE` - Cape Verdean Escudo - /// - `KYD` - Cayman Islands Dollar - /// - `XAF` - Central African CFA Franc - /// - `CLE` - Chilean Escudo - /// - `CLP` - Chilean Peso - /// - `CLF` - Chilean Unit of Account (UF) - /// - `CNX` - Chinese People’s Bank Dollar - /// - `CNY` - Chinese Yuan - /// - `CNH` - Chinese Yuan (offshore) - /// - `COP` - Colombian Peso - /// - `COU` - Colombian Real Value Unit - /// - `KMF` - Comorian Franc - /// - `CDF` - Congolese Franc - /// - `CRC` - Costa Rican Colón - /// - `HRD` - Croatian Dinar - /// - `HRK` - Croatian Kuna - /// - `CUC` - Cuban Convertible Peso - /// - `CUP` - Cuban Peso - /// - `CYP` - Cypriot Pound - /// - `CZK` - Czech Koruna - /// - `CSK` - Czechoslovak Hard Koruna - /// - `DKK` - Danish Krone - /// - `DJF` - Djiboutian Franc - /// - `DOP` - Dominican Peso - /// - `NLG` - Dutch Guilder - /// - `XCD` - East Caribbean Dollar - /// - `DDM` - East German Mark - /// - `ECS` - Ecuadorian Sucre - /// - `ECV` - Ecuadorian Unit of Constant Value - /// - `EGP` - Egyptian Pound - /// - `GQE` - Equatorial Guinean Ekwele - /// - `ERN` - Eritrean Nakfa - /// - `EEK` - Estonian Kroon - /// - `ETB` - Ethiopian Birr - /// - `EUR` - Euro - /// - `XBA` - European Composite Unit - /// - `XEU` - European Currency Unit - /// - `XBB` - European Monetary Unit - /// - `XBC` - European Unit of Account (XBC) - /// - `XBD` - European Unit of Account (XBD) - /// - `FKP` - Falkland Islands Pound - /// - `FJD` - Fijian Dollar - /// - `FIM` - Finnish Markka - /// - `FRF` - French Franc - /// - `XFO` - French Gold Franc - /// - `XFU` - French UIC-Franc - /// - `GMD` - Gambian Dalasi - /// - `GEK` - Georgian Kupon Larit - /// - `GEL` - Georgian Lari - /// - `DEM` - German Mark - /// - `GHS` - Ghanaian Cedi - /// - `GHC` - Ghanaian Cedi (1979–2007) - /// - `GIP` - Gibraltar Pound - /// - `XAU` - Gold - /// - `GRD` - Greek Drachma - /// - `GTQ` - Guatemalan Quetzal - /// - `GWP` - Guinea-Bissau Peso - /// - `GNF` - Guinean Franc - /// - `GNS` - Guinean Syli - /// - `GYD` - Guyanaese Dollar - /// - `HTG` - Haitian Gourde - /// - `HNL` - Honduran Lempira - /// - `HKD` - Hong Kong Dollar - /// - `HUF` - Hungarian Forint - /// - `IMP` - IMP - /// - `ISK` - Icelandic Króna - /// - `ISJ` - Icelandic Króna (1918–1981) - /// - `INR` - Indian Rupee - /// - `IDR` - Indonesian Rupiah - /// - `IRR` - Iranian Rial - /// - `IQD` - Iraqi Dinar - /// - `IEP` - Irish Pound - /// - `ILS` - Israeli New Shekel - /// - `ILP` - Israeli Pound - /// - `ILR` - Israeli Shekel (1980–1985) - /// - `ITL` - Italian Lira - /// - `JMD` - Jamaican Dollar - /// - `JPY` - Japanese Yen - /// - `JOD` - Jordanian Dinar - /// - `KZT` - Kazakhstani Tenge - /// - `KES` - Kenyan Shilling - /// - `KWD` - Kuwaiti Dinar - /// - `KGS` - Kyrgystani Som - /// - `LAK` - Laotian Kip - /// - `LVL` - Latvian Lats - /// - `LVR` - Latvian Ruble - /// - `LBP` - Lebanese Pound - /// - `LSL` - Lesotho Loti - /// - `LRD` - Liberian Dollar - /// - `LYD` - Libyan Dinar - /// - `LTL` - Lithuanian Litas - /// - `LTT` - Lithuanian Talonas - /// - `LUL` - Luxembourg Financial Franc - /// - `LUC` - Luxembourgian Convertible Franc - /// - `LUF` - Luxembourgian Franc - /// - `MOP` - Macanese Pataca - /// - `MKD` - Macedonian Denar - /// - `MKN` - Macedonian Denar (1992–1993) - /// - `MGA` - Malagasy Ariary - /// - `MGF` - Malagasy Franc - /// - `MWK` - Malawian Kwacha - /// - `MYR` - Malaysian Ringgit - /// - `MVR` - Maldivian Rufiyaa - /// - `MVP` - Maldivian Rupee (1947–1981) - /// - `MLF` - Malian Franc - /// - `MTL` - Maltese Lira - /// - `MTP` - Maltese Pound - /// - `MRU` - Mauritanian Ouguiya - /// - `MRO` - Mauritanian Ouguiya (1973–2017) - /// - `MUR` - Mauritian Rupee - /// - `MXV` - Mexican Investment Unit - /// - `MXN` - Mexican Peso - /// - `MXP` - Mexican Silver Peso (1861–1992) - /// - `MDC` - Moldovan Cupon - /// - `MDL` - Moldovan Leu - /// - `MCF` - Monegasque Franc - /// - `MNT` - Mongolian Tugrik - /// - `MAD` - Moroccan Dirham - /// - `MAF` - Moroccan Franc - /// - `MZE` - Mozambican Escudo - /// - `MZN` - Mozambican Metical - /// - `MZM` - Mozambican Metical (1980–2006) - /// - `MMK` - Myanmar Kyat - /// - `NAD` - Namibian Dollar - /// - `NPR` - Nepalese Rupee - /// - `ANG` - Netherlands Antillean Guilder - /// - `TWD` - New Taiwan Dollar - /// - `NZD` - New Zealand Dollar - /// - `NIO` - Nicaraguan Córdoba - /// - `NIC` - Nicaraguan Córdoba (1988–1991) - /// - `NGN` - Nigerian Naira - /// - `KPW` - North Korean Won - /// - `NOK` - Norwegian Krone - /// - `OMR` - Omani Rial - /// - `PKR` - Pakistani Rupee - /// - `XPD` - Palladium - /// - `PAB` - Panamanian Balboa - /// - `PGK` - Papua New Guinean Kina - /// - `PYG` - Paraguayan Guarani - /// - `PEI` - Peruvian Inti - /// - `PEN` - Peruvian Sol - /// - `PES` - Peruvian Sol (1863–1965) - /// - `PHP` - Philippine Peso - /// - `XPT` - Platinum - /// - `PLN` - Polish Zloty - /// - `PLZ` - Polish Zloty (1950–1995) - /// - `PTE` - Portuguese Escudo - /// - `GWE` - Portuguese Guinea Escudo - /// - `QAR` - Qatari Rial - /// - `XRE` - RINET Funds - /// - `RHD` - Rhodesian Dollar - /// - `RON` - Romanian Leu - /// - `ROL` - Romanian Leu (1952–2006) - /// - `RUB` - Russian Ruble - /// - `RUR` - Russian Ruble (1991–1998) - /// - `RWF` - Rwandan Franc - /// - `SVC` - Salvadoran Colón - /// - `WST` - Samoan Tala - /// - `SAR` - Saudi Riyal - /// - `RSD` - Serbian Dinar - /// - `CSD` - Serbian Dinar (2002–2006) - /// - `SCR` - Seychellois Rupee - /// - `SLL` - Sierra Leonean Leone - /// - `XAG` - Silver - /// - `SGD` - Singapore Dollar - /// - `SKK` - Slovak Koruna - /// - `SIT` - Slovenian Tolar - /// - `SBD` - Solomon Islands Dollar - /// - `SOS` - Somali Shilling - /// - `ZAR` - South African Rand - /// - `ZAL` - South African Rand (financial) - /// - `KRH` - South Korean Hwan (1953–1962) - /// - `KRW` - South Korean Won - /// - `KRO` - South Korean Won (1945–1953) - /// - `SSP` - South Sudanese Pound - /// - `SUR` - Soviet Rouble - /// - `ESP` - Spanish Peseta - /// - `ESA` - Spanish Peseta (A account) - /// - `ESB` - Spanish Peseta (convertible account) - /// - `XDR` - Special Drawing Rights - /// - `LKR` - Sri Lankan Rupee - /// - `SHP` - St. Helena Pound - /// - `XSU` - Sucre - /// - `SDD` - Sudanese Dinar (1992–2007) - /// - `SDG` - Sudanese Pound - /// - `SDP` - Sudanese Pound (1957–1998) - /// - `SRD` - Surinamese Dollar - /// - `SRG` - Surinamese Guilder - /// - `SZL` - Swazi Lilangeni - /// - `SEK` - Swedish Krona - /// - `CHF` - Swiss Franc - /// - `SYP` - Syrian Pound - /// - `STN` - São Tomé & Príncipe Dobra - /// - `STD` - São Tomé & Príncipe Dobra (1977–2017) - /// - `TVD` - TVD - /// - `TJR` - Tajikistani Ruble - /// - `TJS` - Tajikistani Somoni - /// - `TZS` - Tanzanian Shilling - /// - `XTS` - Testing Currency Code - /// - `THB` - Thai Baht - /// - `XXX` - The codes assigned for transactions where no currency is involved - /// - `TPE` - Timorese Escudo - /// - `TOP` - Tongan Paʻanga - /// - `TTD` - Trinidad & Tobago Dollar - /// - `TND` - Tunisian Dinar - /// - `TRY` - Turkish Lira - /// - `TRL` - Turkish Lira (1922–2005) - /// - `TMT` - Turkmenistani Manat - /// - `TMM` - Turkmenistani Manat (1993–2009) - /// - `USD` - US Dollar - /// - `USN` - US Dollar (Next day) - /// - `USS` - US Dollar (Same day) - /// - `UGX` - Ugandan Shilling - /// - `UGS` - Ugandan Shilling (1966–1987) - /// - `UAH` - Ukrainian Hryvnia - /// - `UAK` - Ukrainian Karbovanets - /// - `AED` - United Arab Emirates Dirham - /// - `UYW` - Uruguayan Nominal Wage Index Unit - /// - `UYU` - Uruguayan Peso - /// - `UYP` - Uruguayan Peso (1975–1993) - /// - `UYI` - Uruguayan Peso (Indexed Units) - /// - `UZS` - Uzbekistani Som - /// - `VUV` - Vanuatu Vatu - /// - `VES` - Venezuelan Bolívar - /// - `VEB` - Venezuelan Bolívar (1871–2008) - /// - `VEF` - Venezuelan Bolívar (2008–2018) - /// - `VND` - Vietnamese Dong - /// - `VNN` - Vietnamese Dong (1978–1985) - /// - `CHE` - WIR Euro - /// - `CHW` - WIR Franc - /// - `XOF` - West African CFA Franc - /// - `YDD` - Yemeni Dinar - /// - `YER` - Yemeni Rial - /// - `YUN` - Yugoslavian Convertible Dinar (1990–1992) - /// - `YUD` - Yugoslavian Hard Dinar (1966–1990) - /// - `YUM` - Yugoslavian New Dinar (1994–2002) - /// - `YUR` - Yugoslavian Reformed Dinar (1992–1993) - /// - `ZWN` - ZWN - /// - `ZRN` - Zairean New Zaire (1993–1998) - /// - `ZRZ` - Zairean Zaire (1971–1993) - /// - `ZMW` - Zambian Kwacha - /// - `ZMK` - Zambian Kwacha (1968–2012) - /// - `ZWD` - Zimbabwean Dollar (1980–2008) - /// - `ZWR` - Zimbabwean Dollar (2008) - /// - `ZWL` - Zimbabwean Dollar (2009) + /// * `XUA` - ADB Unit of Account + /// * `AFN` - Afghan Afghani + /// * `AFA` - Afghan Afghani (1927–2002) + /// * `ALL` - Albanian Lek + /// * `ALK` - Albanian Lek (1946–1965) + /// * `DZD` - Algerian Dinar + /// * `ADP` - Andorran Peseta + /// * `AOA` - Angolan Kwanza + /// * `AOK` - Angolan Kwanza (1977–1991) + /// * `AON` - Angolan New Kwanza (1990–2000) + /// * `AOR` - Angolan Readjusted Kwanza (1995–1999) + /// * `ARA` - Argentine Austral + /// * `ARS` - Argentine Peso + /// * `ARM` - Argentine Peso (1881–1970) + /// * `ARP` - Argentine Peso (1983–1985) + /// * `ARL` - Argentine Peso Ley (1970–1983) + /// * `AMD` - Armenian Dram + /// * `AWG` - Aruban Florin + /// * `AUD` - Australian Dollar + /// * `ATS` - Austrian Schilling + /// * `AZN` - Azerbaijani Manat + /// * `AZM` - Azerbaijani Manat (1993–2006) + /// * `BSD` - Bahamian Dollar + /// * `BHD` - Bahraini Dinar + /// * `BDT` - Bangladeshi Taka + /// * `BBD` - Barbadian Dollar + /// * `BYN` - Belarusian Ruble + /// * `BYB` - Belarusian Ruble (1994–1999) + /// * `BYR` - Belarusian Ruble (2000–2016) + /// * `BEF` - Belgian Franc + /// * `BEC` - Belgian Franc (convertible) + /// * `BEL` - Belgian Franc (financial) + /// * `BZD` - Belize Dollar + /// * `BMD` - Bermudan Dollar + /// * `BTN` - Bhutanese Ngultrum + /// * `BOB` - Bolivian Boliviano + /// * `BOL` - Bolivian Boliviano (1863–1963) + /// * `BOV` - Bolivian Mvdol + /// * `BOP` - Bolivian Peso + /// * `BAM` - Bosnia-Herzegovina Convertible Mark + /// * `BAD` - Bosnia-Herzegovina Dinar (1992–1994) + /// * `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) + /// * `BWP` - Botswanan Pula + /// * `BRC` - Brazilian Cruzado (1986–1989) + /// * `BRZ` - Brazilian Cruzeiro (1942–1967) + /// * `BRE` - Brazilian Cruzeiro (1990–1993) + /// * `BRR` - Brazilian Cruzeiro (1993–1994) + /// * `BRN` - Brazilian New Cruzado (1989–1990) + /// * `BRB` - Brazilian New Cruzeiro (1967–1986) + /// * `BRL` - Brazilian Real + /// * `GBP` - British Pound + /// * `BND` - Brunei Dollar + /// * `BGL` - Bulgarian Hard Lev + /// * `BGN` - Bulgarian Lev + /// * `BGO` - Bulgarian Lev (1879–1952) + /// * `BGM` - Bulgarian Socialist Lev + /// * `BUK` - Burmese Kyat + /// * `BIF` - Burundian Franc + /// * `XPF` - CFP Franc + /// * `KHR` - Cambodian Riel + /// * `CAD` - Canadian Dollar + /// * `CVE` - Cape Verdean Escudo + /// * `KYD` - Cayman Islands Dollar + /// * `XAF` - Central African CFA Franc + /// * `CLE` - Chilean Escudo + /// * `CLP` - Chilean Peso + /// * `CLF` - Chilean Unit of Account (UF) + /// * `CNX` - Chinese People’s Bank Dollar + /// * `CNY` - Chinese Yuan + /// * `CNH` - Chinese Yuan (offshore) + /// * `COP` - Colombian Peso + /// * `COU` - Colombian Real Value Unit + /// * `KMF` - Comorian Franc + /// * `CDF` - Congolese Franc + /// * `CRC` - Costa Rican Colón + /// * `HRD` - Croatian Dinar + /// * `HRK` - Croatian Kuna + /// * `CUC` - Cuban Convertible Peso + /// * `CUP` - Cuban Peso + /// * `CYP` - Cypriot Pound + /// * `CZK` - Czech Koruna + /// * `CSK` - Czechoslovak Hard Koruna + /// * `DKK` - Danish Krone + /// * `DJF` - Djiboutian Franc + /// * `DOP` - Dominican Peso + /// * `NLG` - Dutch Guilder + /// * `XCD` - East Caribbean Dollar + /// * `DDM` - East German Mark + /// * `ECS` - Ecuadorian Sucre + /// * `ECV` - Ecuadorian Unit of Constant Value + /// * `EGP` - Egyptian Pound + /// * `GQE` - Equatorial Guinean Ekwele + /// * `ERN` - Eritrean Nakfa + /// * `EEK` - Estonian Kroon + /// * `ETB` - Ethiopian Birr + /// * `EUR` - Euro + /// * `XBA` - European Composite Unit + /// * `XEU` - European Currency Unit + /// * `XBB` - European Monetary Unit + /// * `XBC` - European Unit of Account (XBC) + /// * `XBD` - European Unit of Account (XBD) + /// * `FKP` - Falkland Islands Pound + /// * `FJD` - Fijian Dollar + /// * `FIM` - Finnish Markka + /// * `FRF` - French Franc + /// * `XFO` - French Gold Franc + /// * `XFU` - French UIC-Franc + /// * `GMD` - Gambian Dalasi + /// * `GEK` - Georgian Kupon Larit + /// * `GEL` - Georgian Lari + /// * `DEM` - German Mark + /// * `GHS` - Ghanaian Cedi + /// * `GHC` - Ghanaian Cedi (1979–2007) + /// * `GIP` - Gibraltar Pound + /// * `XAU` - Gold + /// * `GRD` - Greek Drachma + /// * `GTQ` - Guatemalan Quetzal + /// * `GWP` - Guinea-Bissau Peso + /// * `GNF` - Guinean Franc + /// * `GNS` - Guinean Syli + /// * `GYD` - Guyanaese Dollar + /// * `HTG` - Haitian Gourde + /// * `HNL` - Honduran Lempira + /// * `HKD` - Hong Kong Dollar + /// * `HUF` - Hungarian Forint + /// * `IMP` - IMP + /// * `ISK` - Icelandic Króna + /// * `ISJ` - Icelandic Króna (1918–1981) + /// * `INR` - Indian Rupee + /// * `IDR` - Indonesian Rupiah + /// * `IRR` - Iranian Rial + /// * `IQD` - Iraqi Dinar + /// * `IEP` - Irish Pound + /// * `ILS` - Israeli New Shekel + /// * `ILP` - Israeli Pound + /// * `ILR` - Israeli Shekel (1980–1985) + /// * `ITL` - Italian Lira + /// * `JMD` - Jamaican Dollar + /// * `JPY` - Japanese Yen + /// * `JOD` - Jordanian Dinar + /// * `KZT` - Kazakhstani Tenge + /// * `KES` - Kenyan Shilling + /// * `KWD` - Kuwaiti Dinar + /// * `KGS` - Kyrgystani Som + /// * `LAK` - Laotian Kip + /// * `LVL` - Latvian Lats + /// * `LVR` - Latvian Ruble + /// * `LBP` - Lebanese Pound + /// * `LSL` - Lesotho Loti + /// * `LRD` - Liberian Dollar + /// * `LYD` - Libyan Dinar + /// * `LTL` - Lithuanian Litas + /// * `LTT` - Lithuanian Talonas + /// * `LUL` - Luxembourg Financial Franc + /// * `LUC` - Luxembourgian Convertible Franc + /// * `LUF` - Luxembourgian Franc + /// * `MOP` - Macanese Pataca + /// * `MKD` - Macedonian Denar + /// * `MKN` - Macedonian Denar (1992–1993) + /// * `MGA` - Malagasy Ariary + /// * `MGF` - Malagasy Franc + /// * `MWK` - Malawian Kwacha + /// * `MYR` - Malaysian Ringgit + /// * `MVR` - Maldivian Rufiyaa + /// * `MVP` - Maldivian Rupee (1947–1981) + /// * `MLF` - Malian Franc + /// * `MTL` - Maltese Lira + /// * `MTP` - Maltese Pound + /// * `MRU` - Mauritanian Ouguiya + /// * `MRO` - Mauritanian Ouguiya (1973–2017) + /// * `MUR` - Mauritian Rupee + /// * `MXV` - Mexican Investment Unit + /// * `MXN` - Mexican Peso + /// * `MXP` - Mexican Silver Peso (1861–1992) + /// * `MDC` - Moldovan Cupon + /// * `MDL` - Moldovan Leu + /// * `MCF` - Monegasque Franc + /// * `MNT` - Mongolian Tugrik + /// * `MAD` - Moroccan Dirham + /// * `MAF` - Moroccan Franc + /// * `MZE` - Mozambican Escudo + /// * `MZN` - Mozambican Metical + /// * `MZM` - Mozambican Metical (1980–2006) + /// * `MMK` - Myanmar Kyat + /// * `NAD` - Namibian Dollar + /// * `NPR` - Nepalese Rupee + /// * `ANG` - Netherlands Antillean Guilder + /// * `TWD` - New Taiwan Dollar + /// * `NZD` - New Zealand Dollar + /// * `NIO` - Nicaraguan Córdoba + /// * `NIC` - Nicaraguan Córdoba (1988–1991) + /// * `NGN` - Nigerian Naira + /// * `KPW` - North Korean Won + /// * `NOK` - Norwegian Krone + /// * `OMR` - Omani Rial + /// * `PKR` - Pakistani Rupee + /// * `XPD` - Palladium + /// * `PAB` - Panamanian Balboa + /// * `PGK` - Papua New Guinean Kina + /// * `PYG` - Paraguayan Guarani + /// * `PEI` - Peruvian Inti + /// * `PEN` - Peruvian Sol + /// * `PES` - Peruvian Sol (1863–1965) + /// * `PHP` - Philippine Peso + /// * `XPT` - Platinum + /// * `PLN` - Polish Zloty + /// * `PLZ` - Polish Zloty (1950–1995) + /// * `PTE` - Portuguese Escudo + /// * `GWE` - Portuguese Guinea Escudo + /// * `QAR` - Qatari Rial + /// * `XRE` - RINET Funds + /// * `RHD` - Rhodesian Dollar + /// * `RON` - Romanian Leu + /// * `ROL` - Romanian Leu (1952–2006) + /// * `RUB` - Russian Ruble + /// * `RUR` - Russian Ruble (1991–1998) + /// * `RWF` - Rwandan Franc + /// * `SVC` - Salvadoran Colón + /// * `WST` - Samoan Tala + /// * `SAR` - Saudi Riyal + /// * `RSD` - Serbian Dinar + /// * `CSD` - Serbian Dinar (2002–2006) + /// * `SCR` - Seychellois Rupee + /// * `SLL` - Sierra Leonean Leone + /// * `XAG` - Silver + /// * `SGD` - Singapore Dollar + /// * `SKK` - Slovak Koruna + /// * `SIT` - Slovenian Tolar + /// * `SBD` - Solomon Islands Dollar + /// * `SOS` - Somali Shilling + /// * `ZAR` - South African Rand + /// * `ZAL` - South African Rand (financial) + /// * `KRH` - South Korean Hwan (1953–1962) + /// * `KRW` - South Korean Won + /// * `KRO` - South Korean Won (1945–1953) + /// * `SSP` - South Sudanese Pound + /// * `SUR` - Soviet Rouble + /// * `ESP` - Spanish Peseta + /// * `ESA` - Spanish Peseta (A account) + /// * `ESB` - Spanish Peseta (convertible account) + /// * `XDR` - Special Drawing Rights + /// * `LKR` - Sri Lankan Rupee + /// * `SHP` - St. Helena Pound + /// * `XSU` - Sucre + /// * `SDD` - Sudanese Dinar (1992–2007) + /// * `SDG` - Sudanese Pound + /// * `SDP` - Sudanese Pound (1957–1998) + /// * `SRD` - Surinamese Dollar + /// * `SRG` - Surinamese Guilder + /// * `SZL` - Swazi Lilangeni + /// * `SEK` - Swedish Krona + /// * `CHF` - Swiss Franc + /// * `SYP` - Syrian Pound + /// * `STN` - São Tomé & Príncipe Dobra + /// * `STD` - São Tomé & Príncipe Dobra (1977–2017) + /// * `TVD` - TVD + /// * `TJR` - Tajikistani Ruble + /// * `TJS` - Tajikistani Somoni + /// * `TZS` - Tanzanian Shilling + /// * `XTS` - Testing Currency Code + /// * `THB` - Thai Baht + /// * `XXX` - The codes assigned for transactions where no currency is involved + /// * `TPE` - Timorese Escudo + /// * `TOP` - Tongan Paʻanga + /// * `TTD` - Trinidad & Tobago Dollar + /// * `TND` - Tunisian Dinar + /// * `TRY` - Turkish Lira + /// * `TRL` - Turkish Lira (1922–2005) + /// * `TMT` - Turkmenistani Manat + /// * `TMM` - Turkmenistani Manat (1993–2009) + /// * `USD` - US Dollar + /// * `USN` - US Dollar (Next day) + /// * `USS` - US Dollar (Same day) + /// * `UGX` - Ugandan Shilling + /// * `UGS` - Ugandan Shilling (1966–1987) + /// * `UAH` - Ukrainian Hryvnia + /// * `UAK` - Ukrainian Karbovanets + /// * `AED` - United Arab Emirates Dirham + /// * `UYW` - Uruguayan Nominal Wage Index Unit + /// * `UYU` - Uruguayan Peso + /// * `UYP` - Uruguayan Peso (1975–1993) + /// * `UYI` - Uruguayan Peso (Indexed Units) + /// * `UZS` - Uzbekistani Som + /// * `VUV` - Vanuatu Vatu + /// * `VES` - Venezuelan Bolívar + /// * `VEB` - Venezuelan Bolívar (1871–2008) + /// * `VEF` - Venezuelan Bolívar (2008–2018) + /// * `VND` - Vietnamese Dong + /// * `VNN` - Vietnamese Dong (1978–1985) + /// * `CHE` - WIR Euro + /// * `CHW` - WIR Franc + /// * `XOF` - West African CFA Franc + /// * `YDD` - Yemeni Dinar + /// * `YER` - Yemeni Rial + /// * `YUN` - Yugoslavian Convertible Dinar (1990–1992) + /// * `YUD` - Yugoslavian Hard Dinar (1966–1990) + /// * `YUM` - Yugoslavian New Dinar (1994–2002) + /// * `YUR` - Yugoslavian Reformed Dinar (1992–1993) + /// * `ZWN` - ZWN + /// * `ZRN` - Zairean New Zaire (1993–1998) + /// * `ZRZ` - Zairean Zaire (1971–1993) + /// * `ZMW` - Zambian Kwacha + /// * `ZMK` - Zambian Kwacha (1968–2012) + /// * `ZWD` - Zimbabwean Dollar (1980–2008) + /// * `ZWR` - Zimbabwean Dollar (2008) + /// * `ZWL` - Zimbabwean Dollar (2009) /// [JsonPropertyName("currency")] public TransactionCurrencyEnum? Currency { get; set; } @@ -403,6 +418,12 @@ public record Invoice [JsonPropertyName("exchange_rate")] public string? ExchangeRate { get; set; } + /// + /// The payment term that applies to this transaction. + /// + [JsonPropertyName("payment_term")] + public OneOf? PaymentTerm { get; set; } + /// /// The total discounts applied to the total cost. /// @@ -418,12 +439,12 @@ public record Invoice /// /// The status of the invoice. /// - /// - `PAID` - PAID - /// - `DRAFT` - DRAFT - /// - `SUBMITTED` - SUBMITTED - /// - `PARTIALLY_PAID` - PARTIALLY_PAID - /// - `OPEN` - OPEN - /// - `VOID` - VOID + /// * `PAID` - PAID + /// * `DRAFT` - DRAFT + /// * `SUBMITTED` - SUBMITTED + /// * `PARTIALLY_PAID` - PARTIALLY_PAID + /// * `OPEN` - OPEN + /// * `VOID` - VOID /// [JsonPropertyName("status")] public InvoiceStatusEnum? Status { get; set; } @@ -476,12 +497,14 @@ public record Invoice [JsonPropertyName("applied_payments")] public IEnumerable>? AppliedPayments { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("line_items")] public IEnumerable? LineItems { get; set; } /// /// `CreditNoteApplyLines` applied to the Invoice. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("applied_credit_notes")] public IEnumerable< OneOf @@ -490,6 +513,7 @@ public IEnumerable< /// /// `VendorCreditApplyLines` applied to the Invoice. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("applied_vendor_credits")] public IEnumerable< OneOf @@ -504,18 +528,33 @@ public IEnumerable< /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_fields")] public IEnumerable? RemoteFields { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/InvoiceLineItem.cs b/src/Merge.Client/Accounting/Types/InvoiceLineItem.cs index fdd9cf72..999cf454 100644 --- a/src/Merge.Client/Accounting/Types/InvoiceLineItem.cs +++ b/src/Merge.Client/Accounting/Types/InvoiceLineItem.cs @@ -1,11 +1,21 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Accounting; +/// +/// # The InvoiceLineItem Object +/// ### Description +/// The `InvoiceLineItem` object represents an itemized record of goods and/or services sold to a customer. +/// +/// ### Usage Example +/// Fetch from the `GET Invoice` endpoint and view the invoice's line items. +/// public record InvoiceLineItem { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -18,12 +28,14 @@ public record InvoiceLineItem /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -60,312 +72,312 @@ public record InvoiceLineItem /// /// The line item's currency. /// - /// - `XUA` - ADB Unit of Account - /// - `AFN` - Afghan Afghani - /// - `AFA` - Afghan Afghani (1927–2002) - /// - `ALL` - Albanian Lek - /// - `ALK` - Albanian Lek (1946–1965) - /// - `DZD` - Algerian Dinar - /// - `ADP` - Andorran Peseta - /// - `AOA` - Angolan Kwanza - /// - `AOK` - Angolan Kwanza (1977–1991) - /// - `AON` - Angolan New Kwanza (1990–2000) - /// - `AOR` - Angolan Readjusted Kwanza (1995–1999) - /// - `ARA` - Argentine Austral - /// - `ARS` - Argentine Peso - /// - `ARM` - Argentine Peso (1881–1970) - /// - `ARP` - Argentine Peso (1983–1985) - /// - `ARL` - Argentine Peso Ley (1970–1983) - /// - `AMD` - Armenian Dram - /// - `AWG` - Aruban Florin - /// - `AUD` - Australian Dollar - /// - `ATS` - Austrian Schilling - /// - `AZN` - Azerbaijani Manat - /// - `AZM` - Azerbaijani Manat (1993–2006) - /// - `BSD` - Bahamian Dollar - /// - `BHD` - Bahraini Dinar - /// - `BDT` - Bangladeshi Taka - /// - `BBD` - Barbadian Dollar - /// - `BYN` - Belarusian Ruble - /// - `BYB` - Belarusian Ruble (1994–1999) - /// - `BYR` - Belarusian Ruble (2000–2016) - /// - `BEF` - Belgian Franc - /// - `BEC` - Belgian Franc (convertible) - /// - `BEL` - Belgian Franc (financial) - /// - `BZD` - Belize Dollar - /// - `BMD` - Bermudan Dollar - /// - `BTN` - Bhutanese Ngultrum - /// - `BOB` - Bolivian Boliviano - /// - `BOL` - Bolivian Boliviano (1863–1963) - /// - `BOV` - Bolivian Mvdol - /// - `BOP` - Bolivian Peso - /// - `BAM` - Bosnia-Herzegovina Convertible Mark - /// - `BAD` - Bosnia-Herzegovina Dinar (1992–1994) - /// - `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) - /// - `BWP` - Botswanan Pula - /// - `BRC` - Brazilian Cruzado (1986–1989) - /// - `BRZ` - Brazilian Cruzeiro (1942–1967) - /// - `BRE` - Brazilian Cruzeiro (1990–1993) - /// - `BRR` - Brazilian Cruzeiro (1993–1994) - /// - `BRN` - Brazilian New Cruzado (1989–1990) - /// - `BRB` - Brazilian New Cruzeiro (1967–1986) - /// - `BRL` - Brazilian Real - /// - `GBP` - British Pound - /// - `BND` - Brunei Dollar - /// - `BGL` - Bulgarian Hard Lev - /// - `BGN` - Bulgarian Lev - /// - `BGO` - Bulgarian Lev (1879–1952) - /// - `BGM` - Bulgarian Socialist Lev - /// - `BUK` - Burmese Kyat - /// - `BIF` - Burundian Franc - /// - `XPF` - CFP Franc - /// - `KHR` - Cambodian Riel - /// - `CAD` - Canadian Dollar - /// - `CVE` - Cape Verdean Escudo - /// - `KYD` - Cayman Islands Dollar - /// - `XAF` - Central African CFA Franc - /// - `CLE` - Chilean Escudo - /// - `CLP` - Chilean Peso - /// - `CLF` - Chilean Unit of Account (UF) - /// - `CNX` - Chinese People’s Bank Dollar - /// - `CNY` - Chinese Yuan - /// - `CNH` - Chinese Yuan (offshore) - /// - `COP` - Colombian Peso - /// - `COU` - Colombian Real Value Unit - /// - `KMF` - Comorian Franc - /// - `CDF` - Congolese Franc - /// - `CRC` - Costa Rican Colón - /// - `HRD` - Croatian Dinar - /// - `HRK` - Croatian Kuna - /// - `CUC` - Cuban Convertible Peso - /// - `CUP` - Cuban Peso - /// - `CYP` - Cypriot Pound - /// - `CZK` - Czech Koruna - /// - `CSK` - Czechoslovak Hard Koruna - /// - `DKK` - Danish Krone - /// - `DJF` - Djiboutian Franc - /// - `DOP` - Dominican Peso - /// - `NLG` - Dutch Guilder - /// - `XCD` - East Caribbean Dollar - /// - `DDM` - East German Mark - /// - `ECS` - Ecuadorian Sucre - /// - `ECV` - Ecuadorian Unit of Constant Value - /// - `EGP` - Egyptian Pound - /// - `GQE` - Equatorial Guinean Ekwele - /// - `ERN` - Eritrean Nakfa - /// - `EEK` - Estonian Kroon - /// - `ETB` - Ethiopian Birr - /// - `EUR` - Euro - /// - `XBA` - European Composite Unit - /// - `XEU` - European Currency Unit - /// - `XBB` - European Monetary Unit - /// - `XBC` - European Unit of Account (XBC) - /// - `XBD` - European Unit of Account (XBD) - /// - `FKP` - Falkland Islands Pound - /// - `FJD` - Fijian Dollar - /// - `FIM` - Finnish Markka - /// - `FRF` - French Franc - /// - `XFO` - French Gold Franc - /// - `XFU` - French UIC-Franc - /// - `GMD` - Gambian Dalasi - /// - `GEK` - Georgian Kupon Larit - /// - `GEL` - Georgian Lari - /// - `DEM` - German Mark - /// - `GHS` - Ghanaian Cedi - /// - `GHC` - Ghanaian Cedi (1979–2007) - /// - `GIP` - Gibraltar Pound - /// - `XAU` - Gold - /// - `GRD` - Greek Drachma - /// - `GTQ` - Guatemalan Quetzal - /// - `GWP` - Guinea-Bissau Peso - /// - `GNF` - Guinean Franc - /// - `GNS` - Guinean Syli - /// - `GYD` - Guyanaese Dollar - /// - `HTG` - Haitian Gourde - /// - `HNL` - Honduran Lempira - /// - `HKD` - Hong Kong Dollar - /// - `HUF` - Hungarian Forint - /// - `IMP` - IMP - /// - `ISK` - Icelandic Króna - /// - `ISJ` - Icelandic Króna (1918–1981) - /// - `INR` - Indian Rupee - /// - `IDR` - Indonesian Rupiah - /// - `IRR` - Iranian Rial - /// - `IQD` - Iraqi Dinar - /// - `IEP` - Irish Pound - /// - `ILS` - Israeli New Shekel - /// - `ILP` - Israeli Pound - /// - `ILR` - Israeli Shekel (1980–1985) - /// - `ITL` - Italian Lira - /// - `JMD` - Jamaican Dollar - /// - `JPY` - Japanese Yen - /// - `JOD` - Jordanian Dinar - /// - `KZT` - Kazakhstani Tenge - /// - `KES` - Kenyan Shilling - /// - `KWD` - Kuwaiti Dinar - /// - `KGS` - Kyrgystani Som - /// - `LAK` - Laotian Kip - /// - `LVL` - Latvian Lats - /// - `LVR` - Latvian Ruble - /// - `LBP` - Lebanese Pound - /// - `LSL` - Lesotho Loti - /// - `LRD` - Liberian Dollar - /// - `LYD` - Libyan Dinar - /// - `LTL` - Lithuanian Litas - /// - `LTT` - Lithuanian Talonas - /// - `LUL` - Luxembourg Financial Franc - /// - `LUC` - Luxembourgian Convertible Franc - /// - `LUF` - Luxembourgian Franc - /// - `MOP` - Macanese Pataca - /// - `MKD` - Macedonian Denar - /// - `MKN` - Macedonian Denar (1992–1993) - /// - `MGA` - Malagasy Ariary - /// - `MGF` - Malagasy Franc - /// - `MWK` - Malawian Kwacha - /// - `MYR` - Malaysian Ringgit - /// - `MVR` - Maldivian Rufiyaa - /// - `MVP` - Maldivian Rupee (1947–1981) - /// - `MLF` - Malian Franc - /// - `MTL` - Maltese Lira - /// - `MTP` - Maltese Pound - /// - `MRU` - Mauritanian Ouguiya - /// - `MRO` - Mauritanian Ouguiya (1973–2017) - /// - `MUR` - Mauritian Rupee - /// - `MXV` - Mexican Investment Unit - /// - `MXN` - Mexican Peso - /// - `MXP` - Mexican Silver Peso (1861–1992) - /// - `MDC` - Moldovan Cupon - /// - `MDL` - Moldovan Leu - /// - `MCF` - Monegasque Franc - /// - `MNT` - Mongolian Tugrik - /// - `MAD` - Moroccan Dirham - /// - `MAF` - Moroccan Franc - /// - `MZE` - Mozambican Escudo - /// - `MZN` - Mozambican Metical - /// - `MZM` - Mozambican Metical (1980–2006) - /// - `MMK` - Myanmar Kyat - /// - `NAD` - Namibian Dollar - /// - `NPR` - Nepalese Rupee - /// - `ANG` - Netherlands Antillean Guilder - /// - `TWD` - New Taiwan Dollar - /// - `NZD` - New Zealand Dollar - /// - `NIO` - Nicaraguan Córdoba - /// - `NIC` - Nicaraguan Córdoba (1988–1991) - /// - `NGN` - Nigerian Naira - /// - `KPW` - North Korean Won - /// - `NOK` - Norwegian Krone - /// - `OMR` - Omani Rial - /// - `PKR` - Pakistani Rupee - /// - `XPD` - Palladium - /// - `PAB` - Panamanian Balboa - /// - `PGK` - Papua New Guinean Kina - /// - `PYG` - Paraguayan Guarani - /// - `PEI` - Peruvian Inti - /// - `PEN` - Peruvian Sol - /// - `PES` - Peruvian Sol (1863–1965) - /// - `PHP` - Philippine Peso - /// - `XPT` - Platinum - /// - `PLN` - Polish Zloty - /// - `PLZ` - Polish Zloty (1950–1995) - /// - `PTE` - Portuguese Escudo - /// - `GWE` - Portuguese Guinea Escudo - /// - `QAR` - Qatari Rial - /// - `XRE` - RINET Funds - /// - `RHD` - Rhodesian Dollar - /// - `RON` - Romanian Leu - /// - `ROL` - Romanian Leu (1952–2006) - /// - `RUB` - Russian Ruble - /// - `RUR` - Russian Ruble (1991–1998) - /// - `RWF` - Rwandan Franc - /// - `SVC` - Salvadoran Colón - /// - `WST` - Samoan Tala - /// - `SAR` - Saudi Riyal - /// - `RSD` - Serbian Dinar - /// - `CSD` - Serbian Dinar (2002–2006) - /// - `SCR` - Seychellois Rupee - /// - `SLL` - Sierra Leonean Leone - /// - `XAG` - Silver - /// - `SGD` - Singapore Dollar - /// - `SKK` - Slovak Koruna - /// - `SIT` - Slovenian Tolar - /// - `SBD` - Solomon Islands Dollar - /// - `SOS` - Somali Shilling - /// - `ZAR` - South African Rand - /// - `ZAL` - South African Rand (financial) - /// - `KRH` - South Korean Hwan (1953–1962) - /// - `KRW` - South Korean Won - /// - `KRO` - South Korean Won (1945–1953) - /// - `SSP` - South Sudanese Pound - /// - `SUR` - Soviet Rouble - /// - `ESP` - Spanish Peseta - /// - `ESA` - Spanish Peseta (A account) - /// - `ESB` - Spanish Peseta (convertible account) - /// - `XDR` - Special Drawing Rights - /// - `LKR` - Sri Lankan Rupee - /// - `SHP` - St. Helena Pound - /// - `XSU` - Sucre - /// - `SDD` - Sudanese Dinar (1992–2007) - /// - `SDG` - Sudanese Pound - /// - `SDP` - Sudanese Pound (1957–1998) - /// - `SRD` - Surinamese Dollar - /// - `SRG` - Surinamese Guilder - /// - `SZL` - Swazi Lilangeni - /// - `SEK` - Swedish Krona - /// - `CHF` - Swiss Franc - /// - `SYP` - Syrian Pound - /// - `STN` - São Tomé & Príncipe Dobra - /// - `STD` - São Tomé & Príncipe Dobra (1977–2017) - /// - `TVD` - TVD - /// - `TJR` - Tajikistani Ruble - /// - `TJS` - Tajikistani Somoni - /// - `TZS` - Tanzanian Shilling - /// - `XTS` - Testing Currency Code - /// - `THB` - Thai Baht - /// - `XXX` - The codes assigned for transactions where no currency is involved - /// - `TPE` - Timorese Escudo - /// - `TOP` - Tongan Paʻanga - /// - `TTD` - Trinidad & Tobago Dollar - /// - `TND` - Tunisian Dinar - /// - `TRY` - Turkish Lira - /// - `TRL` - Turkish Lira (1922–2005) - /// - `TMT` - Turkmenistani Manat - /// - `TMM` - Turkmenistani Manat (1993–2009) - /// - `USD` - US Dollar - /// - `USN` - US Dollar (Next day) - /// - `USS` - US Dollar (Same day) - /// - `UGX` - Ugandan Shilling - /// - `UGS` - Ugandan Shilling (1966–1987) - /// - `UAH` - Ukrainian Hryvnia - /// - `UAK` - Ukrainian Karbovanets - /// - `AED` - United Arab Emirates Dirham - /// - `UYW` - Uruguayan Nominal Wage Index Unit - /// - `UYU` - Uruguayan Peso - /// - `UYP` - Uruguayan Peso (1975–1993) - /// - `UYI` - Uruguayan Peso (Indexed Units) - /// - `UZS` - Uzbekistani Som - /// - `VUV` - Vanuatu Vatu - /// - `VES` - Venezuelan Bolívar - /// - `VEB` - Venezuelan Bolívar (1871–2008) - /// - `VEF` - Venezuelan Bolívar (2008–2018) - /// - `VND` - Vietnamese Dong - /// - `VNN` - Vietnamese Dong (1978–1985) - /// - `CHE` - WIR Euro - /// - `CHW` - WIR Franc - /// - `XOF` - West African CFA Franc - /// - `YDD` - Yemeni Dinar - /// - `YER` - Yemeni Rial - /// - `YUN` - Yugoslavian Convertible Dinar (1990–1992) - /// - `YUD` - Yugoslavian Hard Dinar (1966–1990) - /// - `YUM` - Yugoslavian New Dinar (1994–2002) - /// - `YUR` - Yugoslavian Reformed Dinar (1992–1993) - /// - `ZWN` - ZWN - /// - `ZRN` - Zairean New Zaire (1993–1998) - /// - `ZRZ` - Zairean Zaire (1971–1993) - /// - `ZMW` - Zambian Kwacha - /// - `ZMK` - Zambian Kwacha (1968–2012) - /// - `ZWD` - Zimbabwean Dollar (1980–2008) - /// - `ZWR` - Zimbabwean Dollar (2008) - /// - `ZWL` - Zimbabwean Dollar (2009) + /// * `XUA` - ADB Unit of Account + /// * `AFN` - Afghan Afghani + /// * `AFA` - Afghan Afghani (1927–2002) + /// * `ALL` - Albanian Lek + /// * `ALK` - Albanian Lek (1946–1965) + /// * `DZD` - Algerian Dinar + /// * `ADP` - Andorran Peseta + /// * `AOA` - Angolan Kwanza + /// * `AOK` - Angolan Kwanza (1977–1991) + /// * `AON` - Angolan New Kwanza (1990–2000) + /// * `AOR` - Angolan Readjusted Kwanza (1995–1999) + /// * `ARA` - Argentine Austral + /// * `ARS` - Argentine Peso + /// * `ARM` - Argentine Peso (1881–1970) + /// * `ARP` - Argentine Peso (1983–1985) + /// * `ARL` - Argentine Peso Ley (1970–1983) + /// * `AMD` - Armenian Dram + /// * `AWG` - Aruban Florin + /// * `AUD` - Australian Dollar + /// * `ATS` - Austrian Schilling + /// * `AZN` - Azerbaijani Manat + /// * `AZM` - Azerbaijani Manat (1993–2006) + /// * `BSD` - Bahamian Dollar + /// * `BHD` - Bahraini Dinar + /// * `BDT` - Bangladeshi Taka + /// * `BBD` - Barbadian Dollar + /// * `BYN` - Belarusian Ruble + /// * `BYB` - Belarusian Ruble (1994–1999) + /// * `BYR` - Belarusian Ruble (2000–2016) + /// * `BEF` - Belgian Franc + /// * `BEC` - Belgian Franc (convertible) + /// * `BEL` - Belgian Franc (financial) + /// * `BZD` - Belize Dollar + /// * `BMD` - Bermudan Dollar + /// * `BTN` - Bhutanese Ngultrum + /// * `BOB` - Bolivian Boliviano + /// * `BOL` - Bolivian Boliviano (1863–1963) + /// * `BOV` - Bolivian Mvdol + /// * `BOP` - Bolivian Peso + /// * `BAM` - Bosnia-Herzegovina Convertible Mark + /// * `BAD` - Bosnia-Herzegovina Dinar (1992–1994) + /// * `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) + /// * `BWP` - Botswanan Pula + /// * `BRC` - Brazilian Cruzado (1986–1989) + /// * `BRZ` - Brazilian Cruzeiro (1942–1967) + /// * `BRE` - Brazilian Cruzeiro (1990–1993) + /// * `BRR` - Brazilian Cruzeiro (1993–1994) + /// * `BRN` - Brazilian New Cruzado (1989–1990) + /// * `BRB` - Brazilian New Cruzeiro (1967–1986) + /// * `BRL` - Brazilian Real + /// * `GBP` - British Pound + /// * `BND` - Brunei Dollar + /// * `BGL` - Bulgarian Hard Lev + /// * `BGN` - Bulgarian Lev + /// * `BGO` - Bulgarian Lev (1879–1952) + /// * `BGM` - Bulgarian Socialist Lev + /// * `BUK` - Burmese Kyat + /// * `BIF` - Burundian Franc + /// * `XPF` - CFP Franc + /// * `KHR` - Cambodian Riel + /// * `CAD` - Canadian Dollar + /// * `CVE` - Cape Verdean Escudo + /// * `KYD` - Cayman Islands Dollar + /// * `XAF` - Central African CFA Franc + /// * `CLE` - Chilean Escudo + /// * `CLP` - Chilean Peso + /// * `CLF` - Chilean Unit of Account (UF) + /// * `CNX` - Chinese People’s Bank Dollar + /// * `CNY` - Chinese Yuan + /// * `CNH` - Chinese Yuan (offshore) + /// * `COP` - Colombian Peso + /// * `COU` - Colombian Real Value Unit + /// * `KMF` - Comorian Franc + /// * `CDF` - Congolese Franc + /// * `CRC` - Costa Rican Colón + /// * `HRD` - Croatian Dinar + /// * `HRK` - Croatian Kuna + /// * `CUC` - Cuban Convertible Peso + /// * `CUP` - Cuban Peso + /// * `CYP` - Cypriot Pound + /// * `CZK` - Czech Koruna + /// * `CSK` - Czechoslovak Hard Koruna + /// * `DKK` - Danish Krone + /// * `DJF` - Djiboutian Franc + /// * `DOP` - Dominican Peso + /// * `NLG` - Dutch Guilder + /// * `XCD` - East Caribbean Dollar + /// * `DDM` - East German Mark + /// * `ECS` - Ecuadorian Sucre + /// * `ECV` - Ecuadorian Unit of Constant Value + /// * `EGP` - Egyptian Pound + /// * `GQE` - Equatorial Guinean Ekwele + /// * `ERN` - Eritrean Nakfa + /// * `EEK` - Estonian Kroon + /// * `ETB` - Ethiopian Birr + /// * `EUR` - Euro + /// * `XBA` - European Composite Unit + /// * `XEU` - European Currency Unit + /// * `XBB` - European Monetary Unit + /// * `XBC` - European Unit of Account (XBC) + /// * `XBD` - European Unit of Account (XBD) + /// * `FKP` - Falkland Islands Pound + /// * `FJD` - Fijian Dollar + /// * `FIM` - Finnish Markka + /// * `FRF` - French Franc + /// * `XFO` - French Gold Franc + /// * `XFU` - French UIC-Franc + /// * `GMD` - Gambian Dalasi + /// * `GEK` - Georgian Kupon Larit + /// * `GEL` - Georgian Lari + /// * `DEM` - German Mark + /// * `GHS` - Ghanaian Cedi + /// * `GHC` - Ghanaian Cedi (1979–2007) + /// * `GIP` - Gibraltar Pound + /// * `XAU` - Gold + /// * `GRD` - Greek Drachma + /// * `GTQ` - Guatemalan Quetzal + /// * `GWP` - Guinea-Bissau Peso + /// * `GNF` - Guinean Franc + /// * `GNS` - Guinean Syli + /// * `GYD` - Guyanaese Dollar + /// * `HTG` - Haitian Gourde + /// * `HNL` - Honduran Lempira + /// * `HKD` - Hong Kong Dollar + /// * `HUF` - Hungarian Forint + /// * `IMP` - IMP + /// * `ISK` - Icelandic Króna + /// * `ISJ` - Icelandic Króna (1918–1981) + /// * `INR` - Indian Rupee + /// * `IDR` - Indonesian Rupiah + /// * `IRR` - Iranian Rial + /// * `IQD` - Iraqi Dinar + /// * `IEP` - Irish Pound + /// * `ILS` - Israeli New Shekel + /// * `ILP` - Israeli Pound + /// * `ILR` - Israeli Shekel (1980–1985) + /// * `ITL` - Italian Lira + /// * `JMD` - Jamaican Dollar + /// * `JPY` - Japanese Yen + /// * `JOD` - Jordanian Dinar + /// * `KZT` - Kazakhstani Tenge + /// * `KES` - Kenyan Shilling + /// * `KWD` - Kuwaiti Dinar + /// * `KGS` - Kyrgystani Som + /// * `LAK` - Laotian Kip + /// * `LVL` - Latvian Lats + /// * `LVR` - Latvian Ruble + /// * `LBP` - Lebanese Pound + /// * `LSL` - Lesotho Loti + /// * `LRD` - Liberian Dollar + /// * `LYD` - Libyan Dinar + /// * `LTL` - Lithuanian Litas + /// * `LTT` - Lithuanian Talonas + /// * `LUL` - Luxembourg Financial Franc + /// * `LUC` - Luxembourgian Convertible Franc + /// * `LUF` - Luxembourgian Franc + /// * `MOP` - Macanese Pataca + /// * `MKD` - Macedonian Denar + /// * `MKN` - Macedonian Denar (1992–1993) + /// * `MGA` - Malagasy Ariary + /// * `MGF` - Malagasy Franc + /// * `MWK` - Malawian Kwacha + /// * `MYR` - Malaysian Ringgit + /// * `MVR` - Maldivian Rufiyaa + /// * `MVP` - Maldivian Rupee (1947–1981) + /// * `MLF` - Malian Franc + /// * `MTL` - Maltese Lira + /// * `MTP` - Maltese Pound + /// * `MRU` - Mauritanian Ouguiya + /// * `MRO` - Mauritanian Ouguiya (1973–2017) + /// * `MUR` - Mauritian Rupee + /// * `MXV` - Mexican Investment Unit + /// * `MXN` - Mexican Peso + /// * `MXP` - Mexican Silver Peso (1861–1992) + /// * `MDC` - Moldovan Cupon + /// * `MDL` - Moldovan Leu + /// * `MCF` - Monegasque Franc + /// * `MNT` - Mongolian Tugrik + /// * `MAD` - Moroccan Dirham + /// * `MAF` - Moroccan Franc + /// * `MZE` - Mozambican Escudo + /// * `MZN` - Mozambican Metical + /// * `MZM` - Mozambican Metical (1980–2006) + /// * `MMK` - Myanmar Kyat + /// * `NAD` - Namibian Dollar + /// * `NPR` - Nepalese Rupee + /// * `ANG` - Netherlands Antillean Guilder + /// * `TWD` - New Taiwan Dollar + /// * `NZD` - New Zealand Dollar + /// * `NIO` - Nicaraguan Córdoba + /// * `NIC` - Nicaraguan Córdoba (1988–1991) + /// * `NGN` - Nigerian Naira + /// * `KPW` - North Korean Won + /// * `NOK` - Norwegian Krone + /// * `OMR` - Omani Rial + /// * `PKR` - Pakistani Rupee + /// * `XPD` - Palladium + /// * `PAB` - Panamanian Balboa + /// * `PGK` - Papua New Guinean Kina + /// * `PYG` - Paraguayan Guarani + /// * `PEI` - Peruvian Inti + /// * `PEN` - Peruvian Sol + /// * `PES` - Peruvian Sol (1863–1965) + /// * `PHP` - Philippine Peso + /// * `XPT` - Platinum + /// * `PLN` - Polish Zloty + /// * `PLZ` - Polish Zloty (1950–1995) + /// * `PTE` - Portuguese Escudo + /// * `GWE` - Portuguese Guinea Escudo + /// * `QAR` - Qatari Rial + /// * `XRE` - RINET Funds + /// * `RHD` - Rhodesian Dollar + /// * `RON` - Romanian Leu + /// * `ROL` - Romanian Leu (1952–2006) + /// * `RUB` - Russian Ruble + /// * `RUR` - Russian Ruble (1991–1998) + /// * `RWF` - Rwandan Franc + /// * `SVC` - Salvadoran Colón + /// * `WST` - Samoan Tala + /// * `SAR` - Saudi Riyal + /// * `RSD` - Serbian Dinar + /// * `CSD` - Serbian Dinar (2002–2006) + /// * `SCR` - Seychellois Rupee + /// * `SLL` - Sierra Leonean Leone + /// * `XAG` - Silver + /// * `SGD` - Singapore Dollar + /// * `SKK` - Slovak Koruna + /// * `SIT` - Slovenian Tolar + /// * `SBD` - Solomon Islands Dollar + /// * `SOS` - Somali Shilling + /// * `ZAR` - South African Rand + /// * `ZAL` - South African Rand (financial) + /// * `KRH` - South Korean Hwan (1953–1962) + /// * `KRW` - South Korean Won + /// * `KRO` - South Korean Won (1945–1953) + /// * `SSP` - South Sudanese Pound + /// * `SUR` - Soviet Rouble + /// * `ESP` - Spanish Peseta + /// * `ESA` - Spanish Peseta (A account) + /// * `ESB` - Spanish Peseta (convertible account) + /// * `XDR` - Special Drawing Rights + /// * `LKR` - Sri Lankan Rupee + /// * `SHP` - St. Helena Pound + /// * `XSU` - Sucre + /// * `SDD` - Sudanese Dinar (1992–2007) + /// * `SDG` - Sudanese Pound + /// * `SDP` - Sudanese Pound (1957–1998) + /// * `SRD` - Surinamese Dollar + /// * `SRG` - Surinamese Guilder + /// * `SZL` - Swazi Lilangeni + /// * `SEK` - Swedish Krona + /// * `CHF` - Swiss Franc + /// * `SYP` - Syrian Pound + /// * `STN` - São Tomé & Príncipe Dobra + /// * `STD` - São Tomé & Príncipe Dobra (1977–2017) + /// * `TVD` - TVD + /// * `TJR` - Tajikistani Ruble + /// * `TJS` - Tajikistani Somoni + /// * `TZS` - Tanzanian Shilling + /// * `XTS` - Testing Currency Code + /// * `THB` - Thai Baht + /// * `XXX` - The codes assigned for transactions where no currency is involved + /// * `TPE` - Timorese Escudo + /// * `TOP` - Tongan Paʻanga + /// * `TTD` - Trinidad & Tobago Dollar + /// * `TND` - Tunisian Dinar + /// * `TRY` - Turkish Lira + /// * `TRL` - Turkish Lira (1922–2005) + /// * `TMT` - Turkmenistani Manat + /// * `TMM` - Turkmenistani Manat (1993–2009) + /// * `USD` - US Dollar + /// * `USN` - US Dollar (Next day) + /// * `USS` - US Dollar (Same day) + /// * `UGX` - Ugandan Shilling + /// * `UGS` - Ugandan Shilling (1966–1987) + /// * `UAH` - Ukrainian Hryvnia + /// * `UAK` - Ukrainian Karbovanets + /// * `AED` - United Arab Emirates Dirham + /// * `UYW` - Uruguayan Nominal Wage Index Unit + /// * `UYU` - Uruguayan Peso + /// * `UYP` - Uruguayan Peso (1975–1993) + /// * `UYI` - Uruguayan Peso (Indexed Units) + /// * `UZS` - Uzbekistani Som + /// * `VUV` - Vanuatu Vatu + /// * `VES` - Venezuelan Bolívar + /// * `VEB` - Venezuelan Bolívar (1871–2008) + /// * `VEF` - Venezuelan Bolívar (2008–2018) + /// * `VND` - Vietnamese Dong + /// * `VNN` - Vietnamese Dong (1978–1985) + /// * `CHE` - WIR Euro + /// * `CHW` - WIR Franc + /// * `XOF` - West African CFA Franc + /// * `YDD` - Yemeni Dinar + /// * `YER` - Yemeni Rial + /// * `YUN` - Yugoslavian Convertible Dinar (1990–1992) + /// * `YUD` - Yugoslavian Hard Dinar (1966–1990) + /// * `YUM` - Yugoslavian New Dinar (1994–2002) + /// * `YUR` - Yugoslavian Reformed Dinar (1992–1993) + /// * `ZWN` - ZWN + /// * `ZRN` - Zairean New Zaire (1993–1998) + /// * `ZRZ` - Zairean Zaire (1971–1993) + /// * `ZMW` - Zambian Kwacha + /// * `ZMK` - Zambian Kwacha (1968–2012) + /// * `ZWD` - Zimbabwean Dollar (1980–2008) + /// * `ZWR` - Zimbabwean Dollar (2008) + /// * `ZWL` - Zimbabwean Dollar (2009) /// [JsonPropertyName("currency")] public TransactionCurrencyEnum? Currency { get; set; } @@ -406,15 +418,29 @@ public record InvoiceLineItem /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_fields")] public IEnumerable? RemoteFields { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/InvoiceLineItemRequest.cs b/src/Merge.Client/Accounting/Types/InvoiceLineItemRequest.cs index d3475c89..01dce58a 100644 --- a/src/Merge.Client/Accounting/Types/InvoiceLineItemRequest.cs +++ b/src/Merge.Client/Accounting/Types/InvoiceLineItemRequest.cs @@ -1,9 +1,18 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Accounting; +/// +/// # The InvoiceLineItem Object +/// ### Description +/// The `InvoiceLineItem` object represents an itemized record of goods and/or services sold to a customer. +/// +/// ### Usage Example +/// Fetch from the `GET Invoice` endpoint and view the invoice's line items. +/// public record InvoiceLineItemRequest { /// @@ -45,312 +54,312 @@ public record InvoiceLineItemRequest /// /// The line item's currency. /// - /// - `XUA` - ADB Unit of Account - /// - `AFN` - Afghan Afghani - /// - `AFA` - Afghan Afghani (1927–2002) - /// - `ALL` - Albanian Lek - /// - `ALK` - Albanian Lek (1946–1965) - /// - `DZD` - Algerian Dinar - /// - `ADP` - Andorran Peseta - /// - `AOA` - Angolan Kwanza - /// - `AOK` - Angolan Kwanza (1977–1991) - /// - `AON` - Angolan New Kwanza (1990–2000) - /// - `AOR` - Angolan Readjusted Kwanza (1995–1999) - /// - `ARA` - Argentine Austral - /// - `ARS` - Argentine Peso - /// - `ARM` - Argentine Peso (1881–1970) - /// - `ARP` - Argentine Peso (1983–1985) - /// - `ARL` - Argentine Peso Ley (1970–1983) - /// - `AMD` - Armenian Dram - /// - `AWG` - Aruban Florin - /// - `AUD` - Australian Dollar - /// - `ATS` - Austrian Schilling - /// - `AZN` - Azerbaijani Manat - /// - `AZM` - Azerbaijani Manat (1993–2006) - /// - `BSD` - Bahamian Dollar - /// - `BHD` - Bahraini Dinar - /// - `BDT` - Bangladeshi Taka - /// - `BBD` - Barbadian Dollar - /// - `BYN` - Belarusian Ruble - /// - `BYB` - Belarusian Ruble (1994–1999) - /// - `BYR` - Belarusian Ruble (2000–2016) - /// - `BEF` - Belgian Franc - /// - `BEC` - Belgian Franc (convertible) - /// - `BEL` - Belgian Franc (financial) - /// - `BZD` - Belize Dollar - /// - `BMD` - Bermudan Dollar - /// - `BTN` - Bhutanese Ngultrum - /// - `BOB` - Bolivian Boliviano - /// - `BOL` - Bolivian Boliviano (1863–1963) - /// - `BOV` - Bolivian Mvdol - /// - `BOP` - Bolivian Peso - /// - `BAM` - Bosnia-Herzegovina Convertible Mark - /// - `BAD` - Bosnia-Herzegovina Dinar (1992–1994) - /// - `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) - /// - `BWP` - Botswanan Pula - /// - `BRC` - Brazilian Cruzado (1986–1989) - /// - `BRZ` - Brazilian Cruzeiro (1942–1967) - /// - `BRE` - Brazilian Cruzeiro (1990–1993) - /// - `BRR` - Brazilian Cruzeiro (1993–1994) - /// - `BRN` - Brazilian New Cruzado (1989–1990) - /// - `BRB` - Brazilian New Cruzeiro (1967–1986) - /// - `BRL` - Brazilian Real - /// - `GBP` - British Pound - /// - `BND` - Brunei Dollar - /// - `BGL` - Bulgarian Hard Lev - /// - `BGN` - Bulgarian Lev - /// - `BGO` - Bulgarian Lev (1879–1952) - /// - `BGM` - Bulgarian Socialist Lev - /// - `BUK` - Burmese Kyat - /// - `BIF` - Burundian Franc - /// - `XPF` - CFP Franc - /// - `KHR` - Cambodian Riel - /// - `CAD` - Canadian Dollar - /// - `CVE` - Cape Verdean Escudo - /// - `KYD` - Cayman Islands Dollar - /// - `XAF` - Central African CFA Franc - /// - `CLE` - Chilean Escudo - /// - `CLP` - Chilean Peso - /// - `CLF` - Chilean Unit of Account (UF) - /// - `CNX` - Chinese People’s Bank Dollar - /// - `CNY` - Chinese Yuan - /// - `CNH` - Chinese Yuan (offshore) - /// - `COP` - Colombian Peso - /// - `COU` - Colombian Real Value Unit - /// - `KMF` - Comorian Franc - /// - `CDF` - Congolese Franc - /// - `CRC` - Costa Rican Colón - /// - `HRD` - Croatian Dinar - /// - `HRK` - Croatian Kuna - /// - `CUC` - Cuban Convertible Peso - /// - `CUP` - Cuban Peso - /// - `CYP` - Cypriot Pound - /// - `CZK` - Czech Koruna - /// - `CSK` - Czechoslovak Hard Koruna - /// - `DKK` - Danish Krone - /// - `DJF` - Djiboutian Franc - /// - `DOP` - Dominican Peso - /// - `NLG` - Dutch Guilder - /// - `XCD` - East Caribbean Dollar - /// - `DDM` - East German Mark - /// - `ECS` - Ecuadorian Sucre - /// - `ECV` - Ecuadorian Unit of Constant Value - /// - `EGP` - Egyptian Pound - /// - `GQE` - Equatorial Guinean Ekwele - /// - `ERN` - Eritrean Nakfa - /// - `EEK` - Estonian Kroon - /// - `ETB` - Ethiopian Birr - /// - `EUR` - Euro - /// - `XBA` - European Composite Unit - /// - `XEU` - European Currency Unit - /// - `XBB` - European Monetary Unit - /// - `XBC` - European Unit of Account (XBC) - /// - `XBD` - European Unit of Account (XBD) - /// - `FKP` - Falkland Islands Pound - /// - `FJD` - Fijian Dollar - /// - `FIM` - Finnish Markka - /// - `FRF` - French Franc - /// - `XFO` - French Gold Franc - /// - `XFU` - French UIC-Franc - /// - `GMD` - Gambian Dalasi - /// - `GEK` - Georgian Kupon Larit - /// - `GEL` - Georgian Lari - /// - `DEM` - German Mark - /// - `GHS` - Ghanaian Cedi - /// - `GHC` - Ghanaian Cedi (1979–2007) - /// - `GIP` - Gibraltar Pound - /// - `XAU` - Gold - /// - `GRD` - Greek Drachma - /// - `GTQ` - Guatemalan Quetzal - /// - `GWP` - Guinea-Bissau Peso - /// - `GNF` - Guinean Franc - /// - `GNS` - Guinean Syli - /// - `GYD` - Guyanaese Dollar - /// - `HTG` - Haitian Gourde - /// - `HNL` - Honduran Lempira - /// - `HKD` - Hong Kong Dollar - /// - `HUF` - Hungarian Forint - /// - `IMP` - IMP - /// - `ISK` - Icelandic Króna - /// - `ISJ` - Icelandic Króna (1918–1981) - /// - `INR` - Indian Rupee - /// - `IDR` - Indonesian Rupiah - /// - `IRR` - Iranian Rial - /// - `IQD` - Iraqi Dinar - /// - `IEP` - Irish Pound - /// - `ILS` - Israeli New Shekel - /// - `ILP` - Israeli Pound - /// - `ILR` - Israeli Shekel (1980–1985) - /// - `ITL` - Italian Lira - /// - `JMD` - Jamaican Dollar - /// - `JPY` - Japanese Yen - /// - `JOD` - Jordanian Dinar - /// - `KZT` - Kazakhstani Tenge - /// - `KES` - Kenyan Shilling - /// - `KWD` - Kuwaiti Dinar - /// - `KGS` - Kyrgystani Som - /// - `LAK` - Laotian Kip - /// - `LVL` - Latvian Lats - /// - `LVR` - Latvian Ruble - /// - `LBP` - Lebanese Pound - /// - `LSL` - Lesotho Loti - /// - `LRD` - Liberian Dollar - /// - `LYD` - Libyan Dinar - /// - `LTL` - Lithuanian Litas - /// - `LTT` - Lithuanian Talonas - /// - `LUL` - Luxembourg Financial Franc - /// - `LUC` - Luxembourgian Convertible Franc - /// - `LUF` - Luxembourgian Franc - /// - `MOP` - Macanese Pataca - /// - `MKD` - Macedonian Denar - /// - `MKN` - Macedonian Denar (1992–1993) - /// - `MGA` - Malagasy Ariary - /// - `MGF` - Malagasy Franc - /// - `MWK` - Malawian Kwacha - /// - `MYR` - Malaysian Ringgit - /// - `MVR` - Maldivian Rufiyaa - /// - `MVP` - Maldivian Rupee (1947–1981) - /// - `MLF` - Malian Franc - /// - `MTL` - Maltese Lira - /// - `MTP` - Maltese Pound - /// - `MRU` - Mauritanian Ouguiya - /// - `MRO` - Mauritanian Ouguiya (1973–2017) - /// - `MUR` - Mauritian Rupee - /// - `MXV` - Mexican Investment Unit - /// - `MXN` - Mexican Peso - /// - `MXP` - Mexican Silver Peso (1861–1992) - /// - `MDC` - Moldovan Cupon - /// - `MDL` - Moldovan Leu - /// - `MCF` - Monegasque Franc - /// - `MNT` - Mongolian Tugrik - /// - `MAD` - Moroccan Dirham - /// - `MAF` - Moroccan Franc - /// - `MZE` - Mozambican Escudo - /// - `MZN` - Mozambican Metical - /// - `MZM` - Mozambican Metical (1980–2006) - /// - `MMK` - Myanmar Kyat - /// - `NAD` - Namibian Dollar - /// - `NPR` - Nepalese Rupee - /// - `ANG` - Netherlands Antillean Guilder - /// - `TWD` - New Taiwan Dollar - /// - `NZD` - New Zealand Dollar - /// - `NIO` - Nicaraguan Córdoba - /// - `NIC` - Nicaraguan Córdoba (1988–1991) - /// - `NGN` - Nigerian Naira - /// - `KPW` - North Korean Won - /// - `NOK` - Norwegian Krone - /// - `OMR` - Omani Rial - /// - `PKR` - Pakistani Rupee - /// - `XPD` - Palladium - /// - `PAB` - Panamanian Balboa - /// - `PGK` - Papua New Guinean Kina - /// - `PYG` - Paraguayan Guarani - /// - `PEI` - Peruvian Inti - /// - `PEN` - Peruvian Sol - /// - `PES` - Peruvian Sol (1863–1965) - /// - `PHP` - Philippine Peso - /// - `XPT` - Platinum - /// - `PLN` - Polish Zloty - /// - `PLZ` - Polish Zloty (1950–1995) - /// - `PTE` - Portuguese Escudo - /// - `GWE` - Portuguese Guinea Escudo - /// - `QAR` - Qatari Rial - /// - `XRE` - RINET Funds - /// - `RHD` - Rhodesian Dollar - /// - `RON` - Romanian Leu - /// - `ROL` - Romanian Leu (1952–2006) - /// - `RUB` - Russian Ruble - /// - `RUR` - Russian Ruble (1991–1998) - /// - `RWF` - Rwandan Franc - /// - `SVC` - Salvadoran Colón - /// - `WST` - Samoan Tala - /// - `SAR` - Saudi Riyal - /// - `RSD` - Serbian Dinar - /// - `CSD` - Serbian Dinar (2002–2006) - /// - `SCR` - Seychellois Rupee - /// - `SLL` - Sierra Leonean Leone - /// - `XAG` - Silver - /// - `SGD` - Singapore Dollar - /// - `SKK` - Slovak Koruna - /// - `SIT` - Slovenian Tolar - /// - `SBD` - Solomon Islands Dollar - /// - `SOS` - Somali Shilling - /// - `ZAR` - South African Rand - /// - `ZAL` - South African Rand (financial) - /// - `KRH` - South Korean Hwan (1953–1962) - /// - `KRW` - South Korean Won - /// - `KRO` - South Korean Won (1945–1953) - /// - `SSP` - South Sudanese Pound - /// - `SUR` - Soviet Rouble - /// - `ESP` - Spanish Peseta - /// - `ESA` - Spanish Peseta (A account) - /// - `ESB` - Spanish Peseta (convertible account) - /// - `XDR` - Special Drawing Rights - /// - `LKR` - Sri Lankan Rupee - /// - `SHP` - St. Helena Pound - /// - `XSU` - Sucre - /// - `SDD` - Sudanese Dinar (1992–2007) - /// - `SDG` - Sudanese Pound - /// - `SDP` - Sudanese Pound (1957–1998) - /// - `SRD` - Surinamese Dollar - /// - `SRG` - Surinamese Guilder - /// - `SZL` - Swazi Lilangeni - /// - `SEK` - Swedish Krona - /// - `CHF` - Swiss Franc - /// - `SYP` - Syrian Pound - /// - `STN` - São Tomé & Príncipe Dobra - /// - `STD` - São Tomé & Príncipe Dobra (1977–2017) - /// - `TVD` - TVD - /// - `TJR` - Tajikistani Ruble - /// - `TJS` - Tajikistani Somoni - /// - `TZS` - Tanzanian Shilling - /// - `XTS` - Testing Currency Code - /// - `THB` - Thai Baht - /// - `XXX` - The codes assigned for transactions where no currency is involved - /// - `TPE` - Timorese Escudo - /// - `TOP` - Tongan Paʻanga - /// - `TTD` - Trinidad & Tobago Dollar - /// - `TND` - Tunisian Dinar - /// - `TRY` - Turkish Lira - /// - `TRL` - Turkish Lira (1922–2005) - /// - `TMT` - Turkmenistani Manat - /// - `TMM` - Turkmenistani Manat (1993–2009) - /// - `USD` - US Dollar - /// - `USN` - US Dollar (Next day) - /// - `USS` - US Dollar (Same day) - /// - `UGX` - Ugandan Shilling - /// - `UGS` - Ugandan Shilling (1966–1987) - /// - `UAH` - Ukrainian Hryvnia - /// - `UAK` - Ukrainian Karbovanets - /// - `AED` - United Arab Emirates Dirham - /// - `UYW` - Uruguayan Nominal Wage Index Unit - /// - `UYU` - Uruguayan Peso - /// - `UYP` - Uruguayan Peso (1975–1993) - /// - `UYI` - Uruguayan Peso (Indexed Units) - /// - `UZS` - Uzbekistani Som - /// - `VUV` - Vanuatu Vatu - /// - `VES` - Venezuelan Bolívar - /// - `VEB` - Venezuelan Bolívar (1871–2008) - /// - `VEF` - Venezuelan Bolívar (2008–2018) - /// - `VND` - Vietnamese Dong - /// - `VNN` - Vietnamese Dong (1978–1985) - /// - `CHE` - WIR Euro - /// - `CHW` - WIR Franc - /// - `XOF` - West African CFA Franc - /// - `YDD` - Yemeni Dinar - /// - `YER` - Yemeni Rial - /// - `YUN` - Yugoslavian Convertible Dinar (1990–1992) - /// - `YUD` - Yugoslavian Hard Dinar (1966–1990) - /// - `YUM` - Yugoslavian New Dinar (1994–2002) - /// - `YUR` - Yugoslavian Reformed Dinar (1992–1993) - /// - `ZWN` - ZWN - /// - `ZRN` - Zairean New Zaire (1993–1998) - /// - `ZRZ` - Zairean Zaire (1971–1993) - /// - `ZMW` - Zambian Kwacha - /// - `ZMK` - Zambian Kwacha (1968–2012) - /// - `ZWD` - Zimbabwean Dollar (1980–2008) - /// - `ZWR` - Zimbabwean Dollar (2008) - /// - `ZWL` - Zimbabwean Dollar (2009) + /// * `XUA` - ADB Unit of Account + /// * `AFN` - Afghan Afghani + /// * `AFA` - Afghan Afghani (1927–2002) + /// * `ALL` - Albanian Lek + /// * `ALK` - Albanian Lek (1946–1965) + /// * `DZD` - Algerian Dinar + /// * `ADP` - Andorran Peseta + /// * `AOA` - Angolan Kwanza + /// * `AOK` - Angolan Kwanza (1977–1991) + /// * `AON` - Angolan New Kwanza (1990–2000) + /// * `AOR` - Angolan Readjusted Kwanza (1995–1999) + /// * `ARA` - Argentine Austral + /// * `ARS` - Argentine Peso + /// * `ARM` - Argentine Peso (1881–1970) + /// * `ARP` - Argentine Peso (1983–1985) + /// * `ARL` - Argentine Peso Ley (1970–1983) + /// * `AMD` - Armenian Dram + /// * `AWG` - Aruban Florin + /// * `AUD` - Australian Dollar + /// * `ATS` - Austrian Schilling + /// * `AZN` - Azerbaijani Manat + /// * `AZM` - Azerbaijani Manat (1993–2006) + /// * `BSD` - Bahamian Dollar + /// * `BHD` - Bahraini Dinar + /// * `BDT` - Bangladeshi Taka + /// * `BBD` - Barbadian Dollar + /// * `BYN` - Belarusian Ruble + /// * `BYB` - Belarusian Ruble (1994–1999) + /// * `BYR` - Belarusian Ruble (2000–2016) + /// * `BEF` - Belgian Franc + /// * `BEC` - Belgian Franc (convertible) + /// * `BEL` - Belgian Franc (financial) + /// * `BZD` - Belize Dollar + /// * `BMD` - Bermudan Dollar + /// * `BTN` - Bhutanese Ngultrum + /// * `BOB` - Bolivian Boliviano + /// * `BOL` - Bolivian Boliviano (1863–1963) + /// * `BOV` - Bolivian Mvdol + /// * `BOP` - Bolivian Peso + /// * `BAM` - Bosnia-Herzegovina Convertible Mark + /// * `BAD` - Bosnia-Herzegovina Dinar (1992–1994) + /// * `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) + /// * `BWP` - Botswanan Pula + /// * `BRC` - Brazilian Cruzado (1986–1989) + /// * `BRZ` - Brazilian Cruzeiro (1942–1967) + /// * `BRE` - Brazilian Cruzeiro (1990–1993) + /// * `BRR` - Brazilian Cruzeiro (1993–1994) + /// * `BRN` - Brazilian New Cruzado (1989–1990) + /// * `BRB` - Brazilian New Cruzeiro (1967–1986) + /// * `BRL` - Brazilian Real + /// * `GBP` - British Pound + /// * `BND` - Brunei Dollar + /// * `BGL` - Bulgarian Hard Lev + /// * `BGN` - Bulgarian Lev + /// * `BGO` - Bulgarian Lev (1879–1952) + /// * `BGM` - Bulgarian Socialist Lev + /// * `BUK` - Burmese Kyat + /// * `BIF` - Burundian Franc + /// * `XPF` - CFP Franc + /// * `KHR` - Cambodian Riel + /// * `CAD` - Canadian Dollar + /// * `CVE` - Cape Verdean Escudo + /// * `KYD` - Cayman Islands Dollar + /// * `XAF` - Central African CFA Franc + /// * `CLE` - Chilean Escudo + /// * `CLP` - Chilean Peso + /// * `CLF` - Chilean Unit of Account (UF) + /// * `CNX` - Chinese People’s Bank Dollar + /// * `CNY` - Chinese Yuan + /// * `CNH` - Chinese Yuan (offshore) + /// * `COP` - Colombian Peso + /// * `COU` - Colombian Real Value Unit + /// * `KMF` - Comorian Franc + /// * `CDF` - Congolese Franc + /// * `CRC` - Costa Rican Colón + /// * `HRD` - Croatian Dinar + /// * `HRK` - Croatian Kuna + /// * `CUC` - Cuban Convertible Peso + /// * `CUP` - Cuban Peso + /// * `CYP` - Cypriot Pound + /// * `CZK` - Czech Koruna + /// * `CSK` - Czechoslovak Hard Koruna + /// * `DKK` - Danish Krone + /// * `DJF` - Djiboutian Franc + /// * `DOP` - Dominican Peso + /// * `NLG` - Dutch Guilder + /// * `XCD` - East Caribbean Dollar + /// * `DDM` - East German Mark + /// * `ECS` - Ecuadorian Sucre + /// * `ECV` - Ecuadorian Unit of Constant Value + /// * `EGP` - Egyptian Pound + /// * `GQE` - Equatorial Guinean Ekwele + /// * `ERN` - Eritrean Nakfa + /// * `EEK` - Estonian Kroon + /// * `ETB` - Ethiopian Birr + /// * `EUR` - Euro + /// * `XBA` - European Composite Unit + /// * `XEU` - European Currency Unit + /// * `XBB` - European Monetary Unit + /// * `XBC` - European Unit of Account (XBC) + /// * `XBD` - European Unit of Account (XBD) + /// * `FKP` - Falkland Islands Pound + /// * `FJD` - Fijian Dollar + /// * `FIM` - Finnish Markka + /// * `FRF` - French Franc + /// * `XFO` - French Gold Franc + /// * `XFU` - French UIC-Franc + /// * `GMD` - Gambian Dalasi + /// * `GEK` - Georgian Kupon Larit + /// * `GEL` - Georgian Lari + /// * `DEM` - German Mark + /// * `GHS` - Ghanaian Cedi + /// * `GHC` - Ghanaian Cedi (1979–2007) + /// * `GIP` - Gibraltar Pound + /// * `XAU` - Gold + /// * `GRD` - Greek Drachma + /// * `GTQ` - Guatemalan Quetzal + /// * `GWP` - Guinea-Bissau Peso + /// * `GNF` - Guinean Franc + /// * `GNS` - Guinean Syli + /// * `GYD` - Guyanaese Dollar + /// * `HTG` - Haitian Gourde + /// * `HNL` - Honduran Lempira + /// * `HKD` - Hong Kong Dollar + /// * `HUF` - Hungarian Forint + /// * `IMP` - IMP + /// * `ISK` - Icelandic Króna + /// * `ISJ` - Icelandic Króna (1918–1981) + /// * `INR` - Indian Rupee + /// * `IDR` - Indonesian Rupiah + /// * `IRR` - Iranian Rial + /// * `IQD` - Iraqi Dinar + /// * `IEP` - Irish Pound + /// * `ILS` - Israeli New Shekel + /// * `ILP` - Israeli Pound + /// * `ILR` - Israeli Shekel (1980–1985) + /// * `ITL` - Italian Lira + /// * `JMD` - Jamaican Dollar + /// * `JPY` - Japanese Yen + /// * `JOD` - Jordanian Dinar + /// * `KZT` - Kazakhstani Tenge + /// * `KES` - Kenyan Shilling + /// * `KWD` - Kuwaiti Dinar + /// * `KGS` - Kyrgystani Som + /// * `LAK` - Laotian Kip + /// * `LVL` - Latvian Lats + /// * `LVR` - Latvian Ruble + /// * `LBP` - Lebanese Pound + /// * `LSL` - Lesotho Loti + /// * `LRD` - Liberian Dollar + /// * `LYD` - Libyan Dinar + /// * `LTL` - Lithuanian Litas + /// * `LTT` - Lithuanian Talonas + /// * `LUL` - Luxembourg Financial Franc + /// * `LUC` - Luxembourgian Convertible Franc + /// * `LUF` - Luxembourgian Franc + /// * `MOP` - Macanese Pataca + /// * `MKD` - Macedonian Denar + /// * `MKN` - Macedonian Denar (1992–1993) + /// * `MGA` - Malagasy Ariary + /// * `MGF` - Malagasy Franc + /// * `MWK` - Malawian Kwacha + /// * `MYR` - Malaysian Ringgit + /// * `MVR` - Maldivian Rufiyaa + /// * `MVP` - Maldivian Rupee (1947–1981) + /// * `MLF` - Malian Franc + /// * `MTL` - Maltese Lira + /// * `MTP` - Maltese Pound + /// * `MRU` - Mauritanian Ouguiya + /// * `MRO` - Mauritanian Ouguiya (1973–2017) + /// * `MUR` - Mauritian Rupee + /// * `MXV` - Mexican Investment Unit + /// * `MXN` - Mexican Peso + /// * `MXP` - Mexican Silver Peso (1861–1992) + /// * `MDC` - Moldovan Cupon + /// * `MDL` - Moldovan Leu + /// * `MCF` - Monegasque Franc + /// * `MNT` - Mongolian Tugrik + /// * `MAD` - Moroccan Dirham + /// * `MAF` - Moroccan Franc + /// * `MZE` - Mozambican Escudo + /// * `MZN` - Mozambican Metical + /// * `MZM` - Mozambican Metical (1980–2006) + /// * `MMK` - Myanmar Kyat + /// * `NAD` - Namibian Dollar + /// * `NPR` - Nepalese Rupee + /// * `ANG` - Netherlands Antillean Guilder + /// * `TWD` - New Taiwan Dollar + /// * `NZD` - New Zealand Dollar + /// * `NIO` - Nicaraguan Córdoba + /// * `NIC` - Nicaraguan Córdoba (1988–1991) + /// * `NGN` - Nigerian Naira + /// * `KPW` - North Korean Won + /// * `NOK` - Norwegian Krone + /// * `OMR` - Omani Rial + /// * `PKR` - Pakistani Rupee + /// * `XPD` - Palladium + /// * `PAB` - Panamanian Balboa + /// * `PGK` - Papua New Guinean Kina + /// * `PYG` - Paraguayan Guarani + /// * `PEI` - Peruvian Inti + /// * `PEN` - Peruvian Sol + /// * `PES` - Peruvian Sol (1863–1965) + /// * `PHP` - Philippine Peso + /// * `XPT` - Platinum + /// * `PLN` - Polish Zloty + /// * `PLZ` - Polish Zloty (1950–1995) + /// * `PTE` - Portuguese Escudo + /// * `GWE` - Portuguese Guinea Escudo + /// * `QAR` - Qatari Rial + /// * `XRE` - RINET Funds + /// * `RHD` - Rhodesian Dollar + /// * `RON` - Romanian Leu + /// * `ROL` - Romanian Leu (1952–2006) + /// * `RUB` - Russian Ruble + /// * `RUR` - Russian Ruble (1991–1998) + /// * `RWF` - Rwandan Franc + /// * `SVC` - Salvadoran Colón + /// * `WST` - Samoan Tala + /// * `SAR` - Saudi Riyal + /// * `RSD` - Serbian Dinar + /// * `CSD` - Serbian Dinar (2002–2006) + /// * `SCR` - Seychellois Rupee + /// * `SLL` - Sierra Leonean Leone + /// * `XAG` - Silver + /// * `SGD` - Singapore Dollar + /// * `SKK` - Slovak Koruna + /// * `SIT` - Slovenian Tolar + /// * `SBD` - Solomon Islands Dollar + /// * `SOS` - Somali Shilling + /// * `ZAR` - South African Rand + /// * `ZAL` - South African Rand (financial) + /// * `KRH` - South Korean Hwan (1953–1962) + /// * `KRW` - South Korean Won + /// * `KRO` - South Korean Won (1945–1953) + /// * `SSP` - South Sudanese Pound + /// * `SUR` - Soviet Rouble + /// * `ESP` - Spanish Peseta + /// * `ESA` - Spanish Peseta (A account) + /// * `ESB` - Spanish Peseta (convertible account) + /// * `XDR` - Special Drawing Rights + /// * `LKR` - Sri Lankan Rupee + /// * `SHP` - St. Helena Pound + /// * `XSU` - Sucre + /// * `SDD` - Sudanese Dinar (1992–2007) + /// * `SDG` - Sudanese Pound + /// * `SDP` - Sudanese Pound (1957–1998) + /// * `SRD` - Surinamese Dollar + /// * `SRG` - Surinamese Guilder + /// * `SZL` - Swazi Lilangeni + /// * `SEK` - Swedish Krona + /// * `CHF` - Swiss Franc + /// * `SYP` - Syrian Pound + /// * `STN` - São Tomé & Príncipe Dobra + /// * `STD` - São Tomé & Príncipe Dobra (1977–2017) + /// * `TVD` - TVD + /// * `TJR` - Tajikistani Ruble + /// * `TJS` - Tajikistani Somoni + /// * `TZS` - Tanzanian Shilling + /// * `XTS` - Testing Currency Code + /// * `THB` - Thai Baht + /// * `XXX` - The codes assigned for transactions where no currency is involved + /// * `TPE` - Timorese Escudo + /// * `TOP` - Tongan Paʻanga + /// * `TTD` - Trinidad & Tobago Dollar + /// * `TND` - Tunisian Dinar + /// * `TRY` - Turkish Lira + /// * `TRL` - Turkish Lira (1922–2005) + /// * `TMT` - Turkmenistani Manat + /// * `TMM` - Turkmenistani Manat (1993–2009) + /// * `USD` - US Dollar + /// * `USN` - US Dollar (Next day) + /// * `USS` - US Dollar (Same day) + /// * `UGX` - Ugandan Shilling + /// * `UGS` - Ugandan Shilling (1966–1987) + /// * `UAH` - Ukrainian Hryvnia + /// * `UAK` - Ukrainian Karbovanets + /// * `AED` - United Arab Emirates Dirham + /// * `UYW` - Uruguayan Nominal Wage Index Unit + /// * `UYU` - Uruguayan Peso + /// * `UYP` - Uruguayan Peso (1975–1993) + /// * `UYI` - Uruguayan Peso (Indexed Units) + /// * `UZS` - Uzbekistani Som + /// * `VUV` - Vanuatu Vatu + /// * `VES` - Venezuelan Bolívar + /// * `VEB` - Venezuelan Bolívar (1871–2008) + /// * `VEF` - Venezuelan Bolívar (2008–2018) + /// * `VND` - Vietnamese Dong + /// * `VNN` - Vietnamese Dong (1978–1985) + /// * `CHE` - WIR Euro + /// * `CHW` - WIR Franc + /// * `XOF` - West African CFA Franc + /// * `YDD` - Yemeni Dinar + /// * `YER` - Yemeni Rial + /// * `YUN` - Yugoslavian Convertible Dinar (1990–1992) + /// * `YUD` - Yugoslavian Hard Dinar (1966–1990) + /// * `YUM` - Yugoslavian New Dinar (1994–2002) + /// * `YUR` - Yugoslavian Reformed Dinar (1992–1993) + /// * `ZWN` - ZWN + /// * `ZRN` - Zairean New Zaire (1993–1998) + /// * `ZRZ` - Zairean Zaire (1971–1993) + /// * `ZMW` - Zambian Kwacha + /// * `ZMK` - Zambian Kwacha (1968–2012) + /// * `ZWD` - Zimbabwean Dollar (1980–2008) + /// * `ZWR` - Zimbabwean Dollar (2008) + /// * `ZWL` - Zimbabwean Dollar (2009) /// [JsonPropertyName("currency")] public TransactionCurrencyEnum? Currency { get; set; } @@ -388,15 +397,29 @@ public record InvoiceLineItemRequest [JsonPropertyName("company")] public string? Company { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("integration_params")] public Dictionary? IntegrationParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("linked_account_params")] public Dictionary? LinkedAccountParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("remote_fields")] public IEnumerable? RemoteFields { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/InvoiceRequest.cs b/src/Merge.Client/Accounting/Types/InvoiceRequest.cs index 8c6ee8e2..87d5546f 100644 --- a/src/Merge.Client/Accounting/Types/InvoiceRequest.cs +++ b/src/Merge.Client/Accounting/Types/InvoiceRequest.cs @@ -1,16 +1,28 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Accounting; +/// +/// # The Invoice Object +/// ### Description +/// The `Invoice` object represents an itemized record of goods and/or services sold to a customer or bought from a vendor. +/// +/// +/// Represents a Bill when the `Invoice` type is `ACCOUNTS_PAYABLE`. References an Invoice when the `Invoice` type is `ACCOUNTS_RECEIVABLE`. +/// +/// ### Usage Example +/// Fetch from the `LIST Invoices` endpoint and view a company's invoices. +/// public record InvoiceRequest { /// /// Whether the invoice is an accounts receivable or accounts payable. If `type` is `ACCOUNTS_PAYABLE`, the invoice is a bill. If `type` is `ACCOUNTS_RECEIVABLE`, it is an invoice. /// - /// - `ACCOUNTS_RECEIVABLE` - ACCOUNTS_RECEIVABLE - /// - `ACCOUNTS_PAYABLE` - ACCOUNTS_PAYABLE + /// * `ACCOUNTS_RECEIVABLE` - ACCOUNTS_RECEIVABLE + /// * `ACCOUNTS_PAYABLE` - ACCOUNTS_PAYABLE /// [JsonPropertyName("type")] public InvoiceTypeEnum? Type { get; set; } @@ -60,12 +72,12 @@ public record InvoiceRequest /// /// The status of the invoice. /// - /// - `PAID` - PAID - /// - `DRAFT` - DRAFT - /// - `SUBMITTED` - SUBMITTED - /// - `PARTIALLY_PAID` - PARTIALLY_PAID - /// - `OPEN` - OPEN - /// - `VOID` - VOID + /// * `PAID` - PAID + /// * `DRAFT` - DRAFT + /// * `SUBMITTED` - SUBMITTED + /// * `PARTIALLY_PAID` - PARTIALLY_PAID + /// * `OPEN` - OPEN + /// * `VOID` - VOID /// [JsonPropertyName("status")] public InvoiceStatusEnum? Status { get; set; } @@ -79,312 +91,312 @@ public record InvoiceRequest /// /// The invoice's currency. /// - /// - `XUA` - ADB Unit of Account - /// - `AFN` - Afghan Afghani - /// - `AFA` - Afghan Afghani (1927–2002) - /// - `ALL` - Albanian Lek - /// - `ALK` - Albanian Lek (1946–1965) - /// - `DZD` - Algerian Dinar - /// - `ADP` - Andorran Peseta - /// - `AOA` - Angolan Kwanza - /// - `AOK` - Angolan Kwanza (1977–1991) - /// - `AON` - Angolan New Kwanza (1990–2000) - /// - `AOR` - Angolan Readjusted Kwanza (1995–1999) - /// - `ARA` - Argentine Austral - /// - `ARS` - Argentine Peso - /// - `ARM` - Argentine Peso (1881–1970) - /// - `ARP` - Argentine Peso (1983–1985) - /// - `ARL` - Argentine Peso Ley (1970–1983) - /// - `AMD` - Armenian Dram - /// - `AWG` - Aruban Florin - /// - `AUD` - Australian Dollar - /// - `ATS` - Austrian Schilling - /// - `AZN` - Azerbaijani Manat - /// - `AZM` - Azerbaijani Manat (1993–2006) - /// - `BSD` - Bahamian Dollar - /// - `BHD` - Bahraini Dinar - /// - `BDT` - Bangladeshi Taka - /// - `BBD` - Barbadian Dollar - /// - `BYN` - Belarusian Ruble - /// - `BYB` - Belarusian Ruble (1994–1999) - /// - `BYR` - Belarusian Ruble (2000–2016) - /// - `BEF` - Belgian Franc - /// - `BEC` - Belgian Franc (convertible) - /// - `BEL` - Belgian Franc (financial) - /// - `BZD` - Belize Dollar - /// - `BMD` - Bermudan Dollar - /// - `BTN` - Bhutanese Ngultrum - /// - `BOB` - Bolivian Boliviano - /// - `BOL` - Bolivian Boliviano (1863–1963) - /// - `BOV` - Bolivian Mvdol - /// - `BOP` - Bolivian Peso - /// - `BAM` - Bosnia-Herzegovina Convertible Mark - /// - `BAD` - Bosnia-Herzegovina Dinar (1992–1994) - /// - `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) - /// - `BWP` - Botswanan Pula - /// - `BRC` - Brazilian Cruzado (1986–1989) - /// - `BRZ` - Brazilian Cruzeiro (1942–1967) - /// - `BRE` - Brazilian Cruzeiro (1990–1993) - /// - `BRR` - Brazilian Cruzeiro (1993–1994) - /// - `BRN` - Brazilian New Cruzado (1989–1990) - /// - `BRB` - Brazilian New Cruzeiro (1967–1986) - /// - `BRL` - Brazilian Real - /// - `GBP` - British Pound - /// - `BND` - Brunei Dollar - /// - `BGL` - Bulgarian Hard Lev - /// - `BGN` - Bulgarian Lev - /// - `BGO` - Bulgarian Lev (1879–1952) - /// - `BGM` - Bulgarian Socialist Lev - /// - `BUK` - Burmese Kyat - /// - `BIF` - Burundian Franc - /// - `XPF` - CFP Franc - /// - `KHR` - Cambodian Riel - /// - `CAD` - Canadian Dollar - /// - `CVE` - Cape Verdean Escudo - /// - `KYD` - Cayman Islands Dollar - /// - `XAF` - Central African CFA Franc - /// - `CLE` - Chilean Escudo - /// - `CLP` - Chilean Peso - /// - `CLF` - Chilean Unit of Account (UF) - /// - `CNX` - Chinese People’s Bank Dollar - /// - `CNY` - Chinese Yuan - /// - `CNH` - Chinese Yuan (offshore) - /// - `COP` - Colombian Peso - /// - `COU` - Colombian Real Value Unit - /// - `KMF` - Comorian Franc - /// - `CDF` - Congolese Franc - /// - `CRC` - Costa Rican Colón - /// - `HRD` - Croatian Dinar - /// - `HRK` - Croatian Kuna - /// - `CUC` - Cuban Convertible Peso - /// - `CUP` - Cuban Peso - /// - `CYP` - Cypriot Pound - /// - `CZK` - Czech Koruna - /// - `CSK` - Czechoslovak Hard Koruna - /// - `DKK` - Danish Krone - /// - `DJF` - Djiboutian Franc - /// - `DOP` - Dominican Peso - /// - `NLG` - Dutch Guilder - /// - `XCD` - East Caribbean Dollar - /// - `DDM` - East German Mark - /// - `ECS` - Ecuadorian Sucre - /// - `ECV` - Ecuadorian Unit of Constant Value - /// - `EGP` - Egyptian Pound - /// - `GQE` - Equatorial Guinean Ekwele - /// - `ERN` - Eritrean Nakfa - /// - `EEK` - Estonian Kroon - /// - `ETB` - Ethiopian Birr - /// - `EUR` - Euro - /// - `XBA` - European Composite Unit - /// - `XEU` - European Currency Unit - /// - `XBB` - European Monetary Unit - /// - `XBC` - European Unit of Account (XBC) - /// - `XBD` - European Unit of Account (XBD) - /// - `FKP` - Falkland Islands Pound - /// - `FJD` - Fijian Dollar - /// - `FIM` - Finnish Markka - /// - `FRF` - French Franc - /// - `XFO` - French Gold Franc - /// - `XFU` - French UIC-Franc - /// - `GMD` - Gambian Dalasi - /// - `GEK` - Georgian Kupon Larit - /// - `GEL` - Georgian Lari - /// - `DEM` - German Mark - /// - `GHS` - Ghanaian Cedi - /// - `GHC` - Ghanaian Cedi (1979–2007) - /// - `GIP` - Gibraltar Pound - /// - `XAU` - Gold - /// - `GRD` - Greek Drachma - /// - `GTQ` - Guatemalan Quetzal - /// - `GWP` - Guinea-Bissau Peso - /// - `GNF` - Guinean Franc - /// - `GNS` - Guinean Syli - /// - `GYD` - Guyanaese Dollar - /// - `HTG` - Haitian Gourde - /// - `HNL` - Honduran Lempira - /// - `HKD` - Hong Kong Dollar - /// - `HUF` - Hungarian Forint - /// - `IMP` - IMP - /// - `ISK` - Icelandic Króna - /// - `ISJ` - Icelandic Króna (1918–1981) - /// - `INR` - Indian Rupee - /// - `IDR` - Indonesian Rupiah - /// - `IRR` - Iranian Rial - /// - `IQD` - Iraqi Dinar - /// - `IEP` - Irish Pound - /// - `ILS` - Israeli New Shekel - /// - `ILP` - Israeli Pound - /// - `ILR` - Israeli Shekel (1980–1985) - /// - `ITL` - Italian Lira - /// - `JMD` - Jamaican Dollar - /// - `JPY` - Japanese Yen - /// - `JOD` - Jordanian Dinar - /// - `KZT` - Kazakhstani Tenge - /// - `KES` - Kenyan Shilling - /// - `KWD` - Kuwaiti Dinar - /// - `KGS` - Kyrgystani Som - /// - `LAK` - Laotian Kip - /// - `LVL` - Latvian Lats - /// - `LVR` - Latvian Ruble - /// - `LBP` - Lebanese Pound - /// - `LSL` - Lesotho Loti - /// - `LRD` - Liberian Dollar - /// - `LYD` - Libyan Dinar - /// - `LTL` - Lithuanian Litas - /// - `LTT` - Lithuanian Talonas - /// - `LUL` - Luxembourg Financial Franc - /// - `LUC` - Luxembourgian Convertible Franc - /// - `LUF` - Luxembourgian Franc - /// - `MOP` - Macanese Pataca - /// - `MKD` - Macedonian Denar - /// - `MKN` - Macedonian Denar (1992–1993) - /// - `MGA` - Malagasy Ariary - /// - `MGF` - Malagasy Franc - /// - `MWK` - Malawian Kwacha - /// - `MYR` - Malaysian Ringgit - /// - `MVR` - Maldivian Rufiyaa - /// - `MVP` - Maldivian Rupee (1947–1981) - /// - `MLF` - Malian Franc - /// - `MTL` - Maltese Lira - /// - `MTP` - Maltese Pound - /// - `MRU` - Mauritanian Ouguiya - /// - `MRO` - Mauritanian Ouguiya (1973–2017) - /// - `MUR` - Mauritian Rupee - /// - `MXV` - Mexican Investment Unit - /// - `MXN` - Mexican Peso - /// - `MXP` - Mexican Silver Peso (1861–1992) - /// - `MDC` - Moldovan Cupon - /// - `MDL` - Moldovan Leu - /// - `MCF` - Monegasque Franc - /// - `MNT` - Mongolian Tugrik - /// - `MAD` - Moroccan Dirham - /// - `MAF` - Moroccan Franc - /// - `MZE` - Mozambican Escudo - /// - `MZN` - Mozambican Metical - /// - `MZM` - Mozambican Metical (1980–2006) - /// - `MMK` - Myanmar Kyat - /// - `NAD` - Namibian Dollar - /// - `NPR` - Nepalese Rupee - /// - `ANG` - Netherlands Antillean Guilder - /// - `TWD` - New Taiwan Dollar - /// - `NZD` - New Zealand Dollar - /// - `NIO` - Nicaraguan Córdoba - /// - `NIC` - Nicaraguan Córdoba (1988–1991) - /// - `NGN` - Nigerian Naira - /// - `KPW` - North Korean Won - /// - `NOK` - Norwegian Krone - /// - `OMR` - Omani Rial - /// - `PKR` - Pakistani Rupee - /// - `XPD` - Palladium - /// - `PAB` - Panamanian Balboa - /// - `PGK` - Papua New Guinean Kina - /// - `PYG` - Paraguayan Guarani - /// - `PEI` - Peruvian Inti - /// - `PEN` - Peruvian Sol - /// - `PES` - Peruvian Sol (1863–1965) - /// - `PHP` - Philippine Peso - /// - `XPT` - Platinum - /// - `PLN` - Polish Zloty - /// - `PLZ` - Polish Zloty (1950–1995) - /// - `PTE` - Portuguese Escudo - /// - `GWE` - Portuguese Guinea Escudo - /// - `QAR` - Qatari Rial - /// - `XRE` - RINET Funds - /// - `RHD` - Rhodesian Dollar - /// - `RON` - Romanian Leu - /// - `ROL` - Romanian Leu (1952–2006) - /// - `RUB` - Russian Ruble - /// - `RUR` - Russian Ruble (1991–1998) - /// - `RWF` - Rwandan Franc - /// - `SVC` - Salvadoran Colón - /// - `WST` - Samoan Tala - /// - `SAR` - Saudi Riyal - /// - `RSD` - Serbian Dinar - /// - `CSD` - Serbian Dinar (2002–2006) - /// - `SCR` - Seychellois Rupee - /// - `SLL` - Sierra Leonean Leone - /// - `XAG` - Silver - /// - `SGD` - Singapore Dollar - /// - `SKK` - Slovak Koruna - /// - `SIT` - Slovenian Tolar - /// - `SBD` - Solomon Islands Dollar - /// - `SOS` - Somali Shilling - /// - `ZAR` - South African Rand - /// - `ZAL` - South African Rand (financial) - /// - `KRH` - South Korean Hwan (1953–1962) - /// - `KRW` - South Korean Won - /// - `KRO` - South Korean Won (1945–1953) - /// - `SSP` - South Sudanese Pound - /// - `SUR` - Soviet Rouble - /// - `ESP` - Spanish Peseta - /// - `ESA` - Spanish Peseta (A account) - /// - `ESB` - Spanish Peseta (convertible account) - /// - `XDR` - Special Drawing Rights - /// - `LKR` - Sri Lankan Rupee - /// - `SHP` - St. Helena Pound - /// - `XSU` - Sucre - /// - `SDD` - Sudanese Dinar (1992–2007) - /// - `SDG` - Sudanese Pound - /// - `SDP` - Sudanese Pound (1957–1998) - /// - `SRD` - Surinamese Dollar - /// - `SRG` - Surinamese Guilder - /// - `SZL` - Swazi Lilangeni - /// - `SEK` - Swedish Krona - /// - `CHF` - Swiss Franc - /// - `SYP` - Syrian Pound - /// - `STN` - São Tomé & Príncipe Dobra - /// - `STD` - São Tomé & Príncipe Dobra (1977–2017) - /// - `TVD` - TVD - /// - `TJR` - Tajikistani Ruble - /// - `TJS` - Tajikistani Somoni - /// - `TZS` - Tanzanian Shilling - /// - `XTS` - Testing Currency Code - /// - `THB` - Thai Baht - /// - `XXX` - The codes assigned for transactions where no currency is involved - /// - `TPE` - Timorese Escudo - /// - `TOP` - Tongan Paʻanga - /// - `TTD` - Trinidad & Tobago Dollar - /// - `TND` - Tunisian Dinar - /// - `TRY` - Turkish Lira - /// - `TRL` - Turkish Lira (1922–2005) - /// - `TMT` - Turkmenistani Manat - /// - `TMM` - Turkmenistani Manat (1993–2009) - /// - `USD` - US Dollar - /// - `USN` - US Dollar (Next day) - /// - `USS` - US Dollar (Same day) - /// - `UGX` - Ugandan Shilling - /// - `UGS` - Ugandan Shilling (1966–1987) - /// - `UAH` - Ukrainian Hryvnia - /// - `UAK` - Ukrainian Karbovanets - /// - `AED` - United Arab Emirates Dirham - /// - `UYW` - Uruguayan Nominal Wage Index Unit - /// - `UYU` - Uruguayan Peso - /// - `UYP` - Uruguayan Peso (1975–1993) - /// - `UYI` - Uruguayan Peso (Indexed Units) - /// - `UZS` - Uzbekistani Som - /// - `VUV` - Vanuatu Vatu - /// - `VES` - Venezuelan Bolívar - /// - `VEB` - Venezuelan Bolívar (1871–2008) - /// - `VEF` - Venezuelan Bolívar (2008–2018) - /// - `VND` - Vietnamese Dong - /// - `VNN` - Vietnamese Dong (1978–1985) - /// - `CHE` - WIR Euro - /// - `CHW` - WIR Franc - /// - `XOF` - West African CFA Franc - /// - `YDD` - Yemeni Dinar - /// - `YER` - Yemeni Rial - /// - `YUN` - Yugoslavian Convertible Dinar (1990–1992) - /// - `YUD` - Yugoslavian Hard Dinar (1966–1990) - /// - `YUM` - Yugoslavian New Dinar (1994–2002) - /// - `YUR` - Yugoslavian Reformed Dinar (1992–1993) - /// - `ZWN` - ZWN - /// - `ZRN` - Zairean New Zaire (1993–1998) - /// - `ZRZ` - Zairean Zaire (1971–1993) - /// - `ZMW` - Zambian Kwacha - /// - `ZMK` - Zambian Kwacha (1968–2012) - /// - `ZWD` - Zimbabwean Dollar (1980–2008) - /// - `ZWR` - Zimbabwean Dollar (2008) - /// - `ZWL` - Zimbabwean Dollar (2009) + /// * `XUA` - ADB Unit of Account + /// * `AFN` - Afghan Afghani + /// * `AFA` - Afghan Afghani (1927–2002) + /// * `ALL` - Albanian Lek + /// * `ALK` - Albanian Lek (1946–1965) + /// * `DZD` - Algerian Dinar + /// * `ADP` - Andorran Peseta + /// * `AOA` - Angolan Kwanza + /// * `AOK` - Angolan Kwanza (1977–1991) + /// * `AON` - Angolan New Kwanza (1990–2000) + /// * `AOR` - Angolan Readjusted Kwanza (1995–1999) + /// * `ARA` - Argentine Austral + /// * `ARS` - Argentine Peso + /// * `ARM` - Argentine Peso (1881–1970) + /// * `ARP` - Argentine Peso (1983–1985) + /// * `ARL` - Argentine Peso Ley (1970–1983) + /// * `AMD` - Armenian Dram + /// * `AWG` - Aruban Florin + /// * `AUD` - Australian Dollar + /// * `ATS` - Austrian Schilling + /// * `AZN` - Azerbaijani Manat + /// * `AZM` - Azerbaijani Manat (1993–2006) + /// * `BSD` - Bahamian Dollar + /// * `BHD` - Bahraini Dinar + /// * `BDT` - Bangladeshi Taka + /// * `BBD` - Barbadian Dollar + /// * `BYN` - Belarusian Ruble + /// * `BYB` - Belarusian Ruble (1994–1999) + /// * `BYR` - Belarusian Ruble (2000–2016) + /// * `BEF` - Belgian Franc + /// * `BEC` - Belgian Franc (convertible) + /// * `BEL` - Belgian Franc (financial) + /// * `BZD` - Belize Dollar + /// * `BMD` - Bermudan Dollar + /// * `BTN` - Bhutanese Ngultrum + /// * `BOB` - Bolivian Boliviano + /// * `BOL` - Bolivian Boliviano (1863–1963) + /// * `BOV` - Bolivian Mvdol + /// * `BOP` - Bolivian Peso + /// * `BAM` - Bosnia-Herzegovina Convertible Mark + /// * `BAD` - Bosnia-Herzegovina Dinar (1992–1994) + /// * `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) + /// * `BWP` - Botswanan Pula + /// * `BRC` - Brazilian Cruzado (1986–1989) + /// * `BRZ` - Brazilian Cruzeiro (1942–1967) + /// * `BRE` - Brazilian Cruzeiro (1990–1993) + /// * `BRR` - Brazilian Cruzeiro (1993–1994) + /// * `BRN` - Brazilian New Cruzado (1989–1990) + /// * `BRB` - Brazilian New Cruzeiro (1967–1986) + /// * `BRL` - Brazilian Real + /// * `GBP` - British Pound + /// * `BND` - Brunei Dollar + /// * `BGL` - Bulgarian Hard Lev + /// * `BGN` - Bulgarian Lev + /// * `BGO` - Bulgarian Lev (1879–1952) + /// * `BGM` - Bulgarian Socialist Lev + /// * `BUK` - Burmese Kyat + /// * `BIF` - Burundian Franc + /// * `XPF` - CFP Franc + /// * `KHR` - Cambodian Riel + /// * `CAD` - Canadian Dollar + /// * `CVE` - Cape Verdean Escudo + /// * `KYD` - Cayman Islands Dollar + /// * `XAF` - Central African CFA Franc + /// * `CLE` - Chilean Escudo + /// * `CLP` - Chilean Peso + /// * `CLF` - Chilean Unit of Account (UF) + /// * `CNX` - Chinese People’s Bank Dollar + /// * `CNY` - Chinese Yuan + /// * `CNH` - Chinese Yuan (offshore) + /// * `COP` - Colombian Peso + /// * `COU` - Colombian Real Value Unit + /// * `KMF` - Comorian Franc + /// * `CDF` - Congolese Franc + /// * `CRC` - Costa Rican Colón + /// * `HRD` - Croatian Dinar + /// * `HRK` - Croatian Kuna + /// * `CUC` - Cuban Convertible Peso + /// * `CUP` - Cuban Peso + /// * `CYP` - Cypriot Pound + /// * `CZK` - Czech Koruna + /// * `CSK` - Czechoslovak Hard Koruna + /// * `DKK` - Danish Krone + /// * `DJF` - Djiboutian Franc + /// * `DOP` - Dominican Peso + /// * `NLG` - Dutch Guilder + /// * `XCD` - East Caribbean Dollar + /// * `DDM` - East German Mark + /// * `ECS` - Ecuadorian Sucre + /// * `ECV` - Ecuadorian Unit of Constant Value + /// * `EGP` - Egyptian Pound + /// * `GQE` - Equatorial Guinean Ekwele + /// * `ERN` - Eritrean Nakfa + /// * `EEK` - Estonian Kroon + /// * `ETB` - Ethiopian Birr + /// * `EUR` - Euro + /// * `XBA` - European Composite Unit + /// * `XEU` - European Currency Unit + /// * `XBB` - European Monetary Unit + /// * `XBC` - European Unit of Account (XBC) + /// * `XBD` - European Unit of Account (XBD) + /// * `FKP` - Falkland Islands Pound + /// * `FJD` - Fijian Dollar + /// * `FIM` - Finnish Markka + /// * `FRF` - French Franc + /// * `XFO` - French Gold Franc + /// * `XFU` - French UIC-Franc + /// * `GMD` - Gambian Dalasi + /// * `GEK` - Georgian Kupon Larit + /// * `GEL` - Georgian Lari + /// * `DEM` - German Mark + /// * `GHS` - Ghanaian Cedi + /// * `GHC` - Ghanaian Cedi (1979–2007) + /// * `GIP` - Gibraltar Pound + /// * `XAU` - Gold + /// * `GRD` - Greek Drachma + /// * `GTQ` - Guatemalan Quetzal + /// * `GWP` - Guinea-Bissau Peso + /// * `GNF` - Guinean Franc + /// * `GNS` - Guinean Syli + /// * `GYD` - Guyanaese Dollar + /// * `HTG` - Haitian Gourde + /// * `HNL` - Honduran Lempira + /// * `HKD` - Hong Kong Dollar + /// * `HUF` - Hungarian Forint + /// * `IMP` - IMP + /// * `ISK` - Icelandic Króna + /// * `ISJ` - Icelandic Króna (1918–1981) + /// * `INR` - Indian Rupee + /// * `IDR` - Indonesian Rupiah + /// * `IRR` - Iranian Rial + /// * `IQD` - Iraqi Dinar + /// * `IEP` - Irish Pound + /// * `ILS` - Israeli New Shekel + /// * `ILP` - Israeli Pound + /// * `ILR` - Israeli Shekel (1980–1985) + /// * `ITL` - Italian Lira + /// * `JMD` - Jamaican Dollar + /// * `JPY` - Japanese Yen + /// * `JOD` - Jordanian Dinar + /// * `KZT` - Kazakhstani Tenge + /// * `KES` - Kenyan Shilling + /// * `KWD` - Kuwaiti Dinar + /// * `KGS` - Kyrgystani Som + /// * `LAK` - Laotian Kip + /// * `LVL` - Latvian Lats + /// * `LVR` - Latvian Ruble + /// * `LBP` - Lebanese Pound + /// * `LSL` - Lesotho Loti + /// * `LRD` - Liberian Dollar + /// * `LYD` - Libyan Dinar + /// * `LTL` - Lithuanian Litas + /// * `LTT` - Lithuanian Talonas + /// * `LUL` - Luxembourg Financial Franc + /// * `LUC` - Luxembourgian Convertible Franc + /// * `LUF` - Luxembourgian Franc + /// * `MOP` - Macanese Pataca + /// * `MKD` - Macedonian Denar + /// * `MKN` - Macedonian Denar (1992–1993) + /// * `MGA` - Malagasy Ariary + /// * `MGF` - Malagasy Franc + /// * `MWK` - Malawian Kwacha + /// * `MYR` - Malaysian Ringgit + /// * `MVR` - Maldivian Rufiyaa + /// * `MVP` - Maldivian Rupee (1947–1981) + /// * `MLF` - Malian Franc + /// * `MTL` - Maltese Lira + /// * `MTP` - Maltese Pound + /// * `MRU` - Mauritanian Ouguiya + /// * `MRO` - Mauritanian Ouguiya (1973–2017) + /// * `MUR` - Mauritian Rupee + /// * `MXV` - Mexican Investment Unit + /// * `MXN` - Mexican Peso + /// * `MXP` - Mexican Silver Peso (1861–1992) + /// * `MDC` - Moldovan Cupon + /// * `MDL` - Moldovan Leu + /// * `MCF` - Monegasque Franc + /// * `MNT` - Mongolian Tugrik + /// * `MAD` - Moroccan Dirham + /// * `MAF` - Moroccan Franc + /// * `MZE` - Mozambican Escudo + /// * `MZN` - Mozambican Metical + /// * `MZM` - Mozambican Metical (1980–2006) + /// * `MMK` - Myanmar Kyat + /// * `NAD` - Namibian Dollar + /// * `NPR` - Nepalese Rupee + /// * `ANG` - Netherlands Antillean Guilder + /// * `TWD` - New Taiwan Dollar + /// * `NZD` - New Zealand Dollar + /// * `NIO` - Nicaraguan Córdoba + /// * `NIC` - Nicaraguan Córdoba (1988–1991) + /// * `NGN` - Nigerian Naira + /// * `KPW` - North Korean Won + /// * `NOK` - Norwegian Krone + /// * `OMR` - Omani Rial + /// * `PKR` - Pakistani Rupee + /// * `XPD` - Palladium + /// * `PAB` - Panamanian Balboa + /// * `PGK` - Papua New Guinean Kina + /// * `PYG` - Paraguayan Guarani + /// * `PEI` - Peruvian Inti + /// * `PEN` - Peruvian Sol + /// * `PES` - Peruvian Sol (1863–1965) + /// * `PHP` - Philippine Peso + /// * `XPT` - Platinum + /// * `PLN` - Polish Zloty + /// * `PLZ` - Polish Zloty (1950–1995) + /// * `PTE` - Portuguese Escudo + /// * `GWE` - Portuguese Guinea Escudo + /// * `QAR` - Qatari Rial + /// * `XRE` - RINET Funds + /// * `RHD` - Rhodesian Dollar + /// * `RON` - Romanian Leu + /// * `ROL` - Romanian Leu (1952–2006) + /// * `RUB` - Russian Ruble + /// * `RUR` - Russian Ruble (1991–1998) + /// * `RWF` - Rwandan Franc + /// * `SVC` - Salvadoran Colón + /// * `WST` - Samoan Tala + /// * `SAR` - Saudi Riyal + /// * `RSD` - Serbian Dinar + /// * `CSD` - Serbian Dinar (2002–2006) + /// * `SCR` - Seychellois Rupee + /// * `SLL` - Sierra Leonean Leone + /// * `XAG` - Silver + /// * `SGD` - Singapore Dollar + /// * `SKK` - Slovak Koruna + /// * `SIT` - Slovenian Tolar + /// * `SBD` - Solomon Islands Dollar + /// * `SOS` - Somali Shilling + /// * `ZAR` - South African Rand + /// * `ZAL` - South African Rand (financial) + /// * `KRH` - South Korean Hwan (1953–1962) + /// * `KRW` - South Korean Won + /// * `KRO` - South Korean Won (1945–1953) + /// * `SSP` - South Sudanese Pound + /// * `SUR` - Soviet Rouble + /// * `ESP` - Spanish Peseta + /// * `ESA` - Spanish Peseta (A account) + /// * `ESB` - Spanish Peseta (convertible account) + /// * `XDR` - Special Drawing Rights + /// * `LKR` - Sri Lankan Rupee + /// * `SHP` - St. Helena Pound + /// * `XSU` - Sucre + /// * `SDD` - Sudanese Dinar (1992–2007) + /// * `SDG` - Sudanese Pound + /// * `SDP` - Sudanese Pound (1957–1998) + /// * `SRD` - Surinamese Dollar + /// * `SRG` - Surinamese Guilder + /// * `SZL` - Swazi Lilangeni + /// * `SEK` - Swedish Krona + /// * `CHF` - Swiss Franc + /// * `SYP` - Syrian Pound + /// * `STN` - São Tomé & Príncipe Dobra + /// * `STD` - São Tomé & Príncipe Dobra (1977–2017) + /// * `TVD` - TVD + /// * `TJR` - Tajikistani Ruble + /// * `TJS` - Tajikistani Somoni + /// * `TZS` - Tanzanian Shilling + /// * `XTS` - Testing Currency Code + /// * `THB` - Thai Baht + /// * `XXX` - The codes assigned for transactions where no currency is involved + /// * `TPE` - Timorese Escudo + /// * `TOP` - Tongan Paʻanga + /// * `TTD` - Trinidad & Tobago Dollar + /// * `TND` - Tunisian Dinar + /// * `TRY` - Turkish Lira + /// * `TRL` - Turkish Lira (1922–2005) + /// * `TMT` - Turkmenistani Manat + /// * `TMM` - Turkmenistani Manat (1993–2009) + /// * `USD` - US Dollar + /// * `USN` - US Dollar (Next day) + /// * `USS` - US Dollar (Same day) + /// * `UGX` - Ugandan Shilling + /// * `UGS` - Ugandan Shilling (1966–1987) + /// * `UAH` - Ukrainian Hryvnia + /// * `UAK` - Ukrainian Karbovanets + /// * `AED` - United Arab Emirates Dirham + /// * `UYW` - Uruguayan Nominal Wage Index Unit + /// * `UYU` - Uruguayan Peso + /// * `UYP` - Uruguayan Peso (1975–1993) + /// * `UYI` - Uruguayan Peso (Indexed Units) + /// * `UZS` - Uzbekistani Som + /// * `VUV` - Vanuatu Vatu + /// * `VES` - Venezuelan Bolívar + /// * `VEB` - Venezuelan Bolívar (1871–2008) + /// * `VEF` - Venezuelan Bolívar (2008–2018) + /// * `VND` - Vietnamese Dong + /// * `VNN` - Vietnamese Dong (1978–1985) + /// * `CHE` - WIR Euro + /// * `CHW` - WIR Franc + /// * `XOF` - West African CFA Franc + /// * `YDD` - Yemeni Dinar + /// * `YER` - Yemeni Rial + /// * `YUN` - Yugoslavian Convertible Dinar (1990–1992) + /// * `YUD` - Yugoslavian Hard Dinar (1966–1990) + /// * `YUM` - Yugoslavian New Dinar (1994–2002) + /// * `YUR` - Yugoslavian Reformed Dinar (1992–1993) + /// * `ZWN` - ZWN + /// * `ZRN` - Zairean New Zaire (1993–1998) + /// * `ZRZ` - Zairean Zaire (1971–1993) + /// * `ZMW` - Zambian Kwacha + /// * `ZMK` - Zambian Kwacha (1968–2012) + /// * `ZWD` - Zimbabwean Dollar (1980–2008) + /// * `ZWR` - Zimbabwean Dollar (2008) + /// * `ZWL` - Zimbabwean Dollar (2009) /// [JsonPropertyName("currency")] public TransactionCurrencyEnum? Currency { get; set; } @@ -407,6 +419,12 @@ public record InvoiceRequest [JsonPropertyName("sub_total")] public double? SubTotal { get; set; } + /// + /// The payment term that applies to this transaction. + /// + [JsonPropertyName("payment_term")] + public OneOf? PaymentTerm { get; set; } + /// /// The total amount being paid in taxes. /// @@ -446,15 +464,29 @@ public record InvoiceRequest [JsonPropertyName("purchase_orders")] public IEnumerable>? PurchaseOrders { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("integration_params")] public Dictionary? IntegrationParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("linked_account_params")] public Dictionary? LinkedAccountParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("remote_fields")] public IEnumerable? RemoteFields { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/InvoiceResponse.cs b/src/Merge.Client/Accounting/Types/InvoiceResponse.cs index 8c96946a..314b2a0f 100644 --- a/src/Merge.Client/Accounting/Types/InvoiceResponse.cs +++ b/src/Merge.Client/Accounting/Types/InvoiceResponse.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -19,6 +20,17 @@ public record InvoiceResponse [JsonPropertyName("logs")] public IEnumerable? Logs { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/Issue.cs b/src/Merge.Client/Accounting/Types/Issue.cs index e0b1851f..56cfa10d 100644 --- a/src/Merge.Client/Accounting/Types/Issue.cs +++ b/src/Merge.Client/Accounting/Types/Issue.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -5,14 +6,15 @@ namespace Merge.Client.Accounting; public record Issue { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } /// /// Status of the issue. Options: ('ONGOING', 'RESOLVED') /// - /// - `ONGOING` - ONGOING - /// - `RESOLVED` - RESOLVED + /// * `ONGOING` - ONGOING + /// * `RESOLVED` - RESOLVED /// [JsonPropertyName("status")] public IssueStatusEnum? Status { get; set; } @@ -20,6 +22,7 @@ public record Issue [JsonPropertyName("error_description")] public required string ErrorDescription { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("end_user")] public Dictionary? EndUser { get; set; } @@ -29,12 +32,25 @@ public record Issue [JsonPropertyName("last_incident_time")] public DateTime? LastIncidentTime { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("is_muted")] public bool? IsMuted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("error_details")] public IEnumerable? ErrorDetails { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/Item.cs b/src/Merge.Client/Accounting/Types/Item.cs index 1fdfd4f0..f811c231 100644 --- a/src/Merge.Client/Accounting/Types/Item.cs +++ b/src/Merge.Client/Accounting/Types/Item.cs @@ -1,11 +1,21 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Accounting; +/// +/// # The Item Object +/// ### Description +/// The `Item` object refers to the goods involved in a transaction. +/// +/// ### Usage Example +/// Fetch from the `LIST Items` endpoint and view a company's items. +/// public record Item { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -18,12 +28,14 @@ public record Item /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -36,8 +48,8 @@ public record Item /// /// The item's status. /// - /// - `ACTIVE` - ACTIVE - /// - `ARCHIVED` - ARCHIVED + /// * `ACTIVE` - ACTIVE + /// * `ARCHIVED` - ARCHIVED /// [JsonPropertyName("status")] public Status7D1Enum? Status { get; set; } @@ -93,15 +105,29 @@ public record Item /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/ItemSchema.cs b/src/Merge.Client/Accounting/Types/ItemSchema.cs index f264582a..4e6fd330 100644 --- a/src/Merge.Client/Accounting/Types/ItemSchema.cs +++ b/src/Merge.Client/Accounting/Types/ItemSchema.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record ItemSchema [JsonPropertyName("item_choices")] public IEnumerable? ItemChoices { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/JournalEntry.cs b/src/Merge.Client/Accounting/Types/JournalEntry.cs index 50a11cc0..ff74dc27 100644 --- a/src/Merge.Client/Accounting/Types/JournalEntry.cs +++ b/src/Merge.Client/Accounting/Types/JournalEntry.cs @@ -1,11 +1,25 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Accounting; +/// +/// # The JournalEntry Object +/// ### Description +/// A `JournalEntry` is a record of a transaction or event that is entered into a company's accounting system. +/// +/// The `JournalEntry` common model contains records that are automatically created as a result of a certain type of transaction, like an Invoice, and records that are manually created against a company’s ledger. +/// +/// The lines of a given `JournalEntry` object should always sum to 0. A positive `net_amount` means the line represents a debit and a negative net_amount represents a credit. +/// +/// ### Usage Example +/// Fetch from the `GET JournalEntry` endpoint and view a company's journey entry. +/// public record JournalEntry { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -18,12 +32,14 @@ public record JournalEntry /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -54,312 +70,312 @@ public record JournalEntry /// /// The journal's currency. /// - /// - `XUA` - ADB Unit of Account - /// - `AFN` - Afghan Afghani - /// - `AFA` - Afghan Afghani (1927–2002) - /// - `ALL` - Albanian Lek - /// - `ALK` - Albanian Lek (1946–1965) - /// - `DZD` - Algerian Dinar - /// - `ADP` - Andorran Peseta - /// - `AOA` - Angolan Kwanza - /// - `AOK` - Angolan Kwanza (1977–1991) - /// - `AON` - Angolan New Kwanza (1990–2000) - /// - `AOR` - Angolan Readjusted Kwanza (1995–1999) - /// - `ARA` - Argentine Austral - /// - `ARS` - Argentine Peso - /// - `ARM` - Argentine Peso (1881–1970) - /// - `ARP` - Argentine Peso (1983–1985) - /// - `ARL` - Argentine Peso Ley (1970–1983) - /// - `AMD` - Armenian Dram - /// - `AWG` - Aruban Florin - /// - `AUD` - Australian Dollar - /// - `ATS` - Austrian Schilling - /// - `AZN` - Azerbaijani Manat - /// - `AZM` - Azerbaijani Manat (1993–2006) - /// - `BSD` - Bahamian Dollar - /// - `BHD` - Bahraini Dinar - /// - `BDT` - Bangladeshi Taka - /// - `BBD` - Barbadian Dollar - /// - `BYN` - Belarusian Ruble - /// - `BYB` - Belarusian Ruble (1994–1999) - /// - `BYR` - Belarusian Ruble (2000–2016) - /// - `BEF` - Belgian Franc - /// - `BEC` - Belgian Franc (convertible) - /// - `BEL` - Belgian Franc (financial) - /// - `BZD` - Belize Dollar - /// - `BMD` - Bermudan Dollar - /// - `BTN` - Bhutanese Ngultrum - /// - `BOB` - Bolivian Boliviano - /// - `BOL` - Bolivian Boliviano (1863–1963) - /// - `BOV` - Bolivian Mvdol - /// - `BOP` - Bolivian Peso - /// - `BAM` - Bosnia-Herzegovina Convertible Mark - /// - `BAD` - Bosnia-Herzegovina Dinar (1992–1994) - /// - `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) - /// - `BWP` - Botswanan Pula - /// - `BRC` - Brazilian Cruzado (1986–1989) - /// - `BRZ` - Brazilian Cruzeiro (1942–1967) - /// - `BRE` - Brazilian Cruzeiro (1990–1993) - /// - `BRR` - Brazilian Cruzeiro (1993–1994) - /// - `BRN` - Brazilian New Cruzado (1989–1990) - /// - `BRB` - Brazilian New Cruzeiro (1967–1986) - /// - `BRL` - Brazilian Real - /// - `GBP` - British Pound - /// - `BND` - Brunei Dollar - /// - `BGL` - Bulgarian Hard Lev - /// - `BGN` - Bulgarian Lev - /// - `BGO` - Bulgarian Lev (1879–1952) - /// - `BGM` - Bulgarian Socialist Lev - /// - `BUK` - Burmese Kyat - /// - `BIF` - Burundian Franc - /// - `XPF` - CFP Franc - /// - `KHR` - Cambodian Riel - /// - `CAD` - Canadian Dollar - /// - `CVE` - Cape Verdean Escudo - /// - `KYD` - Cayman Islands Dollar - /// - `XAF` - Central African CFA Franc - /// - `CLE` - Chilean Escudo - /// - `CLP` - Chilean Peso - /// - `CLF` - Chilean Unit of Account (UF) - /// - `CNX` - Chinese People’s Bank Dollar - /// - `CNY` - Chinese Yuan - /// - `CNH` - Chinese Yuan (offshore) - /// - `COP` - Colombian Peso - /// - `COU` - Colombian Real Value Unit - /// - `KMF` - Comorian Franc - /// - `CDF` - Congolese Franc - /// - `CRC` - Costa Rican Colón - /// - `HRD` - Croatian Dinar - /// - `HRK` - Croatian Kuna - /// - `CUC` - Cuban Convertible Peso - /// - `CUP` - Cuban Peso - /// - `CYP` - Cypriot Pound - /// - `CZK` - Czech Koruna - /// - `CSK` - Czechoslovak Hard Koruna - /// - `DKK` - Danish Krone - /// - `DJF` - Djiboutian Franc - /// - `DOP` - Dominican Peso - /// - `NLG` - Dutch Guilder - /// - `XCD` - East Caribbean Dollar - /// - `DDM` - East German Mark - /// - `ECS` - Ecuadorian Sucre - /// - `ECV` - Ecuadorian Unit of Constant Value - /// - `EGP` - Egyptian Pound - /// - `GQE` - Equatorial Guinean Ekwele - /// - `ERN` - Eritrean Nakfa - /// - `EEK` - Estonian Kroon - /// - `ETB` - Ethiopian Birr - /// - `EUR` - Euro - /// - `XBA` - European Composite Unit - /// - `XEU` - European Currency Unit - /// - `XBB` - European Monetary Unit - /// - `XBC` - European Unit of Account (XBC) - /// - `XBD` - European Unit of Account (XBD) - /// - `FKP` - Falkland Islands Pound - /// - `FJD` - Fijian Dollar - /// - `FIM` - Finnish Markka - /// - `FRF` - French Franc - /// - `XFO` - French Gold Franc - /// - `XFU` - French UIC-Franc - /// - `GMD` - Gambian Dalasi - /// - `GEK` - Georgian Kupon Larit - /// - `GEL` - Georgian Lari - /// - `DEM` - German Mark - /// - `GHS` - Ghanaian Cedi - /// - `GHC` - Ghanaian Cedi (1979–2007) - /// - `GIP` - Gibraltar Pound - /// - `XAU` - Gold - /// - `GRD` - Greek Drachma - /// - `GTQ` - Guatemalan Quetzal - /// - `GWP` - Guinea-Bissau Peso - /// - `GNF` - Guinean Franc - /// - `GNS` - Guinean Syli - /// - `GYD` - Guyanaese Dollar - /// - `HTG` - Haitian Gourde - /// - `HNL` - Honduran Lempira - /// - `HKD` - Hong Kong Dollar - /// - `HUF` - Hungarian Forint - /// - `IMP` - IMP - /// - `ISK` - Icelandic Króna - /// - `ISJ` - Icelandic Króna (1918–1981) - /// - `INR` - Indian Rupee - /// - `IDR` - Indonesian Rupiah - /// - `IRR` - Iranian Rial - /// - `IQD` - Iraqi Dinar - /// - `IEP` - Irish Pound - /// - `ILS` - Israeli New Shekel - /// - `ILP` - Israeli Pound - /// - `ILR` - Israeli Shekel (1980–1985) - /// - `ITL` - Italian Lira - /// - `JMD` - Jamaican Dollar - /// - `JPY` - Japanese Yen - /// - `JOD` - Jordanian Dinar - /// - `KZT` - Kazakhstani Tenge - /// - `KES` - Kenyan Shilling - /// - `KWD` - Kuwaiti Dinar - /// - `KGS` - Kyrgystani Som - /// - `LAK` - Laotian Kip - /// - `LVL` - Latvian Lats - /// - `LVR` - Latvian Ruble - /// - `LBP` - Lebanese Pound - /// - `LSL` - Lesotho Loti - /// - `LRD` - Liberian Dollar - /// - `LYD` - Libyan Dinar - /// - `LTL` - Lithuanian Litas - /// - `LTT` - Lithuanian Talonas - /// - `LUL` - Luxembourg Financial Franc - /// - `LUC` - Luxembourgian Convertible Franc - /// - `LUF` - Luxembourgian Franc - /// - `MOP` - Macanese Pataca - /// - `MKD` - Macedonian Denar - /// - `MKN` - Macedonian Denar (1992–1993) - /// - `MGA` - Malagasy Ariary - /// - `MGF` - Malagasy Franc - /// - `MWK` - Malawian Kwacha - /// - `MYR` - Malaysian Ringgit - /// - `MVR` - Maldivian Rufiyaa - /// - `MVP` - Maldivian Rupee (1947–1981) - /// - `MLF` - Malian Franc - /// - `MTL` - Maltese Lira - /// - `MTP` - Maltese Pound - /// - `MRU` - Mauritanian Ouguiya - /// - `MRO` - Mauritanian Ouguiya (1973–2017) - /// - `MUR` - Mauritian Rupee - /// - `MXV` - Mexican Investment Unit - /// - `MXN` - Mexican Peso - /// - `MXP` - Mexican Silver Peso (1861–1992) - /// - `MDC` - Moldovan Cupon - /// - `MDL` - Moldovan Leu - /// - `MCF` - Monegasque Franc - /// - `MNT` - Mongolian Tugrik - /// - `MAD` - Moroccan Dirham - /// - `MAF` - Moroccan Franc - /// - `MZE` - Mozambican Escudo - /// - `MZN` - Mozambican Metical - /// - `MZM` - Mozambican Metical (1980–2006) - /// - `MMK` - Myanmar Kyat - /// - `NAD` - Namibian Dollar - /// - `NPR` - Nepalese Rupee - /// - `ANG` - Netherlands Antillean Guilder - /// - `TWD` - New Taiwan Dollar - /// - `NZD` - New Zealand Dollar - /// - `NIO` - Nicaraguan Córdoba - /// - `NIC` - Nicaraguan Córdoba (1988–1991) - /// - `NGN` - Nigerian Naira - /// - `KPW` - North Korean Won - /// - `NOK` - Norwegian Krone - /// - `OMR` - Omani Rial - /// - `PKR` - Pakistani Rupee - /// - `XPD` - Palladium - /// - `PAB` - Panamanian Balboa - /// - `PGK` - Papua New Guinean Kina - /// - `PYG` - Paraguayan Guarani - /// - `PEI` - Peruvian Inti - /// - `PEN` - Peruvian Sol - /// - `PES` - Peruvian Sol (1863–1965) - /// - `PHP` - Philippine Peso - /// - `XPT` - Platinum - /// - `PLN` - Polish Zloty - /// - `PLZ` - Polish Zloty (1950–1995) - /// - `PTE` - Portuguese Escudo - /// - `GWE` - Portuguese Guinea Escudo - /// - `QAR` - Qatari Rial - /// - `XRE` - RINET Funds - /// - `RHD` - Rhodesian Dollar - /// - `RON` - Romanian Leu - /// - `ROL` - Romanian Leu (1952–2006) - /// - `RUB` - Russian Ruble - /// - `RUR` - Russian Ruble (1991–1998) - /// - `RWF` - Rwandan Franc - /// - `SVC` - Salvadoran Colón - /// - `WST` - Samoan Tala - /// - `SAR` - Saudi Riyal - /// - `RSD` - Serbian Dinar - /// - `CSD` - Serbian Dinar (2002–2006) - /// - `SCR` - Seychellois Rupee - /// - `SLL` - Sierra Leonean Leone - /// - `XAG` - Silver - /// - `SGD` - Singapore Dollar - /// - `SKK` - Slovak Koruna - /// - `SIT` - Slovenian Tolar - /// - `SBD` - Solomon Islands Dollar - /// - `SOS` - Somali Shilling - /// - `ZAR` - South African Rand - /// - `ZAL` - South African Rand (financial) - /// - `KRH` - South Korean Hwan (1953–1962) - /// - `KRW` - South Korean Won - /// - `KRO` - South Korean Won (1945–1953) - /// - `SSP` - South Sudanese Pound - /// - `SUR` - Soviet Rouble - /// - `ESP` - Spanish Peseta - /// - `ESA` - Spanish Peseta (A account) - /// - `ESB` - Spanish Peseta (convertible account) - /// - `XDR` - Special Drawing Rights - /// - `LKR` - Sri Lankan Rupee - /// - `SHP` - St. Helena Pound - /// - `XSU` - Sucre - /// - `SDD` - Sudanese Dinar (1992–2007) - /// - `SDG` - Sudanese Pound - /// - `SDP` - Sudanese Pound (1957–1998) - /// - `SRD` - Surinamese Dollar - /// - `SRG` - Surinamese Guilder - /// - `SZL` - Swazi Lilangeni - /// - `SEK` - Swedish Krona - /// - `CHF` - Swiss Franc - /// - `SYP` - Syrian Pound - /// - `STN` - São Tomé & Príncipe Dobra - /// - `STD` - São Tomé & Príncipe Dobra (1977–2017) - /// - `TVD` - TVD - /// - `TJR` - Tajikistani Ruble - /// - `TJS` - Tajikistani Somoni - /// - `TZS` - Tanzanian Shilling - /// - `XTS` - Testing Currency Code - /// - `THB` - Thai Baht - /// - `XXX` - The codes assigned for transactions where no currency is involved - /// - `TPE` - Timorese Escudo - /// - `TOP` - Tongan Paʻanga - /// - `TTD` - Trinidad & Tobago Dollar - /// - `TND` - Tunisian Dinar - /// - `TRY` - Turkish Lira - /// - `TRL` - Turkish Lira (1922–2005) - /// - `TMT` - Turkmenistani Manat - /// - `TMM` - Turkmenistani Manat (1993–2009) - /// - `USD` - US Dollar - /// - `USN` - US Dollar (Next day) - /// - `USS` - US Dollar (Same day) - /// - `UGX` - Ugandan Shilling - /// - `UGS` - Ugandan Shilling (1966–1987) - /// - `UAH` - Ukrainian Hryvnia - /// - `UAK` - Ukrainian Karbovanets - /// - `AED` - United Arab Emirates Dirham - /// - `UYW` - Uruguayan Nominal Wage Index Unit - /// - `UYU` - Uruguayan Peso - /// - `UYP` - Uruguayan Peso (1975–1993) - /// - `UYI` - Uruguayan Peso (Indexed Units) - /// - `UZS` - Uzbekistani Som - /// - `VUV` - Vanuatu Vatu - /// - `VES` - Venezuelan Bolívar - /// - `VEB` - Venezuelan Bolívar (1871–2008) - /// - `VEF` - Venezuelan Bolívar (2008–2018) - /// - `VND` - Vietnamese Dong - /// - `VNN` - Vietnamese Dong (1978–1985) - /// - `CHE` - WIR Euro - /// - `CHW` - WIR Franc - /// - `XOF` - West African CFA Franc - /// - `YDD` - Yemeni Dinar - /// - `YER` - Yemeni Rial - /// - `YUN` - Yugoslavian Convertible Dinar (1990–1992) - /// - `YUD` - Yugoslavian Hard Dinar (1966–1990) - /// - `YUM` - Yugoslavian New Dinar (1994–2002) - /// - `YUR` - Yugoslavian Reformed Dinar (1992–1993) - /// - `ZWN` - ZWN - /// - `ZRN` - Zairean New Zaire (1993–1998) - /// - `ZRZ` - Zairean Zaire (1971–1993) - /// - `ZMW` - Zambian Kwacha - /// - `ZMK` - Zambian Kwacha (1968–2012) - /// - `ZWD` - Zimbabwean Dollar (1980–2008) - /// - `ZWR` - Zimbabwean Dollar (2008) - /// - `ZWL` - Zimbabwean Dollar (2009) + /// * `XUA` - ADB Unit of Account + /// * `AFN` - Afghan Afghani + /// * `AFA` - Afghan Afghani (1927–2002) + /// * `ALL` - Albanian Lek + /// * `ALK` - Albanian Lek (1946–1965) + /// * `DZD` - Algerian Dinar + /// * `ADP` - Andorran Peseta + /// * `AOA` - Angolan Kwanza + /// * `AOK` - Angolan Kwanza (1977–1991) + /// * `AON` - Angolan New Kwanza (1990–2000) + /// * `AOR` - Angolan Readjusted Kwanza (1995–1999) + /// * `ARA` - Argentine Austral + /// * `ARS` - Argentine Peso + /// * `ARM` - Argentine Peso (1881–1970) + /// * `ARP` - Argentine Peso (1983–1985) + /// * `ARL` - Argentine Peso Ley (1970–1983) + /// * `AMD` - Armenian Dram + /// * `AWG` - Aruban Florin + /// * `AUD` - Australian Dollar + /// * `ATS` - Austrian Schilling + /// * `AZN` - Azerbaijani Manat + /// * `AZM` - Azerbaijani Manat (1993–2006) + /// * `BSD` - Bahamian Dollar + /// * `BHD` - Bahraini Dinar + /// * `BDT` - Bangladeshi Taka + /// * `BBD` - Barbadian Dollar + /// * `BYN` - Belarusian Ruble + /// * `BYB` - Belarusian Ruble (1994–1999) + /// * `BYR` - Belarusian Ruble (2000–2016) + /// * `BEF` - Belgian Franc + /// * `BEC` - Belgian Franc (convertible) + /// * `BEL` - Belgian Franc (financial) + /// * `BZD` - Belize Dollar + /// * `BMD` - Bermudan Dollar + /// * `BTN` - Bhutanese Ngultrum + /// * `BOB` - Bolivian Boliviano + /// * `BOL` - Bolivian Boliviano (1863–1963) + /// * `BOV` - Bolivian Mvdol + /// * `BOP` - Bolivian Peso + /// * `BAM` - Bosnia-Herzegovina Convertible Mark + /// * `BAD` - Bosnia-Herzegovina Dinar (1992–1994) + /// * `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) + /// * `BWP` - Botswanan Pula + /// * `BRC` - Brazilian Cruzado (1986–1989) + /// * `BRZ` - Brazilian Cruzeiro (1942–1967) + /// * `BRE` - Brazilian Cruzeiro (1990–1993) + /// * `BRR` - Brazilian Cruzeiro (1993–1994) + /// * `BRN` - Brazilian New Cruzado (1989–1990) + /// * `BRB` - Brazilian New Cruzeiro (1967–1986) + /// * `BRL` - Brazilian Real + /// * `GBP` - British Pound + /// * `BND` - Brunei Dollar + /// * `BGL` - Bulgarian Hard Lev + /// * `BGN` - Bulgarian Lev + /// * `BGO` - Bulgarian Lev (1879–1952) + /// * `BGM` - Bulgarian Socialist Lev + /// * `BUK` - Burmese Kyat + /// * `BIF` - Burundian Franc + /// * `XPF` - CFP Franc + /// * `KHR` - Cambodian Riel + /// * `CAD` - Canadian Dollar + /// * `CVE` - Cape Verdean Escudo + /// * `KYD` - Cayman Islands Dollar + /// * `XAF` - Central African CFA Franc + /// * `CLE` - Chilean Escudo + /// * `CLP` - Chilean Peso + /// * `CLF` - Chilean Unit of Account (UF) + /// * `CNX` - Chinese People’s Bank Dollar + /// * `CNY` - Chinese Yuan + /// * `CNH` - Chinese Yuan (offshore) + /// * `COP` - Colombian Peso + /// * `COU` - Colombian Real Value Unit + /// * `KMF` - Comorian Franc + /// * `CDF` - Congolese Franc + /// * `CRC` - Costa Rican Colón + /// * `HRD` - Croatian Dinar + /// * `HRK` - Croatian Kuna + /// * `CUC` - Cuban Convertible Peso + /// * `CUP` - Cuban Peso + /// * `CYP` - Cypriot Pound + /// * `CZK` - Czech Koruna + /// * `CSK` - Czechoslovak Hard Koruna + /// * `DKK` - Danish Krone + /// * `DJF` - Djiboutian Franc + /// * `DOP` - Dominican Peso + /// * `NLG` - Dutch Guilder + /// * `XCD` - East Caribbean Dollar + /// * `DDM` - East German Mark + /// * `ECS` - Ecuadorian Sucre + /// * `ECV` - Ecuadorian Unit of Constant Value + /// * `EGP` - Egyptian Pound + /// * `GQE` - Equatorial Guinean Ekwele + /// * `ERN` - Eritrean Nakfa + /// * `EEK` - Estonian Kroon + /// * `ETB` - Ethiopian Birr + /// * `EUR` - Euro + /// * `XBA` - European Composite Unit + /// * `XEU` - European Currency Unit + /// * `XBB` - European Monetary Unit + /// * `XBC` - European Unit of Account (XBC) + /// * `XBD` - European Unit of Account (XBD) + /// * `FKP` - Falkland Islands Pound + /// * `FJD` - Fijian Dollar + /// * `FIM` - Finnish Markka + /// * `FRF` - French Franc + /// * `XFO` - French Gold Franc + /// * `XFU` - French UIC-Franc + /// * `GMD` - Gambian Dalasi + /// * `GEK` - Georgian Kupon Larit + /// * `GEL` - Georgian Lari + /// * `DEM` - German Mark + /// * `GHS` - Ghanaian Cedi + /// * `GHC` - Ghanaian Cedi (1979–2007) + /// * `GIP` - Gibraltar Pound + /// * `XAU` - Gold + /// * `GRD` - Greek Drachma + /// * `GTQ` - Guatemalan Quetzal + /// * `GWP` - Guinea-Bissau Peso + /// * `GNF` - Guinean Franc + /// * `GNS` - Guinean Syli + /// * `GYD` - Guyanaese Dollar + /// * `HTG` - Haitian Gourde + /// * `HNL` - Honduran Lempira + /// * `HKD` - Hong Kong Dollar + /// * `HUF` - Hungarian Forint + /// * `IMP` - IMP + /// * `ISK` - Icelandic Króna + /// * `ISJ` - Icelandic Króna (1918–1981) + /// * `INR` - Indian Rupee + /// * `IDR` - Indonesian Rupiah + /// * `IRR` - Iranian Rial + /// * `IQD` - Iraqi Dinar + /// * `IEP` - Irish Pound + /// * `ILS` - Israeli New Shekel + /// * `ILP` - Israeli Pound + /// * `ILR` - Israeli Shekel (1980–1985) + /// * `ITL` - Italian Lira + /// * `JMD` - Jamaican Dollar + /// * `JPY` - Japanese Yen + /// * `JOD` - Jordanian Dinar + /// * `KZT` - Kazakhstani Tenge + /// * `KES` - Kenyan Shilling + /// * `KWD` - Kuwaiti Dinar + /// * `KGS` - Kyrgystani Som + /// * `LAK` - Laotian Kip + /// * `LVL` - Latvian Lats + /// * `LVR` - Latvian Ruble + /// * `LBP` - Lebanese Pound + /// * `LSL` - Lesotho Loti + /// * `LRD` - Liberian Dollar + /// * `LYD` - Libyan Dinar + /// * `LTL` - Lithuanian Litas + /// * `LTT` - Lithuanian Talonas + /// * `LUL` - Luxembourg Financial Franc + /// * `LUC` - Luxembourgian Convertible Franc + /// * `LUF` - Luxembourgian Franc + /// * `MOP` - Macanese Pataca + /// * `MKD` - Macedonian Denar + /// * `MKN` - Macedonian Denar (1992–1993) + /// * `MGA` - Malagasy Ariary + /// * `MGF` - Malagasy Franc + /// * `MWK` - Malawian Kwacha + /// * `MYR` - Malaysian Ringgit + /// * `MVR` - Maldivian Rufiyaa + /// * `MVP` - Maldivian Rupee (1947–1981) + /// * `MLF` - Malian Franc + /// * `MTL` - Maltese Lira + /// * `MTP` - Maltese Pound + /// * `MRU` - Mauritanian Ouguiya + /// * `MRO` - Mauritanian Ouguiya (1973–2017) + /// * `MUR` - Mauritian Rupee + /// * `MXV` - Mexican Investment Unit + /// * `MXN` - Mexican Peso + /// * `MXP` - Mexican Silver Peso (1861–1992) + /// * `MDC` - Moldovan Cupon + /// * `MDL` - Moldovan Leu + /// * `MCF` - Monegasque Franc + /// * `MNT` - Mongolian Tugrik + /// * `MAD` - Moroccan Dirham + /// * `MAF` - Moroccan Franc + /// * `MZE` - Mozambican Escudo + /// * `MZN` - Mozambican Metical + /// * `MZM` - Mozambican Metical (1980–2006) + /// * `MMK` - Myanmar Kyat + /// * `NAD` - Namibian Dollar + /// * `NPR` - Nepalese Rupee + /// * `ANG` - Netherlands Antillean Guilder + /// * `TWD` - New Taiwan Dollar + /// * `NZD` - New Zealand Dollar + /// * `NIO` - Nicaraguan Córdoba + /// * `NIC` - Nicaraguan Córdoba (1988–1991) + /// * `NGN` - Nigerian Naira + /// * `KPW` - North Korean Won + /// * `NOK` - Norwegian Krone + /// * `OMR` - Omani Rial + /// * `PKR` - Pakistani Rupee + /// * `XPD` - Palladium + /// * `PAB` - Panamanian Balboa + /// * `PGK` - Papua New Guinean Kina + /// * `PYG` - Paraguayan Guarani + /// * `PEI` - Peruvian Inti + /// * `PEN` - Peruvian Sol + /// * `PES` - Peruvian Sol (1863–1965) + /// * `PHP` - Philippine Peso + /// * `XPT` - Platinum + /// * `PLN` - Polish Zloty + /// * `PLZ` - Polish Zloty (1950–1995) + /// * `PTE` - Portuguese Escudo + /// * `GWE` - Portuguese Guinea Escudo + /// * `QAR` - Qatari Rial + /// * `XRE` - RINET Funds + /// * `RHD` - Rhodesian Dollar + /// * `RON` - Romanian Leu + /// * `ROL` - Romanian Leu (1952–2006) + /// * `RUB` - Russian Ruble + /// * `RUR` - Russian Ruble (1991–1998) + /// * `RWF` - Rwandan Franc + /// * `SVC` - Salvadoran Colón + /// * `WST` - Samoan Tala + /// * `SAR` - Saudi Riyal + /// * `RSD` - Serbian Dinar + /// * `CSD` - Serbian Dinar (2002–2006) + /// * `SCR` - Seychellois Rupee + /// * `SLL` - Sierra Leonean Leone + /// * `XAG` - Silver + /// * `SGD` - Singapore Dollar + /// * `SKK` - Slovak Koruna + /// * `SIT` - Slovenian Tolar + /// * `SBD` - Solomon Islands Dollar + /// * `SOS` - Somali Shilling + /// * `ZAR` - South African Rand + /// * `ZAL` - South African Rand (financial) + /// * `KRH` - South Korean Hwan (1953–1962) + /// * `KRW` - South Korean Won + /// * `KRO` - South Korean Won (1945–1953) + /// * `SSP` - South Sudanese Pound + /// * `SUR` - Soviet Rouble + /// * `ESP` - Spanish Peseta + /// * `ESA` - Spanish Peseta (A account) + /// * `ESB` - Spanish Peseta (convertible account) + /// * `XDR` - Special Drawing Rights + /// * `LKR` - Sri Lankan Rupee + /// * `SHP` - St. Helena Pound + /// * `XSU` - Sucre + /// * `SDD` - Sudanese Dinar (1992–2007) + /// * `SDG` - Sudanese Pound + /// * `SDP` - Sudanese Pound (1957–1998) + /// * `SRD` - Surinamese Dollar + /// * `SRG` - Surinamese Guilder + /// * `SZL` - Swazi Lilangeni + /// * `SEK` - Swedish Krona + /// * `CHF` - Swiss Franc + /// * `SYP` - Syrian Pound + /// * `STN` - São Tomé & Príncipe Dobra + /// * `STD` - São Tomé & Príncipe Dobra (1977–2017) + /// * `TVD` - TVD + /// * `TJR` - Tajikistani Ruble + /// * `TJS` - Tajikistani Somoni + /// * `TZS` - Tanzanian Shilling + /// * `XTS` - Testing Currency Code + /// * `THB` - Thai Baht + /// * `XXX` - The codes assigned for transactions where no currency is involved + /// * `TPE` - Timorese Escudo + /// * `TOP` - Tongan Paʻanga + /// * `TTD` - Trinidad & Tobago Dollar + /// * `TND` - Tunisian Dinar + /// * `TRY` - Turkish Lira + /// * `TRL` - Turkish Lira (1922–2005) + /// * `TMT` - Turkmenistani Manat + /// * `TMM` - Turkmenistani Manat (1993–2009) + /// * `USD` - US Dollar + /// * `USN` - US Dollar (Next day) + /// * `USS` - US Dollar (Same day) + /// * `UGX` - Ugandan Shilling + /// * `UGS` - Ugandan Shilling (1966–1987) + /// * `UAH` - Ukrainian Hryvnia + /// * `UAK` - Ukrainian Karbovanets + /// * `AED` - United Arab Emirates Dirham + /// * `UYW` - Uruguayan Nominal Wage Index Unit + /// * `UYU` - Uruguayan Peso + /// * `UYP` - Uruguayan Peso (1975–1993) + /// * `UYI` - Uruguayan Peso (Indexed Units) + /// * `UZS` - Uzbekistani Som + /// * `VUV` - Vanuatu Vatu + /// * `VES` - Venezuelan Bolívar + /// * `VEB` - Venezuelan Bolívar (1871–2008) + /// * `VEF` - Venezuelan Bolívar (2008–2018) + /// * `VND` - Vietnamese Dong + /// * `VNN` - Vietnamese Dong (1978–1985) + /// * `CHE` - WIR Euro + /// * `CHW` - WIR Franc + /// * `XOF` - West African CFA Franc + /// * `YDD` - Yemeni Dinar + /// * `YER` - Yemeni Rial + /// * `YUN` - Yugoslavian Convertible Dinar (1990–1992) + /// * `YUD` - Yugoslavian Hard Dinar (1966–1990) + /// * `YUM` - Yugoslavian New Dinar (1994–2002) + /// * `YUR` - Yugoslavian Reformed Dinar (1992–1993) + /// * `ZWN` - ZWN + /// * `ZRN` - Zairean New Zaire (1993–1998) + /// * `ZRZ` - Zairean Zaire (1971–1993) + /// * `ZMW` - Zambian Kwacha + /// * `ZMK` - Zambian Kwacha (1968–2012) + /// * `ZWD` - Zimbabwean Dollar (1980–2008) + /// * `ZWR` - Zimbabwean Dollar (2008) + /// * `ZWL` - Zimbabwean Dollar (2009) /// [JsonPropertyName("currency")] public TransactionCurrencyEnum? Currency { get; set; } @@ -382,6 +398,7 @@ public record JournalEntry [JsonPropertyName("inclusive_of_tax")] public bool? InclusiveOfTax { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("lines")] public IEnumerable? Lines { get; set; } @@ -397,14 +414,15 @@ public record JournalEntry /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } /// /// The journal's posting status. /// - /// - `UNPOSTED` - UNPOSTED - /// - `POSTED` - POSTED + /// * `UNPOSTED` - UNPOSTED + /// * `POSTED` - POSTED /// [JsonPropertyName("posting_status")] public PostingStatusEnum? PostingStatus { get; set; } @@ -427,15 +445,29 @@ public record JournalEntry [JsonPropertyName("remote_updated_at")] public DateTime? RemoteUpdatedAt { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_fields")] public IEnumerable? RemoteFields { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/JournalEntryRequest.cs b/src/Merge.Client/Accounting/Types/JournalEntryRequest.cs index 01801fde..c89a39ca 100644 --- a/src/Merge.Client/Accounting/Types/JournalEntryRequest.cs +++ b/src/Merge.Client/Accounting/Types/JournalEntryRequest.cs @@ -1,9 +1,18 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Accounting; +/// +/// # The JournalEntry Object +/// ### Description +/// The `JournalEntry` object is used to get a record of all manually created entries made in a company’s general ledger. The journal line items for each journal entry should sum to zero. +/// +/// ### Usage Example +/// Fetch from the `GET JournalEntry` endpoint and view a company's journey entry. +/// public record JournalEntryRequest { /// @@ -27,312 +36,312 @@ public record JournalEntryRequest /// /// The journal's currency. /// - /// - `XUA` - ADB Unit of Account - /// - `AFN` - Afghan Afghani - /// - `AFA` - Afghan Afghani (1927–2002) - /// - `ALL` - Albanian Lek - /// - `ALK` - Albanian Lek (1946–1965) - /// - `DZD` - Algerian Dinar - /// - `ADP` - Andorran Peseta - /// - `AOA` - Angolan Kwanza - /// - `AOK` - Angolan Kwanza (1977–1991) - /// - `AON` - Angolan New Kwanza (1990–2000) - /// - `AOR` - Angolan Readjusted Kwanza (1995–1999) - /// - `ARA` - Argentine Austral - /// - `ARS` - Argentine Peso - /// - `ARM` - Argentine Peso (1881–1970) - /// - `ARP` - Argentine Peso (1983–1985) - /// - `ARL` - Argentine Peso Ley (1970–1983) - /// - `AMD` - Armenian Dram - /// - `AWG` - Aruban Florin - /// - `AUD` - Australian Dollar - /// - `ATS` - Austrian Schilling - /// - `AZN` - Azerbaijani Manat - /// - `AZM` - Azerbaijani Manat (1993–2006) - /// - `BSD` - Bahamian Dollar - /// - `BHD` - Bahraini Dinar - /// - `BDT` - Bangladeshi Taka - /// - `BBD` - Barbadian Dollar - /// - `BYN` - Belarusian Ruble - /// - `BYB` - Belarusian Ruble (1994–1999) - /// - `BYR` - Belarusian Ruble (2000–2016) - /// - `BEF` - Belgian Franc - /// - `BEC` - Belgian Franc (convertible) - /// - `BEL` - Belgian Franc (financial) - /// - `BZD` - Belize Dollar - /// - `BMD` - Bermudan Dollar - /// - `BTN` - Bhutanese Ngultrum - /// - `BOB` - Bolivian Boliviano - /// - `BOL` - Bolivian Boliviano (1863–1963) - /// - `BOV` - Bolivian Mvdol - /// - `BOP` - Bolivian Peso - /// - `BAM` - Bosnia-Herzegovina Convertible Mark - /// - `BAD` - Bosnia-Herzegovina Dinar (1992–1994) - /// - `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) - /// - `BWP` - Botswanan Pula - /// - `BRC` - Brazilian Cruzado (1986–1989) - /// - `BRZ` - Brazilian Cruzeiro (1942–1967) - /// - `BRE` - Brazilian Cruzeiro (1990–1993) - /// - `BRR` - Brazilian Cruzeiro (1993–1994) - /// - `BRN` - Brazilian New Cruzado (1989–1990) - /// - `BRB` - Brazilian New Cruzeiro (1967–1986) - /// - `BRL` - Brazilian Real - /// - `GBP` - British Pound - /// - `BND` - Brunei Dollar - /// - `BGL` - Bulgarian Hard Lev - /// - `BGN` - Bulgarian Lev - /// - `BGO` - Bulgarian Lev (1879–1952) - /// - `BGM` - Bulgarian Socialist Lev - /// - `BUK` - Burmese Kyat - /// - `BIF` - Burundian Franc - /// - `XPF` - CFP Franc - /// - `KHR` - Cambodian Riel - /// - `CAD` - Canadian Dollar - /// - `CVE` - Cape Verdean Escudo - /// - `KYD` - Cayman Islands Dollar - /// - `XAF` - Central African CFA Franc - /// - `CLE` - Chilean Escudo - /// - `CLP` - Chilean Peso - /// - `CLF` - Chilean Unit of Account (UF) - /// - `CNX` - Chinese People’s Bank Dollar - /// - `CNY` - Chinese Yuan - /// - `CNH` - Chinese Yuan (offshore) - /// - `COP` - Colombian Peso - /// - `COU` - Colombian Real Value Unit - /// - `KMF` - Comorian Franc - /// - `CDF` - Congolese Franc - /// - `CRC` - Costa Rican Colón - /// - `HRD` - Croatian Dinar - /// - `HRK` - Croatian Kuna - /// - `CUC` - Cuban Convertible Peso - /// - `CUP` - Cuban Peso - /// - `CYP` - Cypriot Pound - /// - `CZK` - Czech Koruna - /// - `CSK` - Czechoslovak Hard Koruna - /// - `DKK` - Danish Krone - /// - `DJF` - Djiboutian Franc - /// - `DOP` - Dominican Peso - /// - `NLG` - Dutch Guilder - /// - `XCD` - East Caribbean Dollar - /// - `DDM` - East German Mark - /// - `ECS` - Ecuadorian Sucre - /// - `ECV` - Ecuadorian Unit of Constant Value - /// - `EGP` - Egyptian Pound - /// - `GQE` - Equatorial Guinean Ekwele - /// - `ERN` - Eritrean Nakfa - /// - `EEK` - Estonian Kroon - /// - `ETB` - Ethiopian Birr - /// - `EUR` - Euro - /// - `XBA` - European Composite Unit - /// - `XEU` - European Currency Unit - /// - `XBB` - European Monetary Unit - /// - `XBC` - European Unit of Account (XBC) - /// - `XBD` - European Unit of Account (XBD) - /// - `FKP` - Falkland Islands Pound - /// - `FJD` - Fijian Dollar - /// - `FIM` - Finnish Markka - /// - `FRF` - French Franc - /// - `XFO` - French Gold Franc - /// - `XFU` - French UIC-Franc - /// - `GMD` - Gambian Dalasi - /// - `GEK` - Georgian Kupon Larit - /// - `GEL` - Georgian Lari - /// - `DEM` - German Mark - /// - `GHS` - Ghanaian Cedi - /// - `GHC` - Ghanaian Cedi (1979–2007) - /// - `GIP` - Gibraltar Pound - /// - `XAU` - Gold - /// - `GRD` - Greek Drachma - /// - `GTQ` - Guatemalan Quetzal - /// - `GWP` - Guinea-Bissau Peso - /// - `GNF` - Guinean Franc - /// - `GNS` - Guinean Syli - /// - `GYD` - Guyanaese Dollar - /// - `HTG` - Haitian Gourde - /// - `HNL` - Honduran Lempira - /// - `HKD` - Hong Kong Dollar - /// - `HUF` - Hungarian Forint - /// - `IMP` - IMP - /// - `ISK` - Icelandic Króna - /// - `ISJ` - Icelandic Króna (1918–1981) - /// - `INR` - Indian Rupee - /// - `IDR` - Indonesian Rupiah - /// - `IRR` - Iranian Rial - /// - `IQD` - Iraqi Dinar - /// - `IEP` - Irish Pound - /// - `ILS` - Israeli New Shekel - /// - `ILP` - Israeli Pound - /// - `ILR` - Israeli Shekel (1980–1985) - /// - `ITL` - Italian Lira - /// - `JMD` - Jamaican Dollar - /// - `JPY` - Japanese Yen - /// - `JOD` - Jordanian Dinar - /// - `KZT` - Kazakhstani Tenge - /// - `KES` - Kenyan Shilling - /// - `KWD` - Kuwaiti Dinar - /// - `KGS` - Kyrgystani Som - /// - `LAK` - Laotian Kip - /// - `LVL` - Latvian Lats - /// - `LVR` - Latvian Ruble - /// - `LBP` - Lebanese Pound - /// - `LSL` - Lesotho Loti - /// - `LRD` - Liberian Dollar - /// - `LYD` - Libyan Dinar - /// - `LTL` - Lithuanian Litas - /// - `LTT` - Lithuanian Talonas - /// - `LUL` - Luxembourg Financial Franc - /// - `LUC` - Luxembourgian Convertible Franc - /// - `LUF` - Luxembourgian Franc - /// - `MOP` - Macanese Pataca - /// - `MKD` - Macedonian Denar - /// - `MKN` - Macedonian Denar (1992–1993) - /// - `MGA` - Malagasy Ariary - /// - `MGF` - Malagasy Franc - /// - `MWK` - Malawian Kwacha - /// - `MYR` - Malaysian Ringgit - /// - `MVR` - Maldivian Rufiyaa - /// - `MVP` - Maldivian Rupee (1947–1981) - /// - `MLF` - Malian Franc - /// - `MTL` - Maltese Lira - /// - `MTP` - Maltese Pound - /// - `MRU` - Mauritanian Ouguiya - /// - `MRO` - Mauritanian Ouguiya (1973–2017) - /// - `MUR` - Mauritian Rupee - /// - `MXV` - Mexican Investment Unit - /// - `MXN` - Mexican Peso - /// - `MXP` - Mexican Silver Peso (1861–1992) - /// - `MDC` - Moldovan Cupon - /// - `MDL` - Moldovan Leu - /// - `MCF` - Monegasque Franc - /// - `MNT` - Mongolian Tugrik - /// - `MAD` - Moroccan Dirham - /// - `MAF` - Moroccan Franc - /// - `MZE` - Mozambican Escudo - /// - `MZN` - Mozambican Metical - /// - `MZM` - Mozambican Metical (1980–2006) - /// - `MMK` - Myanmar Kyat - /// - `NAD` - Namibian Dollar - /// - `NPR` - Nepalese Rupee - /// - `ANG` - Netherlands Antillean Guilder - /// - `TWD` - New Taiwan Dollar - /// - `NZD` - New Zealand Dollar - /// - `NIO` - Nicaraguan Córdoba - /// - `NIC` - Nicaraguan Córdoba (1988–1991) - /// - `NGN` - Nigerian Naira - /// - `KPW` - North Korean Won - /// - `NOK` - Norwegian Krone - /// - `OMR` - Omani Rial - /// - `PKR` - Pakistani Rupee - /// - `XPD` - Palladium - /// - `PAB` - Panamanian Balboa - /// - `PGK` - Papua New Guinean Kina - /// - `PYG` - Paraguayan Guarani - /// - `PEI` - Peruvian Inti - /// - `PEN` - Peruvian Sol - /// - `PES` - Peruvian Sol (1863–1965) - /// - `PHP` - Philippine Peso - /// - `XPT` - Platinum - /// - `PLN` - Polish Zloty - /// - `PLZ` - Polish Zloty (1950–1995) - /// - `PTE` - Portuguese Escudo - /// - `GWE` - Portuguese Guinea Escudo - /// - `QAR` - Qatari Rial - /// - `XRE` - RINET Funds - /// - `RHD` - Rhodesian Dollar - /// - `RON` - Romanian Leu - /// - `ROL` - Romanian Leu (1952–2006) - /// - `RUB` - Russian Ruble - /// - `RUR` - Russian Ruble (1991–1998) - /// - `RWF` - Rwandan Franc - /// - `SVC` - Salvadoran Colón - /// - `WST` - Samoan Tala - /// - `SAR` - Saudi Riyal - /// - `RSD` - Serbian Dinar - /// - `CSD` - Serbian Dinar (2002–2006) - /// - `SCR` - Seychellois Rupee - /// - `SLL` - Sierra Leonean Leone - /// - `XAG` - Silver - /// - `SGD` - Singapore Dollar - /// - `SKK` - Slovak Koruna - /// - `SIT` - Slovenian Tolar - /// - `SBD` - Solomon Islands Dollar - /// - `SOS` - Somali Shilling - /// - `ZAR` - South African Rand - /// - `ZAL` - South African Rand (financial) - /// - `KRH` - South Korean Hwan (1953–1962) - /// - `KRW` - South Korean Won - /// - `KRO` - South Korean Won (1945–1953) - /// - `SSP` - South Sudanese Pound - /// - `SUR` - Soviet Rouble - /// - `ESP` - Spanish Peseta - /// - `ESA` - Spanish Peseta (A account) - /// - `ESB` - Spanish Peseta (convertible account) - /// - `XDR` - Special Drawing Rights - /// - `LKR` - Sri Lankan Rupee - /// - `SHP` - St. Helena Pound - /// - `XSU` - Sucre - /// - `SDD` - Sudanese Dinar (1992–2007) - /// - `SDG` - Sudanese Pound - /// - `SDP` - Sudanese Pound (1957–1998) - /// - `SRD` - Surinamese Dollar - /// - `SRG` - Surinamese Guilder - /// - `SZL` - Swazi Lilangeni - /// - `SEK` - Swedish Krona - /// - `CHF` - Swiss Franc - /// - `SYP` - Syrian Pound - /// - `STN` - São Tomé & Príncipe Dobra - /// - `STD` - São Tomé & Príncipe Dobra (1977–2017) - /// - `TVD` - TVD - /// - `TJR` - Tajikistani Ruble - /// - `TJS` - Tajikistani Somoni - /// - `TZS` - Tanzanian Shilling - /// - `XTS` - Testing Currency Code - /// - `THB` - Thai Baht - /// - `XXX` - The codes assigned for transactions where no currency is involved - /// - `TPE` - Timorese Escudo - /// - `TOP` - Tongan Paʻanga - /// - `TTD` - Trinidad & Tobago Dollar - /// - `TND` - Tunisian Dinar - /// - `TRY` - Turkish Lira - /// - `TRL` - Turkish Lira (1922–2005) - /// - `TMT` - Turkmenistani Manat - /// - `TMM` - Turkmenistani Manat (1993–2009) - /// - `USD` - US Dollar - /// - `USN` - US Dollar (Next day) - /// - `USS` - US Dollar (Same day) - /// - `UGX` - Ugandan Shilling - /// - `UGS` - Ugandan Shilling (1966–1987) - /// - `UAH` - Ukrainian Hryvnia - /// - `UAK` - Ukrainian Karbovanets - /// - `AED` - United Arab Emirates Dirham - /// - `UYW` - Uruguayan Nominal Wage Index Unit - /// - `UYU` - Uruguayan Peso - /// - `UYP` - Uruguayan Peso (1975–1993) - /// - `UYI` - Uruguayan Peso (Indexed Units) - /// - `UZS` - Uzbekistani Som - /// - `VUV` - Vanuatu Vatu - /// - `VES` - Venezuelan Bolívar - /// - `VEB` - Venezuelan Bolívar (1871–2008) - /// - `VEF` - Venezuelan Bolívar (2008–2018) - /// - `VND` - Vietnamese Dong - /// - `VNN` - Vietnamese Dong (1978–1985) - /// - `CHE` - WIR Euro - /// - `CHW` - WIR Franc - /// - `XOF` - West African CFA Franc - /// - `YDD` - Yemeni Dinar - /// - `YER` - Yemeni Rial - /// - `YUN` - Yugoslavian Convertible Dinar (1990–1992) - /// - `YUD` - Yugoslavian Hard Dinar (1966–1990) - /// - `YUM` - Yugoslavian New Dinar (1994–2002) - /// - `YUR` - Yugoslavian Reformed Dinar (1992–1993) - /// - `ZWN` - ZWN - /// - `ZRN` - Zairean New Zaire (1993–1998) - /// - `ZRZ` - Zairean Zaire (1971–1993) - /// - `ZMW` - Zambian Kwacha - /// - `ZMK` - Zambian Kwacha (1968–2012) - /// - `ZWD` - Zimbabwean Dollar (1980–2008) - /// - `ZWR` - Zimbabwean Dollar (2008) - /// - `ZWL` - Zimbabwean Dollar (2009) + /// * `XUA` - ADB Unit of Account + /// * `AFN` - Afghan Afghani + /// * `AFA` - Afghan Afghani (1927–2002) + /// * `ALL` - Albanian Lek + /// * `ALK` - Albanian Lek (1946–1965) + /// * `DZD` - Algerian Dinar + /// * `ADP` - Andorran Peseta + /// * `AOA` - Angolan Kwanza + /// * `AOK` - Angolan Kwanza (1977–1991) + /// * `AON` - Angolan New Kwanza (1990–2000) + /// * `AOR` - Angolan Readjusted Kwanza (1995–1999) + /// * `ARA` - Argentine Austral + /// * `ARS` - Argentine Peso + /// * `ARM` - Argentine Peso (1881–1970) + /// * `ARP` - Argentine Peso (1983–1985) + /// * `ARL` - Argentine Peso Ley (1970–1983) + /// * `AMD` - Armenian Dram + /// * `AWG` - Aruban Florin + /// * `AUD` - Australian Dollar + /// * `ATS` - Austrian Schilling + /// * `AZN` - Azerbaijani Manat + /// * `AZM` - Azerbaijani Manat (1993–2006) + /// * `BSD` - Bahamian Dollar + /// * `BHD` - Bahraini Dinar + /// * `BDT` - Bangladeshi Taka + /// * `BBD` - Barbadian Dollar + /// * `BYN` - Belarusian Ruble + /// * `BYB` - Belarusian Ruble (1994–1999) + /// * `BYR` - Belarusian Ruble (2000–2016) + /// * `BEF` - Belgian Franc + /// * `BEC` - Belgian Franc (convertible) + /// * `BEL` - Belgian Franc (financial) + /// * `BZD` - Belize Dollar + /// * `BMD` - Bermudan Dollar + /// * `BTN` - Bhutanese Ngultrum + /// * `BOB` - Bolivian Boliviano + /// * `BOL` - Bolivian Boliviano (1863–1963) + /// * `BOV` - Bolivian Mvdol + /// * `BOP` - Bolivian Peso + /// * `BAM` - Bosnia-Herzegovina Convertible Mark + /// * `BAD` - Bosnia-Herzegovina Dinar (1992–1994) + /// * `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) + /// * `BWP` - Botswanan Pula + /// * `BRC` - Brazilian Cruzado (1986–1989) + /// * `BRZ` - Brazilian Cruzeiro (1942–1967) + /// * `BRE` - Brazilian Cruzeiro (1990–1993) + /// * `BRR` - Brazilian Cruzeiro (1993–1994) + /// * `BRN` - Brazilian New Cruzado (1989–1990) + /// * `BRB` - Brazilian New Cruzeiro (1967–1986) + /// * `BRL` - Brazilian Real + /// * `GBP` - British Pound + /// * `BND` - Brunei Dollar + /// * `BGL` - Bulgarian Hard Lev + /// * `BGN` - Bulgarian Lev + /// * `BGO` - Bulgarian Lev (1879–1952) + /// * `BGM` - Bulgarian Socialist Lev + /// * `BUK` - Burmese Kyat + /// * `BIF` - Burundian Franc + /// * `XPF` - CFP Franc + /// * `KHR` - Cambodian Riel + /// * `CAD` - Canadian Dollar + /// * `CVE` - Cape Verdean Escudo + /// * `KYD` - Cayman Islands Dollar + /// * `XAF` - Central African CFA Franc + /// * `CLE` - Chilean Escudo + /// * `CLP` - Chilean Peso + /// * `CLF` - Chilean Unit of Account (UF) + /// * `CNX` - Chinese People’s Bank Dollar + /// * `CNY` - Chinese Yuan + /// * `CNH` - Chinese Yuan (offshore) + /// * `COP` - Colombian Peso + /// * `COU` - Colombian Real Value Unit + /// * `KMF` - Comorian Franc + /// * `CDF` - Congolese Franc + /// * `CRC` - Costa Rican Colón + /// * `HRD` - Croatian Dinar + /// * `HRK` - Croatian Kuna + /// * `CUC` - Cuban Convertible Peso + /// * `CUP` - Cuban Peso + /// * `CYP` - Cypriot Pound + /// * `CZK` - Czech Koruna + /// * `CSK` - Czechoslovak Hard Koruna + /// * `DKK` - Danish Krone + /// * `DJF` - Djiboutian Franc + /// * `DOP` - Dominican Peso + /// * `NLG` - Dutch Guilder + /// * `XCD` - East Caribbean Dollar + /// * `DDM` - East German Mark + /// * `ECS` - Ecuadorian Sucre + /// * `ECV` - Ecuadorian Unit of Constant Value + /// * `EGP` - Egyptian Pound + /// * `GQE` - Equatorial Guinean Ekwele + /// * `ERN` - Eritrean Nakfa + /// * `EEK` - Estonian Kroon + /// * `ETB` - Ethiopian Birr + /// * `EUR` - Euro + /// * `XBA` - European Composite Unit + /// * `XEU` - European Currency Unit + /// * `XBB` - European Monetary Unit + /// * `XBC` - European Unit of Account (XBC) + /// * `XBD` - European Unit of Account (XBD) + /// * `FKP` - Falkland Islands Pound + /// * `FJD` - Fijian Dollar + /// * `FIM` - Finnish Markka + /// * `FRF` - French Franc + /// * `XFO` - French Gold Franc + /// * `XFU` - French UIC-Franc + /// * `GMD` - Gambian Dalasi + /// * `GEK` - Georgian Kupon Larit + /// * `GEL` - Georgian Lari + /// * `DEM` - German Mark + /// * `GHS` - Ghanaian Cedi + /// * `GHC` - Ghanaian Cedi (1979–2007) + /// * `GIP` - Gibraltar Pound + /// * `XAU` - Gold + /// * `GRD` - Greek Drachma + /// * `GTQ` - Guatemalan Quetzal + /// * `GWP` - Guinea-Bissau Peso + /// * `GNF` - Guinean Franc + /// * `GNS` - Guinean Syli + /// * `GYD` - Guyanaese Dollar + /// * `HTG` - Haitian Gourde + /// * `HNL` - Honduran Lempira + /// * `HKD` - Hong Kong Dollar + /// * `HUF` - Hungarian Forint + /// * `IMP` - IMP + /// * `ISK` - Icelandic Króna + /// * `ISJ` - Icelandic Króna (1918–1981) + /// * `INR` - Indian Rupee + /// * `IDR` - Indonesian Rupiah + /// * `IRR` - Iranian Rial + /// * `IQD` - Iraqi Dinar + /// * `IEP` - Irish Pound + /// * `ILS` - Israeli New Shekel + /// * `ILP` - Israeli Pound + /// * `ILR` - Israeli Shekel (1980–1985) + /// * `ITL` - Italian Lira + /// * `JMD` - Jamaican Dollar + /// * `JPY` - Japanese Yen + /// * `JOD` - Jordanian Dinar + /// * `KZT` - Kazakhstani Tenge + /// * `KES` - Kenyan Shilling + /// * `KWD` - Kuwaiti Dinar + /// * `KGS` - Kyrgystani Som + /// * `LAK` - Laotian Kip + /// * `LVL` - Latvian Lats + /// * `LVR` - Latvian Ruble + /// * `LBP` - Lebanese Pound + /// * `LSL` - Lesotho Loti + /// * `LRD` - Liberian Dollar + /// * `LYD` - Libyan Dinar + /// * `LTL` - Lithuanian Litas + /// * `LTT` - Lithuanian Talonas + /// * `LUL` - Luxembourg Financial Franc + /// * `LUC` - Luxembourgian Convertible Franc + /// * `LUF` - Luxembourgian Franc + /// * `MOP` - Macanese Pataca + /// * `MKD` - Macedonian Denar + /// * `MKN` - Macedonian Denar (1992–1993) + /// * `MGA` - Malagasy Ariary + /// * `MGF` - Malagasy Franc + /// * `MWK` - Malawian Kwacha + /// * `MYR` - Malaysian Ringgit + /// * `MVR` - Maldivian Rufiyaa + /// * `MVP` - Maldivian Rupee (1947–1981) + /// * `MLF` - Malian Franc + /// * `MTL` - Maltese Lira + /// * `MTP` - Maltese Pound + /// * `MRU` - Mauritanian Ouguiya + /// * `MRO` - Mauritanian Ouguiya (1973–2017) + /// * `MUR` - Mauritian Rupee + /// * `MXV` - Mexican Investment Unit + /// * `MXN` - Mexican Peso + /// * `MXP` - Mexican Silver Peso (1861–1992) + /// * `MDC` - Moldovan Cupon + /// * `MDL` - Moldovan Leu + /// * `MCF` - Monegasque Franc + /// * `MNT` - Mongolian Tugrik + /// * `MAD` - Moroccan Dirham + /// * `MAF` - Moroccan Franc + /// * `MZE` - Mozambican Escudo + /// * `MZN` - Mozambican Metical + /// * `MZM` - Mozambican Metical (1980–2006) + /// * `MMK` - Myanmar Kyat + /// * `NAD` - Namibian Dollar + /// * `NPR` - Nepalese Rupee + /// * `ANG` - Netherlands Antillean Guilder + /// * `TWD` - New Taiwan Dollar + /// * `NZD` - New Zealand Dollar + /// * `NIO` - Nicaraguan Córdoba + /// * `NIC` - Nicaraguan Córdoba (1988–1991) + /// * `NGN` - Nigerian Naira + /// * `KPW` - North Korean Won + /// * `NOK` - Norwegian Krone + /// * `OMR` - Omani Rial + /// * `PKR` - Pakistani Rupee + /// * `XPD` - Palladium + /// * `PAB` - Panamanian Balboa + /// * `PGK` - Papua New Guinean Kina + /// * `PYG` - Paraguayan Guarani + /// * `PEI` - Peruvian Inti + /// * `PEN` - Peruvian Sol + /// * `PES` - Peruvian Sol (1863–1965) + /// * `PHP` - Philippine Peso + /// * `XPT` - Platinum + /// * `PLN` - Polish Zloty + /// * `PLZ` - Polish Zloty (1950–1995) + /// * `PTE` - Portuguese Escudo + /// * `GWE` - Portuguese Guinea Escudo + /// * `QAR` - Qatari Rial + /// * `XRE` - RINET Funds + /// * `RHD` - Rhodesian Dollar + /// * `RON` - Romanian Leu + /// * `ROL` - Romanian Leu (1952–2006) + /// * `RUB` - Russian Ruble + /// * `RUR` - Russian Ruble (1991–1998) + /// * `RWF` - Rwandan Franc + /// * `SVC` - Salvadoran Colón + /// * `WST` - Samoan Tala + /// * `SAR` - Saudi Riyal + /// * `RSD` - Serbian Dinar + /// * `CSD` - Serbian Dinar (2002–2006) + /// * `SCR` - Seychellois Rupee + /// * `SLL` - Sierra Leonean Leone + /// * `XAG` - Silver + /// * `SGD` - Singapore Dollar + /// * `SKK` - Slovak Koruna + /// * `SIT` - Slovenian Tolar + /// * `SBD` - Solomon Islands Dollar + /// * `SOS` - Somali Shilling + /// * `ZAR` - South African Rand + /// * `ZAL` - South African Rand (financial) + /// * `KRH` - South Korean Hwan (1953–1962) + /// * `KRW` - South Korean Won + /// * `KRO` - South Korean Won (1945–1953) + /// * `SSP` - South Sudanese Pound + /// * `SUR` - Soviet Rouble + /// * `ESP` - Spanish Peseta + /// * `ESA` - Spanish Peseta (A account) + /// * `ESB` - Spanish Peseta (convertible account) + /// * `XDR` - Special Drawing Rights + /// * `LKR` - Sri Lankan Rupee + /// * `SHP` - St. Helena Pound + /// * `XSU` - Sucre + /// * `SDD` - Sudanese Dinar (1992–2007) + /// * `SDG` - Sudanese Pound + /// * `SDP` - Sudanese Pound (1957–1998) + /// * `SRD` - Surinamese Dollar + /// * `SRG` - Surinamese Guilder + /// * `SZL` - Swazi Lilangeni + /// * `SEK` - Swedish Krona + /// * `CHF` - Swiss Franc + /// * `SYP` - Syrian Pound + /// * `STN` - São Tomé & Príncipe Dobra + /// * `STD` - São Tomé & Príncipe Dobra (1977–2017) + /// * `TVD` - TVD + /// * `TJR` - Tajikistani Ruble + /// * `TJS` - Tajikistani Somoni + /// * `TZS` - Tanzanian Shilling + /// * `XTS` - Testing Currency Code + /// * `THB` - Thai Baht + /// * `XXX` - The codes assigned for transactions where no currency is involved + /// * `TPE` - Timorese Escudo + /// * `TOP` - Tongan Paʻanga + /// * `TTD` - Trinidad & Tobago Dollar + /// * `TND` - Tunisian Dinar + /// * `TRY` - Turkish Lira + /// * `TRL` - Turkish Lira (1922–2005) + /// * `TMT` - Turkmenistani Manat + /// * `TMM` - Turkmenistani Manat (1993–2009) + /// * `USD` - US Dollar + /// * `USN` - US Dollar (Next day) + /// * `USS` - US Dollar (Same day) + /// * `UGX` - Ugandan Shilling + /// * `UGS` - Ugandan Shilling (1966–1987) + /// * `UAH` - Ukrainian Hryvnia + /// * `UAK` - Ukrainian Karbovanets + /// * `AED` - United Arab Emirates Dirham + /// * `UYW` - Uruguayan Nominal Wage Index Unit + /// * `UYU` - Uruguayan Peso + /// * `UYP` - Uruguayan Peso (1975–1993) + /// * `UYI` - Uruguayan Peso (Indexed Units) + /// * `UZS` - Uzbekistani Som + /// * `VUV` - Vanuatu Vatu + /// * `VES` - Venezuelan Bolívar + /// * `VEB` - Venezuelan Bolívar (1871–2008) + /// * `VEF` - Venezuelan Bolívar (2008–2018) + /// * `VND` - Vietnamese Dong + /// * `VNN` - Vietnamese Dong (1978–1985) + /// * `CHE` - WIR Euro + /// * `CHW` - WIR Franc + /// * `XOF` - West African CFA Franc + /// * `YDD` - Yemeni Dinar + /// * `YER` - Yemeni Rial + /// * `YUN` - Yugoslavian Convertible Dinar (1990–1992) + /// * `YUD` - Yugoslavian Hard Dinar (1966–1990) + /// * `YUM` - Yugoslavian New Dinar (1994–2002) + /// * `YUR` - Yugoslavian Reformed Dinar (1992–1993) + /// * `ZWN` - ZWN + /// * `ZRN` - Zairean New Zaire (1993–1998) + /// * `ZRZ` - Zairean Zaire (1971–1993) + /// * `ZMW` - Zambian Kwacha + /// * `ZMK` - Zambian Kwacha (1968–2012) + /// * `ZWD` - Zimbabwean Dollar (1980–2008) + /// * `ZWR` - Zimbabwean Dollar (2008) + /// * `ZWL` - Zimbabwean Dollar (2009) /// [JsonPropertyName("currency")] public TransactionCurrencyEnum? Currency { get; set; } @@ -370,21 +379,35 @@ public record JournalEntryRequest /// /// The journal's posting status. /// - /// - `UNPOSTED` - UNPOSTED - /// - `POSTED` - POSTED + /// * `UNPOSTED` - UNPOSTED + /// * `POSTED` - POSTED /// [JsonPropertyName("posting_status")] public PostingStatusEnum? PostingStatus { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("integration_params")] public Dictionary? IntegrationParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("linked_account_params")] public Dictionary? LinkedAccountParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("remote_fields")] public IEnumerable? RemoteFields { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/JournalEntryResponse.cs b/src/Merge.Client/Accounting/Types/JournalEntryResponse.cs index 187ad583..6c98e634 100644 --- a/src/Merge.Client/Accounting/Types/JournalEntryResponse.cs +++ b/src/Merge.Client/Accounting/Types/JournalEntryResponse.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -19,6 +20,17 @@ public record JournalEntryResponse [JsonPropertyName("logs")] public IEnumerable? Logs { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/JournalLine.cs b/src/Merge.Client/Accounting/Types/JournalLine.cs index 1348dabd..f89ffc04 100644 --- a/src/Merge.Client/Accounting/Types/JournalLine.cs +++ b/src/Merge.Client/Accounting/Types/JournalLine.cs @@ -1,11 +1,21 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Accounting; +/// +/// # The JournalLine Object +/// ### Description +/// The `JournalLine` object is used to represent a journal entry's line items. +/// +/// ### Usage Example +/// Fetch from the `GET JournalEntry` endpoint and view the journal entry's line items. +/// public record JournalLine { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -18,12 +28,14 @@ public record JournalLine /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -48,312 +60,312 @@ public record JournalLine /// /// The journal line item's currency. /// - /// - `XUA` - ADB Unit of Account - /// - `AFN` - Afghan Afghani - /// - `AFA` - Afghan Afghani (1927–2002) - /// - `ALL` - Albanian Lek - /// - `ALK` - Albanian Lek (1946–1965) - /// - `DZD` - Algerian Dinar - /// - `ADP` - Andorran Peseta - /// - `AOA` - Angolan Kwanza - /// - `AOK` - Angolan Kwanza (1977–1991) - /// - `AON` - Angolan New Kwanza (1990–2000) - /// - `AOR` - Angolan Readjusted Kwanza (1995–1999) - /// - `ARA` - Argentine Austral - /// - `ARS` - Argentine Peso - /// - `ARM` - Argentine Peso (1881–1970) - /// - `ARP` - Argentine Peso (1983–1985) - /// - `ARL` - Argentine Peso Ley (1970–1983) - /// - `AMD` - Armenian Dram - /// - `AWG` - Aruban Florin - /// - `AUD` - Australian Dollar - /// - `ATS` - Austrian Schilling - /// - `AZN` - Azerbaijani Manat - /// - `AZM` - Azerbaijani Manat (1993–2006) - /// - `BSD` - Bahamian Dollar - /// - `BHD` - Bahraini Dinar - /// - `BDT` - Bangladeshi Taka - /// - `BBD` - Barbadian Dollar - /// - `BYN` - Belarusian Ruble - /// - `BYB` - Belarusian Ruble (1994–1999) - /// - `BYR` - Belarusian Ruble (2000–2016) - /// - `BEF` - Belgian Franc - /// - `BEC` - Belgian Franc (convertible) - /// - `BEL` - Belgian Franc (financial) - /// - `BZD` - Belize Dollar - /// - `BMD` - Bermudan Dollar - /// - `BTN` - Bhutanese Ngultrum - /// - `BOB` - Bolivian Boliviano - /// - `BOL` - Bolivian Boliviano (1863–1963) - /// - `BOV` - Bolivian Mvdol - /// - `BOP` - Bolivian Peso - /// - `BAM` - Bosnia-Herzegovina Convertible Mark - /// - `BAD` - Bosnia-Herzegovina Dinar (1992–1994) - /// - `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) - /// - `BWP` - Botswanan Pula - /// - `BRC` - Brazilian Cruzado (1986–1989) - /// - `BRZ` - Brazilian Cruzeiro (1942–1967) - /// - `BRE` - Brazilian Cruzeiro (1990–1993) - /// - `BRR` - Brazilian Cruzeiro (1993–1994) - /// - `BRN` - Brazilian New Cruzado (1989–1990) - /// - `BRB` - Brazilian New Cruzeiro (1967–1986) - /// - `BRL` - Brazilian Real - /// - `GBP` - British Pound - /// - `BND` - Brunei Dollar - /// - `BGL` - Bulgarian Hard Lev - /// - `BGN` - Bulgarian Lev - /// - `BGO` - Bulgarian Lev (1879–1952) - /// - `BGM` - Bulgarian Socialist Lev - /// - `BUK` - Burmese Kyat - /// - `BIF` - Burundian Franc - /// - `XPF` - CFP Franc - /// - `KHR` - Cambodian Riel - /// - `CAD` - Canadian Dollar - /// - `CVE` - Cape Verdean Escudo - /// - `KYD` - Cayman Islands Dollar - /// - `XAF` - Central African CFA Franc - /// - `CLE` - Chilean Escudo - /// - `CLP` - Chilean Peso - /// - `CLF` - Chilean Unit of Account (UF) - /// - `CNX` - Chinese People’s Bank Dollar - /// - `CNY` - Chinese Yuan - /// - `CNH` - Chinese Yuan (offshore) - /// - `COP` - Colombian Peso - /// - `COU` - Colombian Real Value Unit - /// - `KMF` - Comorian Franc - /// - `CDF` - Congolese Franc - /// - `CRC` - Costa Rican Colón - /// - `HRD` - Croatian Dinar - /// - `HRK` - Croatian Kuna - /// - `CUC` - Cuban Convertible Peso - /// - `CUP` - Cuban Peso - /// - `CYP` - Cypriot Pound - /// - `CZK` - Czech Koruna - /// - `CSK` - Czechoslovak Hard Koruna - /// - `DKK` - Danish Krone - /// - `DJF` - Djiboutian Franc - /// - `DOP` - Dominican Peso - /// - `NLG` - Dutch Guilder - /// - `XCD` - East Caribbean Dollar - /// - `DDM` - East German Mark - /// - `ECS` - Ecuadorian Sucre - /// - `ECV` - Ecuadorian Unit of Constant Value - /// - `EGP` - Egyptian Pound - /// - `GQE` - Equatorial Guinean Ekwele - /// - `ERN` - Eritrean Nakfa - /// - `EEK` - Estonian Kroon - /// - `ETB` - Ethiopian Birr - /// - `EUR` - Euro - /// - `XBA` - European Composite Unit - /// - `XEU` - European Currency Unit - /// - `XBB` - European Monetary Unit - /// - `XBC` - European Unit of Account (XBC) - /// - `XBD` - European Unit of Account (XBD) - /// - `FKP` - Falkland Islands Pound - /// - `FJD` - Fijian Dollar - /// - `FIM` - Finnish Markka - /// - `FRF` - French Franc - /// - `XFO` - French Gold Franc - /// - `XFU` - French UIC-Franc - /// - `GMD` - Gambian Dalasi - /// - `GEK` - Georgian Kupon Larit - /// - `GEL` - Georgian Lari - /// - `DEM` - German Mark - /// - `GHS` - Ghanaian Cedi - /// - `GHC` - Ghanaian Cedi (1979–2007) - /// - `GIP` - Gibraltar Pound - /// - `XAU` - Gold - /// - `GRD` - Greek Drachma - /// - `GTQ` - Guatemalan Quetzal - /// - `GWP` - Guinea-Bissau Peso - /// - `GNF` - Guinean Franc - /// - `GNS` - Guinean Syli - /// - `GYD` - Guyanaese Dollar - /// - `HTG` - Haitian Gourde - /// - `HNL` - Honduran Lempira - /// - `HKD` - Hong Kong Dollar - /// - `HUF` - Hungarian Forint - /// - `IMP` - IMP - /// - `ISK` - Icelandic Króna - /// - `ISJ` - Icelandic Króna (1918–1981) - /// - `INR` - Indian Rupee - /// - `IDR` - Indonesian Rupiah - /// - `IRR` - Iranian Rial - /// - `IQD` - Iraqi Dinar - /// - `IEP` - Irish Pound - /// - `ILS` - Israeli New Shekel - /// - `ILP` - Israeli Pound - /// - `ILR` - Israeli Shekel (1980–1985) - /// - `ITL` - Italian Lira - /// - `JMD` - Jamaican Dollar - /// - `JPY` - Japanese Yen - /// - `JOD` - Jordanian Dinar - /// - `KZT` - Kazakhstani Tenge - /// - `KES` - Kenyan Shilling - /// - `KWD` - Kuwaiti Dinar - /// - `KGS` - Kyrgystani Som - /// - `LAK` - Laotian Kip - /// - `LVL` - Latvian Lats - /// - `LVR` - Latvian Ruble - /// - `LBP` - Lebanese Pound - /// - `LSL` - Lesotho Loti - /// - `LRD` - Liberian Dollar - /// - `LYD` - Libyan Dinar - /// - `LTL` - Lithuanian Litas - /// - `LTT` - Lithuanian Talonas - /// - `LUL` - Luxembourg Financial Franc - /// - `LUC` - Luxembourgian Convertible Franc - /// - `LUF` - Luxembourgian Franc - /// - `MOP` - Macanese Pataca - /// - `MKD` - Macedonian Denar - /// - `MKN` - Macedonian Denar (1992–1993) - /// - `MGA` - Malagasy Ariary - /// - `MGF` - Malagasy Franc - /// - `MWK` - Malawian Kwacha - /// - `MYR` - Malaysian Ringgit - /// - `MVR` - Maldivian Rufiyaa - /// - `MVP` - Maldivian Rupee (1947–1981) - /// - `MLF` - Malian Franc - /// - `MTL` - Maltese Lira - /// - `MTP` - Maltese Pound - /// - `MRU` - Mauritanian Ouguiya - /// - `MRO` - Mauritanian Ouguiya (1973–2017) - /// - `MUR` - Mauritian Rupee - /// - `MXV` - Mexican Investment Unit - /// - `MXN` - Mexican Peso - /// - `MXP` - Mexican Silver Peso (1861–1992) - /// - `MDC` - Moldovan Cupon - /// - `MDL` - Moldovan Leu - /// - `MCF` - Monegasque Franc - /// - `MNT` - Mongolian Tugrik - /// - `MAD` - Moroccan Dirham - /// - `MAF` - Moroccan Franc - /// - `MZE` - Mozambican Escudo - /// - `MZN` - Mozambican Metical - /// - `MZM` - Mozambican Metical (1980–2006) - /// - `MMK` - Myanmar Kyat - /// - `NAD` - Namibian Dollar - /// - `NPR` - Nepalese Rupee - /// - `ANG` - Netherlands Antillean Guilder - /// - `TWD` - New Taiwan Dollar - /// - `NZD` - New Zealand Dollar - /// - `NIO` - Nicaraguan Córdoba - /// - `NIC` - Nicaraguan Córdoba (1988–1991) - /// - `NGN` - Nigerian Naira - /// - `KPW` - North Korean Won - /// - `NOK` - Norwegian Krone - /// - `OMR` - Omani Rial - /// - `PKR` - Pakistani Rupee - /// - `XPD` - Palladium - /// - `PAB` - Panamanian Balboa - /// - `PGK` - Papua New Guinean Kina - /// - `PYG` - Paraguayan Guarani - /// - `PEI` - Peruvian Inti - /// - `PEN` - Peruvian Sol - /// - `PES` - Peruvian Sol (1863–1965) - /// - `PHP` - Philippine Peso - /// - `XPT` - Platinum - /// - `PLN` - Polish Zloty - /// - `PLZ` - Polish Zloty (1950–1995) - /// - `PTE` - Portuguese Escudo - /// - `GWE` - Portuguese Guinea Escudo - /// - `QAR` - Qatari Rial - /// - `XRE` - RINET Funds - /// - `RHD` - Rhodesian Dollar - /// - `RON` - Romanian Leu - /// - `ROL` - Romanian Leu (1952–2006) - /// - `RUB` - Russian Ruble - /// - `RUR` - Russian Ruble (1991–1998) - /// - `RWF` - Rwandan Franc - /// - `SVC` - Salvadoran Colón - /// - `WST` - Samoan Tala - /// - `SAR` - Saudi Riyal - /// - `RSD` - Serbian Dinar - /// - `CSD` - Serbian Dinar (2002–2006) - /// - `SCR` - Seychellois Rupee - /// - `SLL` - Sierra Leonean Leone - /// - `XAG` - Silver - /// - `SGD` - Singapore Dollar - /// - `SKK` - Slovak Koruna - /// - `SIT` - Slovenian Tolar - /// - `SBD` - Solomon Islands Dollar - /// - `SOS` - Somali Shilling - /// - `ZAR` - South African Rand - /// - `ZAL` - South African Rand (financial) - /// - `KRH` - South Korean Hwan (1953–1962) - /// - `KRW` - South Korean Won - /// - `KRO` - South Korean Won (1945–1953) - /// - `SSP` - South Sudanese Pound - /// - `SUR` - Soviet Rouble - /// - `ESP` - Spanish Peseta - /// - `ESA` - Spanish Peseta (A account) - /// - `ESB` - Spanish Peseta (convertible account) - /// - `XDR` - Special Drawing Rights - /// - `LKR` - Sri Lankan Rupee - /// - `SHP` - St. Helena Pound - /// - `XSU` - Sucre - /// - `SDD` - Sudanese Dinar (1992–2007) - /// - `SDG` - Sudanese Pound - /// - `SDP` - Sudanese Pound (1957–1998) - /// - `SRD` - Surinamese Dollar - /// - `SRG` - Surinamese Guilder - /// - `SZL` - Swazi Lilangeni - /// - `SEK` - Swedish Krona - /// - `CHF` - Swiss Franc - /// - `SYP` - Syrian Pound - /// - `STN` - São Tomé & Príncipe Dobra - /// - `STD` - São Tomé & Príncipe Dobra (1977–2017) - /// - `TVD` - TVD - /// - `TJR` - Tajikistani Ruble - /// - `TJS` - Tajikistani Somoni - /// - `TZS` - Tanzanian Shilling - /// - `XTS` - Testing Currency Code - /// - `THB` - Thai Baht - /// - `XXX` - The codes assigned for transactions where no currency is involved - /// - `TPE` - Timorese Escudo - /// - `TOP` - Tongan Paʻanga - /// - `TTD` - Trinidad & Tobago Dollar - /// - `TND` - Tunisian Dinar - /// - `TRY` - Turkish Lira - /// - `TRL` - Turkish Lira (1922–2005) - /// - `TMT` - Turkmenistani Manat - /// - `TMM` - Turkmenistani Manat (1993–2009) - /// - `USD` - US Dollar - /// - `USN` - US Dollar (Next day) - /// - `USS` - US Dollar (Same day) - /// - `UGX` - Ugandan Shilling - /// - `UGS` - Ugandan Shilling (1966–1987) - /// - `UAH` - Ukrainian Hryvnia - /// - `UAK` - Ukrainian Karbovanets - /// - `AED` - United Arab Emirates Dirham - /// - `UYW` - Uruguayan Nominal Wage Index Unit - /// - `UYU` - Uruguayan Peso - /// - `UYP` - Uruguayan Peso (1975–1993) - /// - `UYI` - Uruguayan Peso (Indexed Units) - /// - `UZS` - Uzbekistani Som - /// - `VUV` - Vanuatu Vatu - /// - `VES` - Venezuelan Bolívar - /// - `VEB` - Venezuelan Bolívar (1871–2008) - /// - `VEF` - Venezuelan Bolívar (2008–2018) - /// - `VND` - Vietnamese Dong - /// - `VNN` - Vietnamese Dong (1978–1985) - /// - `CHE` - WIR Euro - /// - `CHW` - WIR Franc - /// - `XOF` - West African CFA Franc - /// - `YDD` - Yemeni Dinar - /// - `YER` - Yemeni Rial - /// - `YUN` - Yugoslavian Convertible Dinar (1990–1992) - /// - `YUD` - Yugoslavian Hard Dinar (1966–1990) - /// - `YUM` - Yugoslavian New Dinar (1994–2002) - /// - `YUR` - Yugoslavian Reformed Dinar (1992–1993) - /// - `ZWN` - ZWN - /// - `ZRN` - Zairean New Zaire (1993–1998) - /// - `ZRZ` - Zairean Zaire (1971–1993) - /// - `ZMW` - Zambian Kwacha - /// - `ZMK` - Zambian Kwacha (1968–2012) - /// - `ZWD` - Zimbabwean Dollar (1980–2008) - /// - `ZWR` - Zimbabwean Dollar (2008) - /// - `ZWL` - Zimbabwean Dollar (2009) + /// * `XUA` - ADB Unit of Account + /// * `AFN` - Afghan Afghani + /// * `AFA` - Afghan Afghani (1927–2002) + /// * `ALL` - Albanian Lek + /// * `ALK` - Albanian Lek (1946–1965) + /// * `DZD` - Algerian Dinar + /// * `ADP` - Andorran Peseta + /// * `AOA` - Angolan Kwanza + /// * `AOK` - Angolan Kwanza (1977–1991) + /// * `AON` - Angolan New Kwanza (1990–2000) + /// * `AOR` - Angolan Readjusted Kwanza (1995–1999) + /// * `ARA` - Argentine Austral + /// * `ARS` - Argentine Peso + /// * `ARM` - Argentine Peso (1881–1970) + /// * `ARP` - Argentine Peso (1983–1985) + /// * `ARL` - Argentine Peso Ley (1970–1983) + /// * `AMD` - Armenian Dram + /// * `AWG` - Aruban Florin + /// * `AUD` - Australian Dollar + /// * `ATS` - Austrian Schilling + /// * `AZN` - Azerbaijani Manat + /// * `AZM` - Azerbaijani Manat (1993–2006) + /// * `BSD` - Bahamian Dollar + /// * `BHD` - Bahraini Dinar + /// * `BDT` - Bangladeshi Taka + /// * `BBD` - Barbadian Dollar + /// * `BYN` - Belarusian Ruble + /// * `BYB` - Belarusian Ruble (1994–1999) + /// * `BYR` - Belarusian Ruble (2000–2016) + /// * `BEF` - Belgian Franc + /// * `BEC` - Belgian Franc (convertible) + /// * `BEL` - Belgian Franc (financial) + /// * `BZD` - Belize Dollar + /// * `BMD` - Bermudan Dollar + /// * `BTN` - Bhutanese Ngultrum + /// * `BOB` - Bolivian Boliviano + /// * `BOL` - Bolivian Boliviano (1863–1963) + /// * `BOV` - Bolivian Mvdol + /// * `BOP` - Bolivian Peso + /// * `BAM` - Bosnia-Herzegovina Convertible Mark + /// * `BAD` - Bosnia-Herzegovina Dinar (1992–1994) + /// * `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) + /// * `BWP` - Botswanan Pula + /// * `BRC` - Brazilian Cruzado (1986–1989) + /// * `BRZ` - Brazilian Cruzeiro (1942–1967) + /// * `BRE` - Brazilian Cruzeiro (1990–1993) + /// * `BRR` - Brazilian Cruzeiro (1993–1994) + /// * `BRN` - Brazilian New Cruzado (1989–1990) + /// * `BRB` - Brazilian New Cruzeiro (1967–1986) + /// * `BRL` - Brazilian Real + /// * `GBP` - British Pound + /// * `BND` - Brunei Dollar + /// * `BGL` - Bulgarian Hard Lev + /// * `BGN` - Bulgarian Lev + /// * `BGO` - Bulgarian Lev (1879–1952) + /// * `BGM` - Bulgarian Socialist Lev + /// * `BUK` - Burmese Kyat + /// * `BIF` - Burundian Franc + /// * `XPF` - CFP Franc + /// * `KHR` - Cambodian Riel + /// * `CAD` - Canadian Dollar + /// * `CVE` - Cape Verdean Escudo + /// * `KYD` - Cayman Islands Dollar + /// * `XAF` - Central African CFA Franc + /// * `CLE` - Chilean Escudo + /// * `CLP` - Chilean Peso + /// * `CLF` - Chilean Unit of Account (UF) + /// * `CNX` - Chinese People’s Bank Dollar + /// * `CNY` - Chinese Yuan + /// * `CNH` - Chinese Yuan (offshore) + /// * `COP` - Colombian Peso + /// * `COU` - Colombian Real Value Unit + /// * `KMF` - Comorian Franc + /// * `CDF` - Congolese Franc + /// * `CRC` - Costa Rican Colón + /// * `HRD` - Croatian Dinar + /// * `HRK` - Croatian Kuna + /// * `CUC` - Cuban Convertible Peso + /// * `CUP` - Cuban Peso + /// * `CYP` - Cypriot Pound + /// * `CZK` - Czech Koruna + /// * `CSK` - Czechoslovak Hard Koruna + /// * `DKK` - Danish Krone + /// * `DJF` - Djiboutian Franc + /// * `DOP` - Dominican Peso + /// * `NLG` - Dutch Guilder + /// * `XCD` - East Caribbean Dollar + /// * `DDM` - East German Mark + /// * `ECS` - Ecuadorian Sucre + /// * `ECV` - Ecuadorian Unit of Constant Value + /// * `EGP` - Egyptian Pound + /// * `GQE` - Equatorial Guinean Ekwele + /// * `ERN` - Eritrean Nakfa + /// * `EEK` - Estonian Kroon + /// * `ETB` - Ethiopian Birr + /// * `EUR` - Euro + /// * `XBA` - European Composite Unit + /// * `XEU` - European Currency Unit + /// * `XBB` - European Monetary Unit + /// * `XBC` - European Unit of Account (XBC) + /// * `XBD` - European Unit of Account (XBD) + /// * `FKP` - Falkland Islands Pound + /// * `FJD` - Fijian Dollar + /// * `FIM` - Finnish Markka + /// * `FRF` - French Franc + /// * `XFO` - French Gold Franc + /// * `XFU` - French UIC-Franc + /// * `GMD` - Gambian Dalasi + /// * `GEK` - Georgian Kupon Larit + /// * `GEL` - Georgian Lari + /// * `DEM` - German Mark + /// * `GHS` - Ghanaian Cedi + /// * `GHC` - Ghanaian Cedi (1979–2007) + /// * `GIP` - Gibraltar Pound + /// * `XAU` - Gold + /// * `GRD` - Greek Drachma + /// * `GTQ` - Guatemalan Quetzal + /// * `GWP` - Guinea-Bissau Peso + /// * `GNF` - Guinean Franc + /// * `GNS` - Guinean Syli + /// * `GYD` - Guyanaese Dollar + /// * `HTG` - Haitian Gourde + /// * `HNL` - Honduran Lempira + /// * `HKD` - Hong Kong Dollar + /// * `HUF` - Hungarian Forint + /// * `IMP` - IMP + /// * `ISK` - Icelandic Króna + /// * `ISJ` - Icelandic Króna (1918–1981) + /// * `INR` - Indian Rupee + /// * `IDR` - Indonesian Rupiah + /// * `IRR` - Iranian Rial + /// * `IQD` - Iraqi Dinar + /// * `IEP` - Irish Pound + /// * `ILS` - Israeli New Shekel + /// * `ILP` - Israeli Pound + /// * `ILR` - Israeli Shekel (1980–1985) + /// * `ITL` - Italian Lira + /// * `JMD` - Jamaican Dollar + /// * `JPY` - Japanese Yen + /// * `JOD` - Jordanian Dinar + /// * `KZT` - Kazakhstani Tenge + /// * `KES` - Kenyan Shilling + /// * `KWD` - Kuwaiti Dinar + /// * `KGS` - Kyrgystani Som + /// * `LAK` - Laotian Kip + /// * `LVL` - Latvian Lats + /// * `LVR` - Latvian Ruble + /// * `LBP` - Lebanese Pound + /// * `LSL` - Lesotho Loti + /// * `LRD` - Liberian Dollar + /// * `LYD` - Libyan Dinar + /// * `LTL` - Lithuanian Litas + /// * `LTT` - Lithuanian Talonas + /// * `LUL` - Luxembourg Financial Franc + /// * `LUC` - Luxembourgian Convertible Franc + /// * `LUF` - Luxembourgian Franc + /// * `MOP` - Macanese Pataca + /// * `MKD` - Macedonian Denar + /// * `MKN` - Macedonian Denar (1992–1993) + /// * `MGA` - Malagasy Ariary + /// * `MGF` - Malagasy Franc + /// * `MWK` - Malawian Kwacha + /// * `MYR` - Malaysian Ringgit + /// * `MVR` - Maldivian Rufiyaa + /// * `MVP` - Maldivian Rupee (1947–1981) + /// * `MLF` - Malian Franc + /// * `MTL` - Maltese Lira + /// * `MTP` - Maltese Pound + /// * `MRU` - Mauritanian Ouguiya + /// * `MRO` - Mauritanian Ouguiya (1973–2017) + /// * `MUR` - Mauritian Rupee + /// * `MXV` - Mexican Investment Unit + /// * `MXN` - Mexican Peso + /// * `MXP` - Mexican Silver Peso (1861–1992) + /// * `MDC` - Moldovan Cupon + /// * `MDL` - Moldovan Leu + /// * `MCF` - Monegasque Franc + /// * `MNT` - Mongolian Tugrik + /// * `MAD` - Moroccan Dirham + /// * `MAF` - Moroccan Franc + /// * `MZE` - Mozambican Escudo + /// * `MZN` - Mozambican Metical + /// * `MZM` - Mozambican Metical (1980–2006) + /// * `MMK` - Myanmar Kyat + /// * `NAD` - Namibian Dollar + /// * `NPR` - Nepalese Rupee + /// * `ANG` - Netherlands Antillean Guilder + /// * `TWD` - New Taiwan Dollar + /// * `NZD` - New Zealand Dollar + /// * `NIO` - Nicaraguan Córdoba + /// * `NIC` - Nicaraguan Córdoba (1988–1991) + /// * `NGN` - Nigerian Naira + /// * `KPW` - North Korean Won + /// * `NOK` - Norwegian Krone + /// * `OMR` - Omani Rial + /// * `PKR` - Pakistani Rupee + /// * `XPD` - Palladium + /// * `PAB` - Panamanian Balboa + /// * `PGK` - Papua New Guinean Kina + /// * `PYG` - Paraguayan Guarani + /// * `PEI` - Peruvian Inti + /// * `PEN` - Peruvian Sol + /// * `PES` - Peruvian Sol (1863–1965) + /// * `PHP` - Philippine Peso + /// * `XPT` - Platinum + /// * `PLN` - Polish Zloty + /// * `PLZ` - Polish Zloty (1950–1995) + /// * `PTE` - Portuguese Escudo + /// * `GWE` - Portuguese Guinea Escudo + /// * `QAR` - Qatari Rial + /// * `XRE` - RINET Funds + /// * `RHD` - Rhodesian Dollar + /// * `RON` - Romanian Leu + /// * `ROL` - Romanian Leu (1952–2006) + /// * `RUB` - Russian Ruble + /// * `RUR` - Russian Ruble (1991–1998) + /// * `RWF` - Rwandan Franc + /// * `SVC` - Salvadoran Colón + /// * `WST` - Samoan Tala + /// * `SAR` - Saudi Riyal + /// * `RSD` - Serbian Dinar + /// * `CSD` - Serbian Dinar (2002–2006) + /// * `SCR` - Seychellois Rupee + /// * `SLL` - Sierra Leonean Leone + /// * `XAG` - Silver + /// * `SGD` - Singapore Dollar + /// * `SKK` - Slovak Koruna + /// * `SIT` - Slovenian Tolar + /// * `SBD` - Solomon Islands Dollar + /// * `SOS` - Somali Shilling + /// * `ZAR` - South African Rand + /// * `ZAL` - South African Rand (financial) + /// * `KRH` - South Korean Hwan (1953–1962) + /// * `KRW` - South Korean Won + /// * `KRO` - South Korean Won (1945–1953) + /// * `SSP` - South Sudanese Pound + /// * `SUR` - Soviet Rouble + /// * `ESP` - Spanish Peseta + /// * `ESA` - Spanish Peseta (A account) + /// * `ESB` - Spanish Peseta (convertible account) + /// * `XDR` - Special Drawing Rights + /// * `LKR` - Sri Lankan Rupee + /// * `SHP` - St. Helena Pound + /// * `XSU` - Sucre + /// * `SDD` - Sudanese Dinar (1992–2007) + /// * `SDG` - Sudanese Pound + /// * `SDP` - Sudanese Pound (1957–1998) + /// * `SRD` - Surinamese Dollar + /// * `SRG` - Surinamese Guilder + /// * `SZL` - Swazi Lilangeni + /// * `SEK` - Swedish Krona + /// * `CHF` - Swiss Franc + /// * `SYP` - Syrian Pound + /// * `STN` - São Tomé & Príncipe Dobra + /// * `STD` - São Tomé & Príncipe Dobra (1977–2017) + /// * `TVD` - TVD + /// * `TJR` - Tajikistani Ruble + /// * `TJS` - Tajikistani Somoni + /// * `TZS` - Tanzanian Shilling + /// * `XTS` - Testing Currency Code + /// * `THB` - Thai Baht + /// * `XXX` - The codes assigned for transactions where no currency is involved + /// * `TPE` - Timorese Escudo + /// * `TOP` - Tongan Paʻanga + /// * `TTD` - Trinidad & Tobago Dollar + /// * `TND` - Tunisian Dinar + /// * `TRY` - Turkish Lira + /// * `TRL` - Turkish Lira (1922–2005) + /// * `TMT` - Turkmenistani Manat + /// * `TMM` - Turkmenistani Manat (1993–2009) + /// * `USD` - US Dollar + /// * `USN` - US Dollar (Next day) + /// * `USS` - US Dollar (Same day) + /// * `UGX` - Ugandan Shilling + /// * `UGS` - Ugandan Shilling (1966–1987) + /// * `UAH` - Ukrainian Hryvnia + /// * `UAK` - Ukrainian Karbovanets + /// * `AED` - United Arab Emirates Dirham + /// * `UYW` - Uruguayan Nominal Wage Index Unit + /// * `UYU` - Uruguayan Peso + /// * `UYP` - Uruguayan Peso (1975–1993) + /// * `UYI` - Uruguayan Peso (Indexed Units) + /// * `UZS` - Uzbekistani Som + /// * `VUV` - Vanuatu Vatu + /// * `VES` - Venezuelan Bolívar + /// * `VEB` - Venezuelan Bolívar (1871–2008) + /// * `VEF` - Venezuelan Bolívar (2008–2018) + /// * `VND` - Vietnamese Dong + /// * `VNN` - Vietnamese Dong (1978–1985) + /// * `CHE` - WIR Euro + /// * `CHW` - WIR Franc + /// * `XOF` - West African CFA Franc + /// * `YDD` - Yemeni Dinar + /// * `YER` - Yemeni Rial + /// * `YUN` - Yugoslavian Convertible Dinar (1990–1992) + /// * `YUD` - Yugoslavian Hard Dinar (1966–1990) + /// * `YUM` - Yugoslavian New Dinar (1994–2002) + /// * `YUR` - Yugoslavian Reformed Dinar (1992–1993) + /// * `ZWN` - ZWN + /// * `ZRN` - Zairean New Zaire (1993–1998) + /// * `ZRZ` - Zairean Zaire (1971–1993) + /// * `ZMW` - Zambian Kwacha + /// * `ZMK` - Zambian Kwacha (1968–2012) + /// * `ZWD` - Zimbabwean Dollar (1980–2008) + /// * `ZWR` - Zimbabwean Dollar (2008) + /// * `ZWL` - Zimbabwean Dollar (2009) /// [JsonPropertyName("currency")] public TransactionCurrencyEnum? Currency { get; set; } @@ -391,12 +403,25 @@ public record JournalLine /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_fields")] public IEnumerable? RemoteFields { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/JournalLineRequest.cs b/src/Merge.Client/Accounting/Types/JournalLineRequest.cs index e342d566..a58294d9 100644 --- a/src/Merge.Client/Accounting/Types/JournalLineRequest.cs +++ b/src/Merge.Client/Accounting/Types/JournalLineRequest.cs @@ -1,9 +1,18 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Accounting; +/// +/// # The JournalLine Object +/// ### Description +/// The `JournalLine` object is used to represent a journal entry's line items. +/// +/// ### Usage Example +/// Fetch from the `GET JournalEntry` endpoint and view the journal entry's line items. +/// public record JournalLineRequest { /// @@ -33,312 +42,312 @@ public record JournalLineRequest /// /// The journal line item's currency. /// - /// - `XUA` - ADB Unit of Account - /// - `AFN` - Afghan Afghani - /// - `AFA` - Afghan Afghani (1927–2002) - /// - `ALL` - Albanian Lek - /// - `ALK` - Albanian Lek (1946–1965) - /// - `DZD` - Algerian Dinar - /// - `ADP` - Andorran Peseta - /// - `AOA` - Angolan Kwanza - /// - `AOK` - Angolan Kwanza (1977–1991) - /// - `AON` - Angolan New Kwanza (1990–2000) - /// - `AOR` - Angolan Readjusted Kwanza (1995–1999) - /// - `ARA` - Argentine Austral - /// - `ARS` - Argentine Peso - /// - `ARM` - Argentine Peso (1881–1970) - /// - `ARP` - Argentine Peso (1983–1985) - /// - `ARL` - Argentine Peso Ley (1970–1983) - /// - `AMD` - Armenian Dram - /// - `AWG` - Aruban Florin - /// - `AUD` - Australian Dollar - /// - `ATS` - Austrian Schilling - /// - `AZN` - Azerbaijani Manat - /// - `AZM` - Azerbaijani Manat (1993–2006) - /// - `BSD` - Bahamian Dollar - /// - `BHD` - Bahraini Dinar - /// - `BDT` - Bangladeshi Taka - /// - `BBD` - Barbadian Dollar - /// - `BYN` - Belarusian Ruble - /// - `BYB` - Belarusian Ruble (1994–1999) - /// - `BYR` - Belarusian Ruble (2000–2016) - /// - `BEF` - Belgian Franc - /// - `BEC` - Belgian Franc (convertible) - /// - `BEL` - Belgian Franc (financial) - /// - `BZD` - Belize Dollar - /// - `BMD` - Bermudan Dollar - /// - `BTN` - Bhutanese Ngultrum - /// - `BOB` - Bolivian Boliviano - /// - `BOL` - Bolivian Boliviano (1863–1963) - /// - `BOV` - Bolivian Mvdol - /// - `BOP` - Bolivian Peso - /// - `BAM` - Bosnia-Herzegovina Convertible Mark - /// - `BAD` - Bosnia-Herzegovina Dinar (1992–1994) - /// - `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) - /// - `BWP` - Botswanan Pula - /// - `BRC` - Brazilian Cruzado (1986–1989) - /// - `BRZ` - Brazilian Cruzeiro (1942–1967) - /// - `BRE` - Brazilian Cruzeiro (1990–1993) - /// - `BRR` - Brazilian Cruzeiro (1993–1994) - /// - `BRN` - Brazilian New Cruzado (1989–1990) - /// - `BRB` - Brazilian New Cruzeiro (1967–1986) - /// - `BRL` - Brazilian Real - /// - `GBP` - British Pound - /// - `BND` - Brunei Dollar - /// - `BGL` - Bulgarian Hard Lev - /// - `BGN` - Bulgarian Lev - /// - `BGO` - Bulgarian Lev (1879–1952) - /// - `BGM` - Bulgarian Socialist Lev - /// - `BUK` - Burmese Kyat - /// - `BIF` - Burundian Franc - /// - `XPF` - CFP Franc - /// - `KHR` - Cambodian Riel - /// - `CAD` - Canadian Dollar - /// - `CVE` - Cape Verdean Escudo - /// - `KYD` - Cayman Islands Dollar - /// - `XAF` - Central African CFA Franc - /// - `CLE` - Chilean Escudo - /// - `CLP` - Chilean Peso - /// - `CLF` - Chilean Unit of Account (UF) - /// - `CNX` - Chinese People’s Bank Dollar - /// - `CNY` - Chinese Yuan - /// - `CNH` - Chinese Yuan (offshore) - /// - `COP` - Colombian Peso - /// - `COU` - Colombian Real Value Unit - /// - `KMF` - Comorian Franc - /// - `CDF` - Congolese Franc - /// - `CRC` - Costa Rican Colón - /// - `HRD` - Croatian Dinar - /// - `HRK` - Croatian Kuna - /// - `CUC` - Cuban Convertible Peso - /// - `CUP` - Cuban Peso - /// - `CYP` - Cypriot Pound - /// - `CZK` - Czech Koruna - /// - `CSK` - Czechoslovak Hard Koruna - /// - `DKK` - Danish Krone - /// - `DJF` - Djiboutian Franc - /// - `DOP` - Dominican Peso - /// - `NLG` - Dutch Guilder - /// - `XCD` - East Caribbean Dollar - /// - `DDM` - East German Mark - /// - `ECS` - Ecuadorian Sucre - /// - `ECV` - Ecuadorian Unit of Constant Value - /// - `EGP` - Egyptian Pound - /// - `GQE` - Equatorial Guinean Ekwele - /// - `ERN` - Eritrean Nakfa - /// - `EEK` - Estonian Kroon - /// - `ETB` - Ethiopian Birr - /// - `EUR` - Euro - /// - `XBA` - European Composite Unit - /// - `XEU` - European Currency Unit - /// - `XBB` - European Monetary Unit - /// - `XBC` - European Unit of Account (XBC) - /// - `XBD` - European Unit of Account (XBD) - /// - `FKP` - Falkland Islands Pound - /// - `FJD` - Fijian Dollar - /// - `FIM` - Finnish Markka - /// - `FRF` - French Franc - /// - `XFO` - French Gold Franc - /// - `XFU` - French UIC-Franc - /// - `GMD` - Gambian Dalasi - /// - `GEK` - Georgian Kupon Larit - /// - `GEL` - Georgian Lari - /// - `DEM` - German Mark - /// - `GHS` - Ghanaian Cedi - /// - `GHC` - Ghanaian Cedi (1979–2007) - /// - `GIP` - Gibraltar Pound - /// - `XAU` - Gold - /// - `GRD` - Greek Drachma - /// - `GTQ` - Guatemalan Quetzal - /// - `GWP` - Guinea-Bissau Peso - /// - `GNF` - Guinean Franc - /// - `GNS` - Guinean Syli - /// - `GYD` - Guyanaese Dollar - /// - `HTG` - Haitian Gourde - /// - `HNL` - Honduran Lempira - /// - `HKD` - Hong Kong Dollar - /// - `HUF` - Hungarian Forint - /// - `IMP` - IMP - /// - `ISK` - Icelandic Króna - /// - `ISJ` - Icelandic Króna (1918–1981) - /// - `INR` - Indian Rupee - /// - `IDR` - Indonesian Rupiah - /// - `IRR` - Iranian Rial - /// - `IQD` - Iraqi Dinar - /// - `IEP` - Irish Pound - /// - `ILS` - Israeli New Shekel - /// - `ILP` - Israeli Pound - /// - `ILR` - Israeli Shekel (1980–1985) - /// - `ITL` - Italian Lira - /// - `JMD` - Jamaican Dollar - /// - `JPY` - Japanese Yen - /// - `JOD` - Jordanian Dinar - /// - `KZT` - Kazakhstani Tenge - /// - `KES` - Kenyan Shilling - /// - `KWD` - Kuwaiti Dinar - /// - `KGS` - Kyrgystani Som - /// - `LAK` - Laotian Kip - /// - `LVL` - Latvian Lats - /// - `LVR` - Latvian Ruble - /// - `LBP` - Lebanese Pound - /// - `LSL` - Lesotho Loti - /// - `LRD` - Liberian Dollar - /// - `LYD` - Libyan Dinar - /// - `LTL` - Lithuanian Litas - /// - `LTT` - Lithuanian Talonas - /// - `LUL` - Luxembourg Financial Franc - /// - `LUC` - Luxembourgian Convertible Franc - /// - `LUF` - Luxembourgian Franc - /// - `MOP` - Macanese Pataca - /// - `MKD` - Macedonian Denar - /// - `MKN` - Macedonian Denar (1992–1993) - /// - `MGA` - Malagasy Ariary - /// - `MGF` - Malagasy Franc - /// - `MWK` - Malawian Kwacha - /// - `MYR` - Malaysian Ringgit - /// - `MVR` - Maldivian Rufiyaa - /// - `MVP` - Maldivian Rupee (1947–1981) - /// - `MLF` - Malian Franc - /// - `MTL` - Maltese Lira - /// - `MTP` - Maltese Pound - /// - `MRU` - Mauritanian Ouguiya - /// - `MRO` - Mauritanian Ouguiya (1973–2017) - /// - `MUR` - Mauritian Rupee - /// - `MXV` - Mexican Investment Unit - /// - `MXN` - Mexican Peso - /// - `MXP` - Mexican Silver Peso (1861–1992) - /// - `MDC` - Moldovan Cupon - /// - `MDL` - Moldovan Leu - /// - `MCF` - Monegasque Franc - /// - `MNT` - Mongolian Tugrik - /// - `MAD` - Moroccan Dirham - /// - `MAF` - Moroccan Franc - /// - `MZE` - Mozambican Escudo - /// - `MZN` - Mozambican Metical - /// - `MZM` - Mozambican Metical (1980–2006) - /// - `MMK` - Myanmar Kyat - /// - `NAD` - Namibian Dollar - /// - `NPR` - Nepalese Rupee - /// - `ANG` - Netherlands Antillean Guilder - /// - `TWD` - New Taiwan Dollar - /// - `NZD` - New Zealand Dollar - /// - `NIO` - Nicaraguan Córdoba - /// - `NIC` - Nicaraguan Córdoba (1988–1991) - /// - `NGN` - Nigerian Naira - /// - `KPW` - North Korean Won - /// - `NOK` - Norwegian Krone - /// - `OMR` - Omani Rial - /// - `PKR` - Pakistani Rupee - /// - `XPD` - Palladium - /// - `PAB` - Panamanian Balboa - /// - `PGK` - Papua New Guinean Kina - /// - `PYG` - Paraguayan Guarani - /// - `PEI` - Peruvian Inti - /// - `PEN` - Peruvian Sol - /// - `PES` - Peruvian Sol (1863–1965) - /// - `PHP` - Philippine Peso - /// - `XPT` - Platinum - /// - `PLN` - Polish Zloty - /// - `PLZ` - Polish Zloty (1950–1995) - /// - `PTE` - Portuguese Escudo - /// - `GWE` - Portuguese Guinea Escudo - /// - `QAR` - Qatari Rial - /// - `XRE` - RINET Funds - /// - `RHD` - Rhodesian Dollar - /// - `RON` - Romanian Leu - /// - `ROL` - Romanian Leu (1952–2006) - /// - `RUB` - Russian Ruble - /// - `RUR` - Russian Ruble (1991–1998) - /// - `RWF` - Rwandan Franc - /// - `SVC` - Salvadoran Colón - /// - `WST` - Samoan Tala - /// - `SAR` - Saudi Riyal - /// - `RSD` - Serbian Dinar - /// - `CSD` - Serbian Dinar (2002–2006) - /// - `SCR` - Seychellois Rupee - /// - `SLL` - Sierra Leonean Leone - /// - `XAG` - Silver - /// - `SGD` - Singapore Dollar - /// - `SKK` - Slovak Koruna - /// - `SIT` - Slovenian Tolar - /// - `SBD` - Solomon Islands Dollar - /// - `SOS` - Somali Shilling - /// - `ZAR` - South African Rand - /// - `ZAL` - South African Rand (financial) - /// - `KRH` - South Korean Hwan (1953–1962) - /// - `KRW` - South Korean Won - /// - `KRO` - South Korean Won (1945–1953) - /// - `SSP` - South Sudanese Pound - /// - `SUR` - Soviet Rouble - /// - `ESP` - Spanish Peseta - /// - `ESA` - Spanish Peseta (A account) - /// - `ESB` - Spanish Peseta (convertible account) - /// - `XDR` - Special Drawing Rights - /// - `LKR` - Sri Lankan Rupee - /// - `SHP` - St. Helena Pound - /// - `XSU` - Sucre - /// - `SDD` - Sudanese Dinar (1992–2007) - /// - `SDG` - Sudanese Pound - /// - `SDP` - Sudanese Pound (1957–1998) - /// - `SRD` - Surinamese Dollar - /// - `SRG` - Surinamese Guilder - /// - `SZL` - Swazi Lilangeni - /// - `SEK` - Swedish Krona - /// - `CHF` - Swiss Franc - /// - `SYP` - Syrian Pound - /// - `STN` - São Tomé & Príncipe Dobra - /// - `STD` - São Tomé & Príncipe Dobra (1977–2017) - /// - `TVD` - TVD - /// - `TJR` - Tajikistani Ruble - /// - `TJS` - Tajikistani Somoni - /// - `TZS` - Tanzanian Shilling - /// - `XTS` - Testing Currency Code - /// - `THB` - Thai Baht - /// - `XXX` - The codes assigned for transactions where no currency is involved - /// - `TPE` - Timorese Escudo - /// - `TOP` - Tongan Paʻanga - /// - `TTD` - Trinidad & Tobago Dollar - /// - `TND` - Tunisian Dinar - /// - `TRY` - Turkish Lira - /// - `TRL` - Turkish Lira (1922–2005) - /// - `TMT` - Turkmenistani Manat - /// - `TMM` - Turkmenistani Manat (1993–2009) - /// - `USD` - US Dollar - /// - `USN` - US Dollar (Next day) - /// - `USS` - US Dollar (Same day) - /// - `UGX` - Ugandan Shilling - /// - `UGS` - Ugandan Shilling (1966–1987) - /// - `UAH` - Ukrainian Hryvnia - /// - `UAK` - Ukrainian Karbovanets - /// - `AED` - United Arab Emirates Dirham - /// - `UYW` - Uruguayan Nominal Wage Index Unit - /// - `UYU` - Uruguayan Peso - /// - `UYP` - Uruguayan Peso (1975–1993) - /// - `UYI` - Uruguayan Peso (Indexed Units) - /// - `UZS` - Uzbekistani Som - /// - `VUV` - Vanuatu Vatu - /// - `VES` - Venezuelan Bolívar - /// - `VEB` - Venezuelan Bolívar (1871–2008) - /// - `VEF` - Venezuelan Bolívar (2008–2018) - /// - `VND` - Vietnamese Dong - /// - `VNN` - Vietnamese Dong (1978–1985) - /// - `CHE` - WIR Euro - /// - `CHW` - WIR Franc - /// - `XOF` - West African CFA Franc - /// - `YDD` - Yemeni Dinar - /// - `YER` - Yemeni Rial - /// - `YUN` - Yugoslavian Convertible Dinar (1990–1992) - /// - `YUD` - Yugoslavian Hard Dinar (1966–1990) - /// - `YUM` - Yugoslavian New Dinar (1994–2002) - /// - `YUR` - Yugoslavian Reformed Dinar (1992–1993) - /// - `ZWN` - ZWN - /// - `ZRN` - Zairean New Zaire (1993–1998) - /// - `ZRZ` - Zairean Zaire (1971–1993) - /// - `ZMW` - Zambian Kwacha - /// - `ZMK` - Zambian Kwacha (1968–2012) - /// - `ZWD` - Zimbabwean Dollar (1980–2008) - /// - `ZWR` - Zimbabwean Dollar (2008) - /// - `ZWL` - Zimbabwean Dollar (2009) + /// * `XUA` - ADB Unit of Account + /// * `AFN` - Afghan Afghani + /// * `AFA` - Afghan Afghani (1927–2002) + /// * `ALL` - Albanian Lek + /// * `ALK` - Albanian Lek (1946–1965) + /// * `DZD` - Algerian Dinar + /// * `ADP` - Andorran Peseta + /// * `AOA` - Angolan Kwanza + /// * `AOK` - Angolan Kwanza (1977–1991) + /// * `AON` - Angolan New Kwanza (1990–2000) + /// * `AOR` - Angolan Readjusted Kwanza (1995–1999) + /// * `ARA` - Argentine Austral + /// * `ARS` - Argentine Peso + /// * `ARM` - Argentine Peso (1881–1970) + /// * `ARP` - Argentine Peso (1983–1985) + /// * `ARL` - Argentine Peso Ley (1970–1983) + /// * `AMD` - Armenian Dram + /// * `AWG` - Aruban Florin + /// * `AUD` - Australian Dollar + /// * `ATS` - Austrian Schilling + /// * `AZN` - Azerbaijani Manat + /// * `AZM` - Azerbaijani Manat (1993–2006) + /// * `BSD` - Bahamian Dollar + /// * `BHD` - Bahraini Dinar + /// * `BDT` - Bangladeshi Taka + /// * `BBD` - Barbadian Dollar + /// * `BYN` - Belarusian Ruble + /// * `BYB` - Belarusian Ruble (1994–1999) + /// * `BYR` - Belarusian Ruble (2000–2016) + /// * `BEF` - Belgian Franc + /// * `BEC` - Belgian Franc (convertible) + /// * `BEL` - Belgian Franc (financial) + /// * `BZD` - Belize Dollar + /// * `BMD` - Bermudan Dollar + /// * `BTN` - Bhutanese Ngultrum + /// * `BOB` - Bolivian Boliviano + /// * `BOL` - Bolivian Boliviano (1863–1963) + /// * `BOV` - Bolivian Mvdol + /// * `BOP` - Bolivian Peso + /// * `BAM` - Bosnia-Herzegovina Convertible Mark + /// * `BAD` - Bosnia-Herzegovina Dinar (1992–1994) + /// * `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) + /// * `BWP` - Botswanan Pula + /// * `BRC` - Brazilian Cruzado (1986–1989) + /// * `BRZ` - Brazilian Cruzeiro (1942–1967) + /// * `BRE` - Brazilian Cruzeiro (1990–1993) + /// * `BRR` - Brazilian Cruzeiro (1993–1994) + /// * `BRN` - Brazilian New Cruzado (1989–1990) + /// * `BRB` - Brazilian New Cruzeiro (1967–1986) + /// * `BRL` - Brazilian Real + /// * `GBP` - British Pound + /// * `BND` - Brunei Dollar + /// * `BGL` - Bulgarian Hard Lev + /// * `BGN` - Bulgarian Lev + /// * `BGO` - Bulgarian Lev (1879–1952) + /// * `BGM` - Bulgarian Socialist Lev + /// * `BUK` - Burmese Kyat + /// * `BIF` - Burundian Franc + /// * `XPF` - CFP Franc + /// * `KHR` - Cambodian Riel + /// * `CAD` - Canadian Dollar + /// * `CVE` - Cape Verdean Escudo + /// * `KYD` - Cayman Islands Dollar + /// * `XAF` - Central African CFA Franc + /// * `CLE` - Chilean Escudo + /// * `CLP` - Chilean Peso + /// * `CLF` - Chilean Unit of Account (UF) + /// * `CNX` - Chinese People’s Bank Dollar + /// * `CNY` - Chinese Yuan + /// * `CNH` - Chinese Yuan (offshore) + /// * `COP` - Colombian Peso + /// * `COU` - Colombian Real Value Unit + /// * `KMF` - Comorian Franc + /// * `CDF` - Congolese Franc + /// * `CRC` - Costa Rican Colón + /// * `HRD` - Croatian Dinar + /// * `HRK` - Croatian Kuna + /// * `CUC` - Cuban Convertible Peso + /// * `CUP` - Cuban Peso + /// * `CYP` - Cypriot Pound + /// * `CZK` - Czech Koruna + /// * `CSK` - Czechoslovak Hard Koruna + /// * `DKK` - Danish Krone + /// * `DJF` - Djiboutian Franc + /// * `DOP` - Dominican Peso + /// * `NLG` - Dutch Guilder + /// * `XCD` - East Caribbean Dollar + /// * `DDM` - East German Mark + /// * `ECS` - Ecuadorian Sucre + /// * `ECV` - Ecuadorian Unit of Constant Value + /// * `EGP` - Egyptian Pound + /// * `GQE` - Equatorial Guinean Ekwele + /// * `ERN` - Eritrean Nakfa + /// * `EEK` - Estonian Kroon + /// * `ETB` - Ethiopian Birr + /// * `EUR` - Euro + /// * `XBA` - European Composite Unit + /// * `XEU` - European Currency Unit + /// * `XBB` - European Monetary Unit + /// * `XBC` - European Unit of Account (XBC) + /// * `XBD` - European Unit of Account (XBD) + /// * `FKP` - Falkland Islands Pound + /// * `FJD` - Fijian Dollar + /// * `FIM` - Finnish Markka + /// * `FRF` - French Franc + /// * `XFO` - French Gold Franc + /// * `XFU` - French UIC-Franc + /// * `GMD` - Gambian Dalasi + /// * `GEK` - Georgian Kupon Larit + /// * `GEL` - Georgian Lari + /// * `DEM` - German Mark + /// * `GHS` - Ghanaian Cedi + /// * `GHC` - Ghanaian Cedi (1979–2007) + /// * `GIP` - Gibraltar Pound + /// * `XAU` - Gold + /// * `GRD` - Greek Drachma + /// * `GTQ` - Guatemalan Quetzal + /// * `GWP` - Guinea-Bissau Peso + /// * `GNF` - Guinean Franc + /// * `GNS` - Guinean Syli + /// * `GYD` - Guyanaese Dollar + /// * `HTG` - Haitian Gourde + /// * `HNL` - Honduran Lempira + /// * `HKD` - Hong Kong Dollar + /// * `HUF` - Hungarian Forint + /// * `IMP` - IMP + /// * `ISK` - Icelandic Króna + /// * `ISJ` - Icelandic Króna (1918–1981) + /// * `INR` - Indian Rupee + /// * `IDR` - Indonesian Rupiah + /// * `IRR` - Iranian Rial + /// * `IQD` - Iraqi Dinar + /// * `IEP` - Irish Pound + /// * `ILS` - Israeli New Shekel + /// * `ILP` - Israeli Pound + /// * `ILR` - Israeli Shekel (1980–1985) + /// * `ITL` - Italian Lira + /// * `JMD` - Jamaican Dollar + /// * `JPY` - Japanese Yen + /// * `JOD` - Jordanian Dinar + /// * `KZT` - Kazakhstani Tenge + /// * `KES` - Kenyan Shilling + /// * `KWD` - Kuwaiti Dinar + /// * `KGS` - Kyrgystani Som + /// * `LAK` - Laotian Kip + /// * `LVL` - Latvian Lats + /// * `LVR` - Latvian Ruble + /// * `LBP` - Lebanese Pound + /// * `LSL` - Lesotho Loti + /// * `LRD` - Liberian Dollar + /// * `LYD` - Libyan Dinar + /// * `LTL` - Lithuanian Litas + /// * `LTT` - Lithuanian Talonas + /// * `LUL` - Luxembourg Financial Franc + /// * `LUC` - Luxembourgian Convertible Franc + /// * `LUF` - Luxembourgian Franc + /// * `MOP` - Macanese Pataca + /// * `MKD` - Macedonian Denar + /// * `MKN` - Macedonian Denar (1992–1993) + /// * `MGA` - Malagasy Ariary + /// * `MGF` - Malagasy Franc + /// * `MWK` - Malawian Kwacha + /// * `MYR` - Malaysian Ringgit + /// * `MVR` - Maldivian Rufiyaa + /// * `MVP` - Maldivian Rupee (1947–1981) + /// * `MLF` - Malian Franc + /// * `MTL` - Maltese Lira + /// * `MTP` - Maltese Pound + /// * `MRU` - Mauritanian Ouguiya + /// * `MRO` - Mauritanian Ouguiya (1973–2017) + /// * `MUR` - Mauritian Rupee + /// * `MXV` - Mexican Investment Unit + /// * `MXN` - Mexican Peso + /// * `MXP` - Mexican Silver Peso (1861–1992) + /// * `MDC` - Moldovan Cupon + /// * `MDL` - Moldovan Leu + /// * `MCF` - Monegasque Franc + /// * `MNT` - Mongolian Tugrik + /// * `MAD` - Moroccan Dirham + /// * `MAF` - Moroccan Franc + /// * `MZE` - Mozambican Escudo + /// * `MZN` - Mozambican Metical + /// * `MZM` - Mozambican Metical (1980–2006) + /// * `MMK` - Myanmar Kyat + /// * `NAD` - Namibian Dollar + /// * `NPR` - Nepalese Rupee + /// * `ANG` - Netherlands Antillean Guilder + /// * `TWD` - New Taiwan Dollar + /// * `NZD` - New Zealand Dollar + /// * `NIO` - Nicaraguan Córdoba + /// * `NIC` - Nicaraguan Córdoba (1988–1991) + /// * `NGN` - Nigerian Naira + /// * `KPW` - North Korean Won + /// * `NOK` - Norwegian Krone + /// * `OMR` - Omani Rial + /// * `PKR` - Pakistani Rupee + /// * `XPD` - Palladium + /// * `PAB` - Panamanian Balboa + /// * `PGK` - Papua New Guinean Kina + /// * `PYG` - Paraguayan Guarani + /// * `PEI` - Peruvian Inti + /// * `PEN` - Peruvian Sol + /// * `PES` - Peruvian Sol (1863–1965) + /// * `PHP` - Philippine Peso + /// * `XPT` - Platinum + /// * `PLN` - Polish Zloty + /// * `PLZ` - Polish Zloty (1950–1995) + /// * `PTE` - Portuguese Escudo + /// * `GWE` - Portuguese Guinea Escudo + /// * `QAR` - Qatari Rial + /// * `XRE` - RINET Funds + /// * `RHD` - Rhodesian Dollar + /// * `RON` - Romanian Leu + /// * `ROL` - Romanian Leu (1952–2006) + /// * `RUB` - Russian Ruble + /// * `RUR` - Russian Ruble (1991–1998) + /// * `RWF` - Rwandan Franc + /// * `SVC` - Salvadoran Colón + /// * `WST` - Samoan Tala + /// * `SAR` - Saudi Riyal + /// * `RSD` - Serbian Dinar + /// * `CSD` - Serbian Dinar (2002–2006) + /// * `SCR` - Seychellois Rupee + /// * `SLL` - Sierra Leonean Leone + /// * `XAG` - Silver + /// * `SGD` - Singapore Dollar + /// * `SKK` - Slovak Koruna + /// * `SIT` - Slovenian Tolar + /// * `SBD` - Solomon Islands Dollar + /// * `SOS` - Somali Shilling + /// * `ZAR` - South African Rand + /// * `ZAL` - South African Rand (financial) + /// * `KRH` - South Korean Hwan (1953–1962) + /// * `KRW` - South Korean Won + /// * `KRO` - South Korean Won (1945–1953) + /// * `SSP` - South Sudanese Pound + /// * `SUR` - Soviet Rouble + /// * `ESP` - Spanish Peseta + /// * `ESA` - Spanish Peseta (A account) + /// * `ESB` - Spanish Peseta (convertible account) + /// * `XDR` - Special Drawing Rights + /// * `LKR` - Sri Lankan Rupee + /// * `SHP` - St. Helena Pound + /// * `XSU` - Sucre + /// * `SDD` - Sudanese Dinar (1992–2007) + /// * `SDG` - Sudanese Pound + /// * `SDP` - Sudanese Pound (1957–1998) + /// * `SRD` - Surinamese Dollar + /// * `SRG` - Surinamese Guilder + /// * `SZL` - Swazi Lilangeni + /// * `SEK` - Swedish Krona + /// * `CHF` - Swiss Franc + /// * `SYP` - Syrian Pound + /// * `STN` - São Tomé & Príncipe Dobra + /// * `STD` - São Tomé & Príncipe Dobra (1977–2017) + /// * `TVD` - TVD + /// * `TJR` - Tajikistani Ruble + /// * `TJS` - Tajikistani Somoni + /// * `TZS` - Tanzanian Shilling + /// * `XTS` - Testing Currency Code + /// * `THB` - Thai Baht + /// * `XXX` - The codes assigned for transactions where no currency is involved + /// * `TPE` - Timorese Escudo + /// * `TOP` - Tongan Paʻanga + /// * `TTD` - Trinidad & Tobago Dollar + /// * `TND` - Tunisian Dinar + /// * `TRY` - Turkish Lira + /// * `TRL` - Turkish Lira (1922–2005) + /// * `TMT` - Turkmenistani Manat + /// * `TMM` - Turkmenistani Manat (1993–2009) + /// * `USD` - US Dollar + /// * `USN` - US Dollar (Next day) + /// * `USS` - US Dollar (Same day) + /// * `UGX` - Ugandan Shilling + /// * `UGS` - Ugandan Shilling (1966–1987) + /// * `UAH` - Ukrainian Hryvnia + /// * `UAK` - Ukrainian Karbovanets + /// * `AED` - United Arab Emirates Dirham + /// * `UYW` - Uruguayan Nominal Wage Index Unit + /// * `UYU` - Uruguayan Peso + /// * `UYP` - Uruguayan Peso (1975–1993) + /// * `UYI` - Uruguayan Peso (Indexed Units) + /// * `UZS` - Uzbekistani Som + /// * `VUV` - Vanuatu Vatu + /// * `VES` - Venezuelan Bolívar + /// * `VEB` - Venezuelan Bolívar (1871–2008) + /// * `VEF` - Venezuelan Bolívar (2008–2018) + /// * `VND` - Vietnamese Dong + /// * `VNN` - Vietnamese Dong (1978–1985) + /// * `CHE` - WIR Euro + /// * `CHW` - WIR Franc + /// * `XOF` - West African CFA Franc + /// * `YDD` - Yemeni Dinar + /// * `YER` - Yemeni Rial + /// * `YUN` - Yugoslavian Convertible Dinar (1990–1992) + /// * `YUD` - Yugoslavian Hard Dinar (1966–1990) + /// * `YUM` - Yugoslavian New Dinar (1994–2002) + /// * `YUR` - Yugoslavian Reformed Dinar (1992–1993) + /// * `ZWN` - ZWN + /// * `ZRN` - Zairean New Zaire (1993–1998) + /// * `ZRZ` - Zairean Zaire (1971–1993) + /// * `ZMW` - Zambian Kwacha + /// * `ZMK` - Zambian Kwacha (1968–2012) + /// * `ZWD` - Zimbabwean Dollar (1980–2008) + /// * `ZWR` - Zimbabwean Dollar (2008) + /// * `ZWL` - Zimbabwean Dollar (2009) /// [JsonPropertyName("currency")] public TransactionCurrencyEnum? Currency { get; set; } @@ -373,15 +382,29 @@ public record JournalLineRequest [JsonPropertyName("exchange_rate")] public string? ExchangeRate { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("integration_params")] public Dictionary? IntegrationParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("linked_account_params")] public Dictionary? LinkedAccountParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("remote_fields")] public IEnumerable? RemoteFields { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/SyncStatusStatusEnum.cs b/src/Merge.Client/Accounting/Types/LastSyncResultEnum.cs similarity index 82% rename from src/Merge.Client/Accounting/Types/SyncStatusStatusEnum.cs rename to src/Merge.Client/Accounting/Types/LastSyncResultEnum.cs index 9ce38698..987a8773 100644 --- a/src/Merge.Client/Accounting/Types/SyncStatusStatusEnum.cs +++ b/src/Merge.Client/Accounting/Types/LastSyncResultEnum.cs @@ -4,8 +4,8 @@ namespace Merge.Client.Accounting; -[JsonConverter(typeof(EnumSerializer))] -public enum SyncStatusStatusEnum +[JsonConverter(typeof(EnumSerializer))] +public enum LastSyncResultEnum { [EnumMember(Value = "SYNCING")] Syncing, diff --git a/src/Merge.Client/Accounting/Types/LinkToken.cs b/src/Merge.Client/Accounting/Types/LinkToken.cs index 87dff7eb..10895d6d 100644 --- a/src/Merge.Client/Accounting/Types/LinkToken.cs +++ b/src/Merge.Client/Accounting/Types/LinkToken.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record LinkToken [JsonPropertyName("magic_link_url")] public string? MagicLinkUrl { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/LinkedAccountStatus.cs b/src/Merge.Client/Accounting/Types/LinkedAccountStatus.cs index ff5ed6c5..6e42de14 100644 --- a/src/Merge.Client/Accounting/Types/LinkedAccountStatus.cs +++ b/src/Merge.Client/Accounting/Types/LinkedAccountStatus.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -11,6 +12,17 @@ public record LinkedAccountStatus [JsonPropertyName("can_make_request")] public required bool CanMakeRequest { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/MetaResponse.cs b/src/Merge.Client/Accounting/Types/MetaResponse.cs index f7c33497..73e366b5 100644 --- a/src/Merge.Client/Accounting/Types/MetaResponse.cs +++ b/src/Merge.Client/Accounting/Types/MetaResponse.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -21,6 +22,17 @@ public record MetaResponse [JsonPropertyName("has_required_linked_account_params")] public required bool HasRequiredLinkedAccountParams { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/MethodTypeEnum.cs b/src/Merge.Client/Accounting/Types/MethodTypeEnum.cs new file mode 100644 index 00000000..b689fa10 --- /dev/null +++ b/src/Merge.Client/Accounting/Types/MethodTypeEnum.cs @@ -0,0 +1,24 @@ +using System.Runtime.Serialization; +using System.Text.Json.Serialization; +using Merge.Client.Core; + +namespace Merge.Client.Accounting; + +[JsonConverter(typeof(EnumSerializer))] +public enum MethodTypeEnum +{ + [EnumMember(Value = "CREDIT_CARD")] + CreditCard, + + [EnumMember(Value = "DEBIT_CARD")] + DebitCard, + + [EnumMember(Value = "ACH")] + Ach, + + [EnumMember(Value = "CASH")] + Cash, + + [EnumMember(Value = "CHECK")] + Check, +} diff --git a/src/Merge.Client/Accounting/Types/ModelOperation.cs b/src/Merge.Client/Accounting/Types/ModelOperation.cs index 1619a20f..63761a88 100644 --- a/src/Merge.Client/Accounting/Types/ModelOperation.cs +++ b/src/Merge.Client/Accounting/Types/ModelOperation.cs @@ -1,8 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; +/// +/// # The ModelOperation Object +/// ### Description +/// The `ModelOperation` object is used to represent the operations that are currently supported for a given model. +/// +/// ### Usage Example +/// View what operations are supported for the `Candidate` endpoint. +/// public record ModelOperation { [JsonPropertyName("model_name")] @@ -17,6 +26,17 @@ public record ModelOperation [JsonPropertyName("supported_fields")] public IEnumerable SupportedFields { get; set; } = new List(); + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/ModelPermissionDeserializer.cs b/src/Merge.Client/Accounting/Types/ModelPermissionDeserializer.cs index 70023de0..a4c55e9d 100644 --- a/src/Merge.Client/Accounting/Types/ModelPermissionDeserializer.cs +++ b/src/Merge.Client/Accounting/Types/ModelPermissionDeserializer.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -8,6 +9,17 @@ public record ModelPermissionDeserializer [JsonPropertyName("is_enabled")] public bool? IsEnabled { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/ModelPermissionDeserializerRequest.cs b/src/Merge.Client/Accounting/Types/ModelPermissionDeserializerRequest.cs index 04924ac1..fcf763e2 100644 --- a/src/Merge.Client/Accounting/Types/ModelPermissionDeserializerRequest.cs +++ b/src/Merge.Client/Accounting/Types/ModelPermissionDeserializerRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -8,6 +9,17 @@ public record ModelPermissionDeserializerRequest [JsonPropertyName("is_enabled")] public bool? IsEnabled { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/MultipartFormFieldRequest.cs b/src/Merge.Client/Accounting/Types/MultipartFormFieldRequest.cs index 4e19d0c2..cd9696e9 100644 --- a/src/Merge.Client/Accounting/Types/MultipartFormFieldRequest.cs +++ b/src/Merge.Client/Accounting/Types/MultipartFormFieldRequest.cs @@ -1,8 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; +/// +/// # The MultipartFormField Object +/// ### Description +/// The `MultipartFormField` object is used to represent fields in an HTTP request using `multipart/form-data`. +/// +/// ### Usage Example +/// Create a `MultipartFormField` to define a multipart form entry. +/// public record MultipartFormFieldRequest { /// @@ -20,9 +29,9 @@ public record MultipartFormFieldRequest /// /// The encoding of the value of `data`. Defaults to `RAW` if not defined. /// - /// - `RAW` - RAW - /// - `BASE64` - BASE64 - /// - `GZIP_BASE64` - GZIP_BASE64 + /// * `RAW` - RAW + /// * `BASE64` - BASE64 + /// * `GZIP_BASE64` - GZIP_BASE64 /// [JsonPropertyName("encoding")] public EncodingEnum? Encoding { get; set; } @@ -39,6 +48,17 @@ public record MultipartFormFieldRequest [JsonPropertyName("content_type")] public string? ContentType { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/PaginatedAccountDetailsAndActionsList.cs b/src/Merge.Client/Accounting/Types/PaginatedAccountDetailsAndActionsList.cs index 21806ad6..e5a48105 100644 --- a/src/Merge.Client/Accounting/Types/PaginatedAccountDetailsAndActionsList.cs +++ b/src/Merge.Client/Accounting/Types/PaginatedAccountDetailsAndActionsList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedAccountDetailsAndActionsList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/PaginatedAccountList.cs b/src/Merge.Client/Accounting/Types/PaginatedAccountList.cs index 1122da62..ca7cf9ad 100644 --- a/src/Merge.Client/Accounting/Types/PaginatedAccountList.cs +++ b/src/Merge.Client/Accounting/Types/PaginatedAccountList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedAccountList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/PaginatedAccountingAttachmentList.cs b/src/Merge.Client/Accounting/Types/PaginatedAccountingAttachmentList.cs index 7b93d591..e701634b 100644 --- a/src/Merge.Client/Accounting/Types/PaginatedAccountingAttachmentList.cs +++ b/src/Merge.Client/Accounting/Types/PaginatedAccountingAttachmentList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedAccountingAttachmentList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/PaginatedAccountingPeriodList.cs b/src/Merge.Client/Accounting/Types/PaginatedAccountingPeriodList.cs index 19a27fe2..00121cf4 100644 --- a/src/Merge.Client/Accounting/Types/PaginatedAccountingPeriodList.cs +++ b/src/Merge.Client/Accounting/Types/PaginatedAccountingPeriodList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedAccountingPeriodList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/PaginatedAuditLogEventList.cs b/src/Merge.Client/Accounting/Types/PaginatedAuditLogEventList.cs index ca368cfc..bb0f32a5 100644 --- a/src/Merge.Client/Accounting/Types/PaginatedAuditLogEventList.cs +++ b/src/Merge.Client/Accounting/Types/PaginatedAuditLogEventList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedAuditLogEventList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/PaginatedBalanceSheetList.cs b/src/Merge.Client/Accounting/Types/PaginatedBalanceSheetList.cs index a2f10148..2e4222fc 100644 --- a/src/Merge.Client/Accounting/Types/PaginatedBalanceSheetList.cs +++ b/src/Merge.Client/Accounting/Types/PaginatedBalanceSheetList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedBalanceSheetList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/PaginatedBankFeedAccountList.cs b/src/Merge.Client/Accounting/Types/PaginatedBankFeedAccountList.cs index 3648e1d4..a6e95cb7 100644 --- a/src/Merge.Client/Accounting/Types/PaginatedBankFeedAccountList.cs +++ b/src/Merge.Client/Accounting/Types/PaginatedBankFeedAccountList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedBankFeedAccountList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/PaginatedBankFeedTransactionList.cs b/src/Merge.Client/Accounting/Types/PaginatedBankFeedTransactionList.cs index f719f9ac..366530c4 100644 --- a/src/Merge.Client/Accounting/Types/PaginatedBankFeedTransactionList.cs +++ b/src/Merge.Client/Accounting/Types/PaginatedBankFeedTransactionList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedBankFeedTransactionList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/PaginatedCashFlowStatementList.cs b/src/Merge.Client/Accounting/Types/PaginatedCashFlowStatementList.cs index 2fe1d2a7..8ccf061e 100644 --- a/src/Merge.Client/Accounting/Types/PaginatedCashFlowStatementList.cs +++ b/src/Merge.Client/Accounting/Types/PaginatedCashFlowStatementList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedCashFlowStatementList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/PaginatedCompanyInfoList.cs b/src/Merge.Client/Accounting/Types/PaginatedCompanyInfoList.cs index 9aa03991..bb3b6821 100644 --- a/src/Merge.Client/Accounting/Types/PaginatedCompanyInfoList.cs +++ b/src/Merge.Client/Accounting/Types/PaginatedCompanyInfoList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedCompanyInfoList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/PaginatedContactList.cs b/src/Merge.Client/Accounting/Types/PaginatedContactList.cs index 32ae2dc8..17f1d5bc 100644 --- a/src/Merge.Client/Accounting/Types/PaginatedContactList.cs +++ b/src/Merge.Client/Accounting/Types/PaginatedContactList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedContactList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/PaginatedCreditNoteList.cs b/src/Merge.Client/Accounting/Types/PaginatedCreditNoteList.cs index 42a5b493..d102650c 100644 --- a/src/Merge.Client/Accounting/Types/PaginatedCreditNoteList.cs +++ b/src/Merge.Client/Accounting/Types/PaginatedCreditNoteList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedCreditNoteList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/PaginatedEmployeeList.cs b/src/Merge.Client/Accounting/Types/PaginatedEmployeeList.cs index e5b86642..d20c565e 100644 --- a/src/Merge.Client/Accounting/Types/PaginatedEmployeeList.cs +++ b/src/Merge.Client/Accounting/Types/PaginatedEmployeeList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedEmployeeList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/PaginatedExpenseList.cs b/src/Merge.Client/Accounting/Types/PaginatedExpenseList.cs index d2c77661..403decae 100644 --- a/src/Merge.Client/Accounting/Types/PaginatedExpenseList.cs +++ b/src/Merge.Client/Accounting/Types/PaginatedExpenseList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedExpenseList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/PaginatedGeneralLedgerTransactionList.cs b/src/Merge.Client/Accounting/Types/PaginatedGeneralLedgerTransactionList.cs index 160988f8..4249e940 100644 --- a/src/Merge.Client/Accounting/Types/PaginatedGeneralLedgerTransactionList.cs +++ b/src/Merge.Client/Accounting/Types/PaginatedGeneralLedgerTransactionList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedGeneralLedgerTransactionList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/PaginatedIncomeStatementList.cs b/src/Merge.Client/Accounting/Types/PaginatedIncomeStatementList.cs index cf0bd473..522d4376 100644 --- a/src/Merge.Client/Accounting/Types/PaginatedIncomeStatementList.cs +++ b/src/Merge.Client/Accounting/Types/PaginatedIncomeStatementList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedIncomeStatementList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/PaginatedInvoiceList.cs b/src/Merge.Client/Accounting/Types/PaginatedInvoiceList.cs index 8b9ca871..5ffe6d48 100644 --- a/src/Merge.Client/Accounting/Types/PaginatedInvoiceList.cs +++ b/src/Merge.Client/Accounting/Types/PaginatedInvoiceList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedInvoiceList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/PaginatedIssueList.cs b/src/Merge.Client/Accounting/Types/PaginatedIssueList.cs index 1c2a29fa..49170a9a 100644 --- a/src/Merge.Client/Accounting/Types/PaginatedIssueList.cs +++ b/src/Merge.Client/Accounting/Types/PaginatedIssueList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedIssueList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/PaginatedItemList.cs b/src/Merge.Client/Accounting/Types/PaginatedItemList.cs index 3c5d7c98..f19b46f5 100644 --- a/src/Merge.Client/Accounting/Types/PaginatedItemList.cs +++ b/src/Merge.Client/Accounting/Types/PaginatedItemList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedItemList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/PaginatedJournalEntryList.cs b/src/Merge.Client/Accounting/Types/PaginatedJournalEntryList.cs index 87f4f12a..26e1ac6d 100644 --- a/src/Merge.Client/Accounting/Types/PaginatedJournalEntryList.cs +++ b/src/Merge.Client/Accounting/Types/PaginatedJournalEntryList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedJournalEntryList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/PaginatedPaymentList.cs b/src/Merge.Client/Accounting/Types/PaginatedPaymentList.cs index 951c6629..4cc961c2 100644 --- a/src/Merge.Client/Accounting/Types/PaginatedPaymentList.cs +++ b/src/Merge.Client/Accounting/Types/PaginatedPaymentList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedPaymentList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/PaginatedPaymentMethodList.cs b/src/Merge.Client/Accounting/Types/PaginatedPaymentMethodList.cs new file mode 100644 index 00000000..0f53758c --- /dev/null +++ b/src/Merge.Client/Accounting/Types/PaginatedPaymentMethodList.cs @@ -0,0 +1,33 @@ +using System.Text.Json; +using System.Text.Json.Serialization; +using Merge.Client.Core; + +namespace Merge.Client.Accounting; + +public record PaginatedPaymentMethodList +{ + [JsonPropertyName("next")] + public string? Next { get; set; } + + [JsonPropertyName("previous")] + public string? Previous { get; set; } + + [JsonPropertyName("results")] + public IEnumerable? Results { get; set; } + + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// + public override string ToString() + { + return JsonUtils.Serialize(this); + } +} diff --git a/src/Merge.Client/Accounting/Types/PaginatedPaymentTermList.cs b/src/Merge.Client/Accounting/Types/PaginatedPaymentTermList.cs new file mode 100644 index 00000000..83d4ba5a --- /dev/null +++ b/src/Merge.Client/Accounting/Types/PaginatedPaymentTermList.cs @@ -0,0 +1,33 @@ +using System.Text.Json; +using System.Text.Json.Serialization; +using Merge.Client.Core; + +namespace Merge.Client.Accounting; + +public record PaginatedPaymentTermList +{ + [JsonPropertyName("next")] + public string? Next { get; set; } + + [JsonPropertyName("previous")] + public string? Previous { get; set; } + + [JsonPropertyName("results")] + public IEnumerable? Results { get; set; } + + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// + public override string ToString() + { + return JsonUtils.Serialize(this); + } +} diff --git a/src/Merge.Client/Accounting/Types/PaginatedPurchaseOrderList.cs b/src/Merge.Client/Accounting/Types/PaginatedPurchaseOrderList.cs index 27ea2c0c..4314c42e 100644 --- a/src/Merge.Client/Accounting/Types/PaginatedPurchaseOrderList.cs +++ b/src/Merge.Client/Accounting/Types/PaginatedPurchaseOrderList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedPurchaseOrderList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/PaginatedRemoteFieldClassList.cs b/src/Merge.Client/Accounting/Types/PaginatedRemoteFieldClassList.cs index 3052f03f..4d1be43d 100644 --- a/src/Merge.Client/Accounting/Types/PaginatedRemoteFieldClassList.cs +++ b/src/Merge.Client/Accounting/Types/PaginatedRemoteFieldClassList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedRemoteFieldClassList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/PaginatedSyncStatusList.cs b/src/Merge.Client/Accounting/Types/PaginatedSyncStatusList.cs index e51f10bd..31b34f99 100644 --- a/src/Merge.Client/Accounting/Types/PaginatedSyncStatusList.cs +++ b/src/Merge.Client/Accounting/Types/PaginatedSyncStatusList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedSyncStatusList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/PaginatedTaxRateList.cs b/src/Merge.Client/Accounting/Types/PaginatedTaxRateList.cs index c1d2b562..58e31c56 100644 --- a/src/Merge.Client/Accounting/Types/PaginatedTaxRateList.cs +++ b/src/Merge.Client/Accounting/Types/PaginatedTaxRateList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedTaxRateList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/PaginatedTrackingCategoryList.cs b/src/Merge.Client/Accounting/Types/PaginatedTrackingCategoryList.cs index 7e4efc81..8d7fac2c 100644 --- a/src/Merge.Client/Accounting/Types/PaginatedTrackingCategoryList.cs +++ b/src/Merge.Client/Accounting/Types/PaginatedTrackingCategoryList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedTrackingCategoryList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/PaginatedTransactionList.cs b/src/Merge.Client/Accounting/Types/PaginatedTransactionList.cs index 78523ba0..249c429d 100644 --- a/src/Merge.Client/Accounting/Types/PaginatedTransactionList.cs +++ b/src/Merge.Client/Accounting/Types/PaginatedTransactionList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedTransactionList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/PaginatedVendorCreditList.cs b/src/Merge.Client/Accounting/Types/PaginatedVendorCreditList.cs index 069a7110..2606b5fd 100644 --- a/src/Merge.Client/Accounting/Types/PaginatedVendorCreditList.cs +++ b/src/Merge.Client/Accounting/Types/PaginatedVendorCreditList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedVendorCreditList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/PatchedPaymentRequest.cs b/src/Merge.Client/Accounting/Types/PatchedPaymentRequest.cs index bd6e1fb1..8a47e209 100644 --- a/src/Merge.Client/Accounting/Types/PatchedPaymentRequest.cs +++ b/src/Merge.Client/Accounting/Types/PatchedPaymentRequest.cs @@ -1,9 +1,18 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Accounting; +/// +/// # The Payment Object +/// ### Description +/// The `Payment` object represents general payments made towards a specific transaction. +/// +/// ### Usage Example +/// Fetch from the `GET Payment` endpoint and view an invoice's payment. +/// public record PatchedPaymentRequest { /// @@ -24,315 +33,321 @@ public record PatchedPaymentRequest [JsonPropertyName("account")] public OneOf? Account { get; set; } + /// + /// The method which this payment was made by. + /// + [JsonPropertyName("payment_method")] + public OneOf? PaymentMethod { get; set; } + /// /// The payment's currency. /// - /// - `XUA` - ADB Unit of Account - /// - `AFN` - Afghan Afghani - /// - `AFA` - Afghan Afghani (1927–2002) - /// - `ALL` - Albanian Lek - /// - `ALK` - Albanian Lek (1946–1965) - /// - `DZD` - Algerian Dinar - /// - `ADP` - Andorran Peseta - /// - `AOA` - Angolan Kwanza - /// - `AOK` - Angolan Kwanza (1977–1991) - /// - `AON` - Angolan New Kwanza (1990–2000) - /// - `AOR` - Angolan Readjusted Kwanza (1995–1999) - /// - `ARA` - Argentine Austral - /// - `ARS` - Argentine Peso - /// - `ARM` - Argentine Peso (1881–1970) - /// - `ARP` - Argentine Peso (1983–1985) - /// - `ARL` - Argentine Peso Ley (1970–1983) - /// - `AMD` - Armenian Dram - /// - `AWG` - Aruban Florin - /// - `AUD` - Australian Dollar - /// - `ATS` - Austrian Schilling - /// - `AZN` - Azerbaijani Manat - /// - `AZM` - Azerbaijani Manat (1993–2006) - /// - `BSD` - Bahamian Dollar - /// - `BHD` - Bahraini Dinar - /// - `BDT` - Bangladeshi Taka - /// - `BBD` - Barbadian Dollar - /// - `BYN` - Belarusian Ruble - /// - `BYB` - Belarusian Ruble (1994–1999) - /// - `BYR` - Belarusian Ruble (2000–2016) - /// - `BEF` - Belgian Franc - /// - `BEC` - Belgian Franc (convertible) - /// - `BEL` - Belgian Franc (financial) - /// - `BZD` - Belize Dollar - /// - `BMD` - Bermudan Dollar - /// - `BTN` - Bhutanese Ngultrum - /// - `BOB` - Bolivian Boliviano - /// - `BOL` - Bolivian Boliviano (1863–1963) - /// - `BOV` - Bolivian Mvdol - /// - `BOP` - Bolivian Peso - /// - `BAM` - Bosnia-Herzegovina Convertible Mark - /// - `BAD` - Bosnia-Herzegovina Dinar (1992–1994) - /// - `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) - /// - `BWP` - Botswanan Pula - /// - `BRC` - Brazilian Cruzado (1986–1989) - /// - `BRZ` - Brazilian Cruzeiro (1942–1967) - /// - `BRE` - Brazilian Cruzeiro (1990–1993) - /// - `BRR` - Brazilian Cruzeiro (1993–1994) - /// - `BRN` - Brazilian New Cruzado (1989–1990) - /// - `BRB` - Brazilian New Cruzeiro (1967–1986) - /// - `BRL` - Brazilian Real - /// - `GBP` - British Pound - /// - `BND` - Brunei Dollar - /// - `BGL` - Bulgarian Hard Lev - /// - `BGN` - Bulgarian Lev - /// - `BGO` - Bulgarian Lev (1879–1952) - /// - `BGM` - Bulgarian Socialist Lev - /// - `BUK` - Burmese Kyat - /// - `BIF` - Burundian Franc - /// - `XPF` - CFP Franc - /// - `KHR` - Cambodian Riel - /// - `CAD` - Canadian Dollar - /// - `CVE` - Cape Verdean Escudo - /// - `KYD` - Cayman Islands Dollar - /// - `XAF` - Central African CFA Franc - /// - `CLE` - Chilean Escudo - /// - `CLP` - Chilean Peso - /// - `CLF` - Chilean Unit of Account (UF) - /// - `CNX` - Chinese People’s Bank Dollar - /// - `CNY` - Chinese Yuan - /// - `CNH` - Chinese Yuan (offshore) - /// - `COP` - Colombian Peso - /// - `COU` - Colombian Real Value Unit - /// - `KMF` - Comorian Franc - /// - `CDF` - Congolese Franc - /// - `CRC` - Costa Rican Colón - /// - `HRD` - Croatian Dinar - /// - `HRK` - Croatian Kuna - /// - `CUC` - Cuban Convertible Peso - /// - `CUP` - Cuban Peso - /// - `CYP` - Cypriot Pound - /// - `CZK` - Czech Koruna - /// - `CSK` - Czechoslovak Hard Koruna - /// - `DKK` - Danish Krone - /// - `DJF` - Djiboutian Franc - /// - `DOP` - Dominican Peso - /// - `NLG` - Dutch Guilder - /// - `XCD` - East Caribbean Dollar - /// - `DDM` - East German Mark - /// - `ECS` - Ecuadorian Sucre - /// - `ECV` - Ecuadorian Unit of Constant Value - /// - `EGP` - Egyptian Pound - /// - `GQE` - Equatorial Guinean Ekwele - /// - `ERN` - Eritrean Nakfa - /// - `EEK` - Estonian Kroon - /// - `ETB` - Ethiopian Birr - /// - `EUR` - Euro - /// - `XBA` - European Composite Unit - /// - `XEU` - European Currency Unit - /// - `XBB` - European Monetary Unit - /// - `XBC` - European Unit of Account (XBC) - /// - `XBD` - European Unit of Account (XBD) - /// - `FKP` - Falkland Islands Pound - /// - `FJD` - Fijian Dollar - /// - `FIM` - Finnish Markka - /// - `FRF` - French Franc - /// - `XFO` - French Gold Franc - /// - `XFU` - French UIC-Franc - /// - `GMD` - Gambian Dalasi - /// - `GEK` - Georgian Kupon Larit - /// - `GEL` - Georgian Lari - /// - `DEM` - German Mark - /// - `GHS` - Ghanaian Cedi - /// - `GHC` - Ghanaian Cedi (1979–2007) - /// - `GIP` - Gibraltar Pound - /// - `XAU` - Gold - /// - `GRD` - Greek Drachma - /// - `GTQ` - Guatemalan Quetzal - /// - `GWP` - Guinea-Bissau Peso - /// - `GNF` - Guinean Franc - /// - `GNS` - Guinean Syli - /// - `GYD` - Guyanaese Dollar - /// - `HTG` - Haitian Gourde - /// - `HNL` - Honduran Lempira - /// - `HKD` - Hong Kong Dollar - /// - `HUF` - Hungarian Forint - /// - `IMP` - IMP - /// - `ISK` - Icelandic Króna - /// - `ISJ` - Icelandic Króna (1918–1981) - /// - `INR` - Indian Rupee - /// - `IDR` - Indonesian Rupiah - /// - `IRR` - Iranian Rial - /// - `IQD` - Iraqi Dinar - /// - `IEP` - Irish Pound - /// - `ILS` - Israeli New Shekel - /// - `ILP` - Israeli Pound - /// - `ILR` - Israeli Shekel (1980–1985) - /// - `ITL` - Italian Lira - /// - `JMD` - Jamaican Dollar - /// - `JPY` - Japanese Yen - /// - `JOD` - Jordanian Dinar - /// - `KZT` - Kazakhstani Tenge - /// - `KES` - Kenyan Shilling - /// - `KWD` - Kuwaiti Dinar - /// - `KGS` - Kyrgystani Som - /// - `LAK` - Laotian Kip - /// - `LVL` - Latvian Lats - /// - `LVR` - Latvian Ruble - /// - `LBP` - Lebanese Pound - /// - `LSL` - Lesotho Loti - /// - `LRD` - Liberian Dollar - /// - `LYD` - Libyan Dinar - /// - `LTL` - Lithuanian Litas - /// - `LTT` - Lithuanian Talonas - /// - `LUL` - Luxembourg Financial Franc - /// - `LUC` - Luxembourgian Convertible Franc - /// - `LUF` - Luxembourgian Franc - /// - `MOP` - Macanese Pataca - /// - `MKD` - Macedonian Denar - /// - `MKN` - Macedonian Denar (1992–1993) - /// - `MGA` - Malagasy Ariary - /// - `MGF` - Malagasy Franc - /// - `MWK` - Malawian Kwacha - /// - `MYR` - Malaysian Ringgit - /// - `MVR` - Maldivian Rufiyaa - /// - `MVP` - Maldivian Rupee (1947–1981) - /// - `MLF` - Malian Franc - /// - `MTL` - Maltese Lira - /// - `MTP` - Maltese Pound - /// - `MRU` - Mauritanian Ouguiya - /// - `MRO` - Mauritanian Ouguiya (1973–2017) - /// - `MUR` - Mauritian Rupee - /// - `MXV` - Mexican Investment Unit - /// - `MXN` - Mexican Peso - /// - `MXP` - Mexican Silver Peso (1861–1992) - /// - `MDC` - Moldovan Cupon - /// - `MDL` - Moldovan Leu - /// - `MCF` - Monegasque Franc - /// - `MNT` - Mongolian Tugrik - /// - `MAD` - Moroccan Dirham - /// - `MAF` - Moroccan Franc - /// - `MZE` - Mozambican Escudo - /// - `MZN` - Mozambican Metical - /// - `MZM` - Mozambican Metical (1980–2006) - /// - `MMK` - Myanmar Kyat - /// - `NAD` - Namibian Dollar - /// - `NPR` - Nepalese Rupee - /// - `ANG` - Netherlands Antillean Guilder - /// - `TWD` - New Taiwan Dollar - /// - `NZD` - New Zealand Dollar - /// - `NIO` - Nicaraguan Córdoba - /// - `NIC` - Nicaraguan Córdoba (1988–1991) - /// - `NGN` - Nigerian Naira - /// - `KPW` - North Korean Won - /// - `NOK` - Norwegian Krone - /// - `OMR` - Omani Rial - /// - `PKR` - Pakistani Rupee - /// - `XPD` - Palladium - /// - `PAB` - Panamanian Balboa - /// - `PGK` - Papua New Guinean Kina - /// - `PYG` - Paraguayan Guarani - /// - `PEI` - Peruvian Inti - /// - `PEN` - Peruvian Sol - /// - `PES` - Peruvian Sol (1863–1965) - /// - `PHP` - Philippine Peso - /// - `XPT` - Platinum - /// - `PLN` - Polish Zloty - /// - `PLZ` - Polish Zloty (1950–1995) - /// - `PTE` - Portuguese Escudo - /// - `GWE` - Portuguese Guinea Escudo - /// - `QAR` - Qatari Rial - /// - `XRE` - RINET Funds - /// - `RHD` - Rhodesian Dollar - /// - `RON` - Romanian Leu - /// - `ROL` - Romanian Leu (1952–2006) - /// - `RUB` - Russian Ruble - /// - `RUR` - Russian Ruble (1991–1998) - /// - `RWF` - Rwandan Franc - /// - `SVC` - Salvadoran Colón - /// - `WST` - Samoan Tala - /// - `SAR` - Saudi Riyal - /// - `RSD` - Serbian Dinar - /// - `CSD` - Serbian Dinar (2002–2006) - /// - `SCR` - Seychellois Rupee - /// - `SLL` - Sierra Leonean Leone - /// - `XAG` - Silver - /// - `SGD` - Singapore Dollar - /// - `SKK` - Slovak Koruna - /// - `SIT` - Slovenian Tolar - /// - `SBD` - Solomon Islands Dollar - /// - `SOS` - Somali Shilling - /// - `ZAR` - South African Rand - /// - `ZAL` - South African Rand (financial) - /// - `KRH` - South Korean Hwan (1953–1962) - /// - `KRW` - South Korean Won - /// - `KRO` - South Korean Won (1945–1953) - /// - `SSP` - South Sudanese Pound - /// - `SUR` - Soviet Rouble - /// - `ESP` - Spanish Peseta - /// - `ESA` - Spanish Peseta (A account) - /// - `ESB` - Spanish Peseta (convertible account) - /// - `XDR` - Special Drawing Rights - /// - `LKR` - Sri Lankan Rupee - /// - `SHP` - St. Helena Pound - /// - `XSU` - Sucre - /// - `SDD` - Sudanese Dinar (1992–2007) - /// - `SDG` - Sudanese Pound - /// - `SDP` - Sudanese Pound (1957–1998) - /// - `SRD` - Surinamese Dollar - /// - `SRG` - Surinamese Guilder - /// - `SZL` - Swazi Lilangeni - /// - `SEK` - Swedish Krona - /// - `CHF` - Swiss Franc - /// - `SYP` - Syrian Pound - /// - `STN` - São Tomé & Príncipe Dobra - /// - `STD` - São Tomé & Príncipe Dobra (1977–2017) - /// - `TVD` - TVD - /// - `TJR` - Tajikistani Ruble - /// - `TJS` - Tajikistani Somoni - /// - `TZS` - Tanzanian Shilling - /// - `XTS` - Testing Currency Code - /// - `THB` - Thai Baht - /// - `XXX` - The codes assigned for transactions where no currency is involved - /// - `TPE` - Timorese Escudo - /// - `TOP` - Tongan Paʻanga - /// - `TTD` - Trinidad & Tobago Dollar - /// - `TND` - Tunisian Dinar - /// - `TRY` - Turkish Lira - /// - `TRL` - Turkish Lira (1922–2005) - /// - `TMT` - Turkmenistani Manat - /// - `TMM` - Turkmenistani Manat (1993–2009) - /// - `USD` - US Dollar - /// - `USN` - US Dollar (Next day) - /// - `USS` - US Dollar (Same day) - /// - `UGX` - Ugandan Shilling - /// - `UGS` - Ugandan Shilling (1966–1987) - /// - `UAH` - Ukrainian Hryvnia - /// - `UAK` - Ukrainian Karbovanets - /// - `AED` - United Arab Emirates Dirham - /// - `UYW` - Uruguayan Nominal Wage Index Unit - /// - `UYU` - Uruguayan Peso - /// - `UYP` - Uruguayan Peso (1975–1993) - /// - `UYI` - Uruguayan Peso (Indexed Units) - /// - `UZS` - Uzbekistani Som - /// - `VUV` - Vanuatu Vatu - /// - `VES` - Venezuelan Bolívar - /// - `VEB` - Venezuelan Bolívar (1871–2008) - /// - `VEF` - Venezuelan Bolívar (2008–2018) - /// - `VND` - Vietnamese Dong - /// - `VNN` - Vietnamese Dong (1978–1985) - /// - `CHE` - WIR Euro - /// - `CHW` - WIR Franc - /// - `XOF` - West African CFA Franc - /// - `YDD` - Yemeni Dinar - /// - `YER` - Yemeni Rial - /// - `YUN` - Yugoslavian Convertible Dinar (1990–1992) - /// - `YUD` - Yugoslavian Hard Dinar (1966–1990) - /// - `YUM` - Yugoslavian New Dinar (1994–2002) - /// - `YUR` - Yugoslavian Reformed Dinar (1992–1993) - /// - `ZWN` - ZWN - /// - `ZRN` - Zairean New Zaire (1993–1998) - /// - `ZRZ` - Zairean Zaire (1971–1993) - /// - `ZMW` - Zambian Kwacha - /// - `ZMK` - Zambian Kwacha (1968–2012) - /// - `ZWD` - Zimbabwean Dollar (1980–2008) - /// - `ZWR` - Zimbabwean Dollar (2008) - /// - `ZWL` - Zimbabwean Dollar (2009) + /// * `XUA` - ADB Unit of Account + /// * `AFN` - Afghan Afghani + /// * `AFA` - Afghan Afghani (1927–2002) + /// * `ALL` - Albanian Lek + /// * `ALK` - Albanian Lek (1946–1965) + /// * `DZD` - Algerian Dinar + /// * `ADP` - Andorran Peseta + /// * `AOA` - Angolan Kwanza + /// * `AOK` - Angolan Kwanza (1977–1991) + /// * `AON` - Angolan New Kwanza (1990–2000) + /// * `AOR` - Angolan Readjusted Kwanza (1995–1999) + /// * `ARA` - Argentine Austral + /// * `ARS` - Argentine Peso + /// * `ARM` - Argentine Peso (1881–1970) + /// * `ARP` - Argentine Peso (1983–1985) + /// * `ARL` - Argentine Peso Ley (1970–1983) + /// * `AMD` - Armenian Dram + /// * `AWG` - Aruban Florin + /// * `AUD` - Australian Dollar + /// * `ATS` - Austrian Schilling + /// * `AZN` - Azerbaijani Manat + /// * `AZM` - Azerbaijani Manat (1993–2006) + /// * `BSD` - Bahamian Dollar + /// * `BHD` - Bahraini Dinar + /// * `BDT` - Bangladeshi Taka + /// * `BBD` - Barbadian Dollar + /// * `BYN` - Belarusian Ruble + /// * `BYB` - Belarusian Ruble (1994–1999) + /// * `BYR` - Belarusian Ruble (2000–2016) + /// * `BEF` - Belgian Franc + /// * `BEC` - Belgian Franc (convertible) + /// * `BEL` - Belgian Franc (financial) + /// * `BZD` - Belize Dollar + /// * `BMD` - Bermudan Dollar + /// * `BTN` - Bhutanese Ngultrum + /// * `BOB` - Bolivian Boliviano + /// * `BOL` - Bolivian Boliviano (1863–1963) + /// * `BOV` - Bolivian Mvdol + /// * `BOP` - Bolivian Peso + /// * `BAM` - Bosnia-Herzegovina Convertible Mark + /// * `BAD` - Bosnia-Herzegovina Dinar (1992–1994) + /// * `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) + /// * `BWP` - Botswanan Pula + /// * `BRC` - Brazilian Cruzado (1986–1989) + /// * `BRZ` - Brazilian Cruzeiro (1942–1967) + /// * `BRE` - Brazilian Cruzeiro (1990–1993) + /// * `BRR` - Brazilian Cruzeiro (1993–1994) + /// * `BRN` - Brazilian New Cruzado (1989–1990) + /// * `BRB` - Brazilian New Cruzeiro (1967–1986) + /// * `BRL` - Brazilian Real + /// * `GBP` - British Pound + /// * `BND` - Brunei Dollar + /// * `BGL` - Bulgarian Hard Lev + /// * `BGN` - Bulgarian Lev + /// * `BGO` - Bulgarian Lev (1879–1952) + /// * `BGM` - Bulgarian Socialist Lev + /// * `BUK` - Burmese Kyat + /// * `BIF` - Burundian Franc + /// * `XPF` - CFP Franc + /// * `KHR` - Cambodian Riel + /// * `CAD` - Canadian Dollar + /// * `CVE` - Cape Verdean Escudo + /// * `KYD` - Cayman Islands Dollar + /// * `XAF` - Central African CFA Franc + /// * `CLE` - Chilean Escudo + /// * `CLP` - Chilean Peso + /// * `CLF` - Chilean Unit of Account (UF) + /// * `CNX` - Chinese People’s Bank Dollar + /// * `CNY` - Chinese Yuan + /// * `CNH` - Chinese Yuan (offshore) + /// * `COP` - Colombian Peso + /// * `COU` - Colombian Real Value Unit + /// * `KMF` - Comorian Franc + /// * `CDF` - Congolese Franc + /// * `CRC` - Costa Rican Colón + /// * `HRD` - Croatian Dinar + /// * `HRK` - Croatian Kuna + /// * `CUC` - Cuban Convertible Peso + /// * `CUP` - Cuban Peso + /// * `CYP` - Cypriot Pound + /// * `CZK` - Czech Koruna + /// * `CSK` - Czechoslovak Hard Koruna + /// * `DKK` - Danish Krone + /// * `DJF` - Djiboutian Franc + /// * `DOP` - Dominican Peso + /// * `NLG` - Dutch Guilder + /// * `XCD` - East Caribbean Dollar + /// * `DDM` - East German Mark + /// * `ECS` - Ecuadorian Sucre + /// * `ECV` - Ecuadorian Unit of Constant Value + /// * `EGP` - Egyptian Pound + /// * `GQE` - Equatorial Guinean Ekwele + /// * `ERN` - Eritrean Nakfa + /// * `EEK` - Estonian Kroon + /// * `ETB` - Ethiopian Birr + /// * `EUR` - Euro + /// * `XBA` - European Composite Unit + /// * `XEU` - European Currency Unit + /// * `XBB` - European Monetary Unit + /// * `XBC` - European Unit of Account (XBC) + /// * `XBD` - European Unit of Account (XBD) + /// * `FKP` - Falkland Islands Pound + /// * `FJD` - Fijian Dollar + /// * `FIM` - Finnish Markka + /// * `FRF` - French Franc + /// * `XFO` - French Gold Franc + /// * `XFU` - French UIC-Franc + /// * `GMD` - Gambian Dalasi + /// * `GEK` - Georgian Kupon Larit + /// * `GEL` - Georgian Lari + /// * `DEM` - German Mark + /// * `GHS` - Ghanaian Cedi + /// * `GHC` - Ghanaian Cedi (1979–2007) + /// * `GIP` - Gibraltar Pound + /// * `XAU` - Gold + /// * `GRD` - Greek Drachma + /// * `GTQ` - Guatemalan Quetzal + /// * `GWP` - Guinea-Bissau Peso + /// * `GNF` - Guinean Franc + /// * `GNS` - Guinean Syli + /// * `GYD` - Guyanaese Dollar + /// * `HTG` - Haitian Gourde + /// * `HNL` - Honduran Lempira + /// * `HKD` - Hong Kong Dollar + /// * `HUF` - Hungarian Forint + /// * `IMP` - IMP + /// * `ISK` - Icelandic Króna + /// * `ISJ` - Icelandic Króna (1918–1981) + /// * `INR` - Indian Rupee + /// * `IDR` - Indonesian Rupiah + /// * `IRR` - Iranian Rial + /// * `IQD` - Iraqi Dinar + /// * `IEP` - Irish Pound + /// * `ILS` - Israeli New Shekel + /// * `ILP` - Israeli Pound + /// * `ILR` - Israeli Shekel (1980–1985) + /// * `ITL` - Italian Lira + /// * `JMD` - Jamaican Dollar + /// * `JPY` - Japanese Yen + /// * `JOD` - Jordanian Dinar + /// * `KZT` - Kazakhstani Tenge + /// * `KES` - Kenyan Shilling + /// * `KWD` - Kuwaiti Dinar + /// * `KGS` - Kyrgystani Som + /// * `LAK` - Laotian Kip + /// * `LVL` - Latvian Lats + /// * `LVR` - Latvian Ruble + /// * `LBP` - Lebanese Pound + /// * `LSL` - Lesotho Loti + /// * `LRD` - Liberian Dollar + /// * `LYD` - Libyan Dinar + /// * `LTL` - Lithuanian Litas + /// * `LTT` - Lithuanian Talonas + /// * `LUL` - Luxembourg Financial Franc + /// * `LUC` - Luxembourgian Convertible Franc + /// * `LUF` - Luxembourgian Franc + /// * `MOP` - Macanese Pataca + /// * `MKD` - Macedonian Denar + /// * `MKN` - Macedonian Denar (1992–1993) + /// * `MGA` - Malagasy Ariary + /// * `MGF` - Malagasy Franc + /// * `MWK` - Malawian Kwacha + /// * `MYR` - Malaysian Ringgit + /// * `MVR` - Maldivian Rufiyaa + /// * `MVP` - Maldivian Rupee (1947–1981) + /// * `MLF` - Malian Franc + /// * `MTL` - Maltese Lira + /// * `MTP` - Maltese Pound + /// * `MRU` - Mauritanian Ouguiya + /// * `MRO` - Mauritanian Ouguiya (1973–2017) + /// * `MUR` - Mauritian Rupee + /// * `MXV` - Mexican Investment Unit + /// * `MXN` - Mexican Peso + /// * `MXP` - Mexican Silver Peso (1861–1992) + /// * `MDC` - Moldovan Cupon + /// * `MDL` - Moldovan Leu + /// * `MCF` - Monegasque Franc + /// * `MNT` - Mongolian Tugrik + /// * `MAD` - Moroccan Dirham + /// * `MAF` - Moroccan Franc + /// * `MZE` - Mozambican Escudo + /// * `MZN` - Mozambican Metical + /// * `MZM` - Mozambican Metical (1980–2006) + /// * `MMK` - Myanmar Kyat + /// * `NAD` - Namibian Dollar + /// * `NPR` - Nepalese Rupee + /// * `ANG` - Netherlands Antillean Guilder + /// * `TWD` - New Taiwan Dollar + /// * `NZD` - New Zealand Dollar + /// * `NIO` - Nicaraguan Córdoba + /// * `NIC` - Nicaraguan Córdoba (1988–1991) + /// * `NGN` - Nigerian Naira + /// * `KPW` - North Korean Won + /// * `NOK` - Norwegian Krone + /// * `OMR` - Omani Rial + /// * `PKR` - Pakistani Rupee + /// * `XPD` - Palladium + /// * `PAB` - Panamanian Balboa + /// * `PGK` - Papua New Guinean Kina + /// * `PYG` - Paraguayan Guarani + /// * `PEI` - Peruvian Inti + /// * `PEN` - Peruvian Sol + /// * `PES` - Peruvian Sol (1863–1965) + /// * `PHP` - Philippine Peso + /// * `XPT` - Platinum + /// * `PLN` - Polish Zloty + /// * `PLZ` - Polish Zloty (1950–1995) + /// * `PTE` - Portuguese Escudo + /// * `GWE` - Portuguese Guinea Escudo + /// * `QAR` - Qatari Rial + /// * `XRE` - RINET Funds + /// * `RHD` - Rhodesian Dollar + /// * `RON` - Romanian Leu + /// * `ROL` - Romanian Leu (1952–2006) + /// * `RUB` - Russian Ruble + /// * `RUR` - Russian Ruble (1991–1998) + /// * `RWF` - Rwandan Franc + /// * `SVC` - Salvadoran Colón + /// * `WST` - Samoan Tala + /// * `SAR` - Saudi Riyal + /// * `RSD` - Serbian Dinar + /// * `CSD` - Serbian Dinar (2002–2006) + /// * `SCR` - Seychellois Rupee + /// * `SLL` - Sierra Leonean Leone + /// * `XAG` - Silver + /// * `SGD` - Singapore Dollar + /// * `SKK` - Slovak Koruna + /// * `SIT` - Slovenian Tolar + /// * `SBD` - Solomon Islands Dollar + /// * `SOS` - Somali Shilling + /// * `ZAR` - South African Rand + /// * `ZAL` - South African Rand (financial) + /// * `KRH` - South Korean Hwan (1953–1962) + /// * `KRW` - South Korean Won + /// * `KRO` - South Korean Won (1945–1953) + /// * `SSP` - South Sudanese Pound + /// * `SUR` - Soviet Rouble + /// * `ESP` - Spanish Peseta + /// * `ESA` - Spanish Peseta (A account) + /// * `ESB` - Spanish Peseta (convertible account) + /// * `XDR` - Special Drawing Rights + /// * `LKR` - Sri Lankan Rupee + /// * `SHP` - St. Helena Pound + /// * `XSU` - Sucre + /// * `SDD` - Sudanese Dinar (1992–2007) + /// * `SDG` - Sudanese Pound + /// * `SDP` - Sudanese Pound (1957–1998) + /// * `SRD` - Surinamese Dollar + /// * `SRG` - Surinamese Guilder + /// * `SZL` - Swazi Lilangeni + /// * `SEK` - Swedish Krona + /// * `CHF` - Swiss Franc + /// * `SYP` - Syrian Pound + /// * `STN` - São Tomé & Príncipe Dobra + /// * `STD` - São Tomé & Príncipe Dobra (1977–2017) + /// * `TVD` - TVD + /// * `TJR` - Tajikistani Ruble + /// * `TJS` - Tajikistani Somoni + /// * `TZS` - Tanzanian Shilling + /// * `XTS` - Testing Currency Code + /// * `THB` - Thai Baht + /// * `XXX` - The codes assigned for transactions where no currency is involved + /// * `TPE` - Timorese Escudo + /// * `TOP` - Tongan Paʻanga + /// * `TTD` - Trinidad & Tobago Dollar + /// * `TND` - Tunisian Dinar + /// * `TRY` - Turkish Lira + /// * `TRL` - Turkish Lira (1922–2005) + /// * `TMT` - Turkmenistani Manat + /// * `TMM` - Turkmenistani Manat (1993–2009) + /// * `USD` - US Dollar + /// * `USN` - US Dollar (Next day) + /// * `USS` - US Dollar (Same day) + /// * `UGX` - Ugandan Shilling + /// * `UGS` - Ugandan Shilling (1966–1987) + /// * `UAH` - Ukrainian Hryvnia + /// * `UAK` - Ukrainian Karbovanets + /// * `AED` - United Arab Emirates Dirham + /// * `UYW` - Uruguayan Nominal Wage Index Unit + /// * `UYU` - Uruguayan Peso + /// * `UYP` - Uruguayan Peso (1975–1993) + /// * `UYI` - Uruguayan Peso (Indexed Units) + /// * `UZS` - Uzbekistani Som + /// * `VUV` - Vanuatu Vatu + /// * `VES` - Venezuelan Bolívar + /// * `VEB` - Venezuelan Bolívar (1871–2008) + /// * `VEF` - Venezuelan Bolívar (2008–2018) + /// * `VND` - Vietnamese Dong + /// * `VNN` - Vietnamese Dong (1978–1985) + /// * `CHE` - WIR Euro + /// * `CHW` - WIR Franc + /// * `XOF` - West African CFA Franc + /// * `YDD` - Yemeni Dinar + /// * `YER` - Yemeni Rial + /// * `YUN` - Yugoslavian Convertible Dinar (1990–1992) + /// * `YUD` - Yugoslavian Hard Dinar (1966–1990) + /// * `YUM` - Yugoslavian New Dinar (1994–2002) + /// * `YUR` - Yugoslavian Reformed Dinar (1992–1993) + /// * `ZWN` - ZWN + /// * `ZRN` - Zairean New Zaire (1993–1998) + /// * `ZRZ` - Zairean Zaire (1971–1993) + /// * `ZMW` - Zambian Kwacha + /// * `ZMK` - Zambian Kwacha (1968–2012) + /// * `ZWD` - Zimbabwean Dollar (1980–2008) + /// * `ZWR` - Zimbabwean Dollar (2008) + /// * `ZWL` - Zimbabwean Dollar (2009) /// [JsonPropertyName("currency")] public TransactionCurrencyEnum? Currency { get; set; } @@ -358,8 +373,8 @@ public record PatchedPaymentRequest /// /// The type of the invoice. /// - /// - `ACCOUNTS_PAYABLE` - ACCOUNTS_PAYABLE - /// - `ACCOUNTS_RECEIVABLE` - ACCOUNTS_RECEIVABLE + /// * `ACCOUNTS_PAYABLE` - ACCOUNTS_PAYABLE + /// * `ACCOUNTS_RECEIVABLE` - ACCOUNTS_RECEIVABLE /// [JsonPropertyName("type")] public PaymentTypeEnum? Type { get; set; } @@ -379,15 +394,29 @@ public record PatchedPaymentRequest [JsonPropertyName("applied_to_lines")] public IEnumerable>? AppliedToLines { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("integration_params")] public Dictionary? IntegrationParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("linked_account_params")] public Dictionary? LinkedAccountParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("remote_fields")] public IEnumerable? RemoteFields { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/Payment.cs b/src/Merge.Client/Accounting/Types/Payment.cs index 5732624c..7001f40e 100644 --- a/src/Merge.Client/Accounting/Types/Payment.cs +++ b/src/Merge.Client/Accounting/Types/Payment.cs @@ -1,11 +1,21 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Accounting; +/// +/// # The Payment Object +/// ### Description +/// The `Payment` object represents general payments made towards a specific transaction. +/// +/// ### Usage Example +/// Fetch from the `GET Payment` endpoint and view an invoice's payment. +/// public record Payment { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -18,12 +28,14 @@ public record Payment /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -45,315 +57,321 @@ public record Payment [JsonPropertyName("account")] public OneOf? Account { get; set; } + /// + /// The method which this payment was made by. + /// + [JsonPropertyName("payment_method")] + public OneOf? PaymentMethod { get; set; } + /// /// The payment's currency. /// - /// - `XUA` - ADB Unit of Account - /// - `AFN` - Afghan Afghani - /// - `AFA` - Afghan Afghani (1927–2002) - /// - `ALL` - Albanian Lek - /// - `ALK` - Albanian Lek (1946–1965) - /// - `DZD` - Algerian Dinar - /// - `ADP` - Andorran Peseta - /// - `AOA` - Angolan Kwanza - /// - `AOK` - Angolan Kwanza (1977–1991) - /// - `AON` - Angolan New Kwanza (1990–2000) - /// - `AOR` - Angolan Readjusted Kwanza (1995–1999) - /// - `ARA` - Argentine Austral - /// - `ARS` - Argentine Peso - /// - `ARM` - Argentine Peso (1881–1970) - /// - `ARP` - Argentine Peso (1983–1985) - /// - `ARL` - Argentine Peso Ley (1970–1983) - /// - `AMD` - Armenian Dram - /// - `AWG` - Aruban Florin - /// - `AUD` - Australian Dollar - /// - `ATS` - Austrian Schilling - /// - `AZN` - Azerbaijani Manat - /// - `AZM` - Azerbaijani Manat (1993–2006) - /// - `BSD` - Bahamian Dollar - /// - `BHD` - Bahraini Dinar - /// - `BDT` - Bangladeshi Taka - /// - `BBD` - Barbadian Dollar - /// - `BYN` - Belarusian Ruble - /// - `BYB` - Belarusian Ruble (1994–1999) - /// - `BYR` - Belarusian Ruble (2000–2016) - /// - `BEF` - Belgian Franc - /// - `BEC` - Belgian Franc (convertible) - /// - `BEL` - Belgian Franc (financial) - /// - `BZD` - Belize Dollar - /// - `BMD` - Bermudan Dollar - /// - `BTN` - Bhutanese Ngultrum - /// - `BOB` - Bolivian Boliviano - /// - `BOL` - Bolivian Boliviano (1863–1963) - /// - `BOV` - Bolivian Mvdol - /// - `BOP` - Bolivian Peso - /// - `BAM` - Bosnia-Herzegovina Convertible Mark - /// - `BAD` - Bosnia-Herzegovina Dinar (1992–1994) - /// - `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) - /// - `BWP` - Botswanan Pula - /// - `BRC` - Brazilian Cruzado (1986–1989) - /// - `BRZ` - Brazilian Cruzeiro (1942–1967) - /// - `BRE` - Brazilian Cruzeiro (1990–1993) - /// - `BRR` - Brazilian Cruzeiro (1993–1994) - /// - `BRN` - Brazilian New Cruzado (1989–1990) - /// - `BRB` - Brazilian New Cruzeiro (1967–1986) - /// - `BRL` - Brazilian Real - /// - `GBP` - British Pound - /// - `BND` - Brunei Dollar - /// - `BGL` - Bulgarian Hard Lev - /// - `BGN` - Bulgarian Lev - /// - `BGO` - Bulgarian Lev (1879–1952) - /// - `BGM` - Bulgarian Socialist Lev - /// - `BUK` - Burmese Kyat - /// - `BIF` - Burundian Franc - /// - `XPF` - CFP Franc - /// - `KHR` - Cambodian Riel - /// - `CAD` - Canadian Dollar - /// - `CVE` - Cape Verdean Escudo - /// - `KYD` - Cayman Islands Dollar - /// - `XAF` - Central African CFA Franc - /// - `CLE` - Chilean Escudo - /// - `CLP` - Chilean Peso - /// - `CLF` - Chilean Unit of Account (UF) - /// - `CNX` - Chinese People’s Bank Dollar - /// - `CNY` - Chinese Yuan - /// - `CNH` - Chinese Yuan (offshore) - /// - `COP` - Colombian Peso - /// - `COU` - Colombian Real Value Unit - /// - `KMF` - Comorian Franc - /// - `CDF` - Congolese Franc - /// - `CRC` - Costa Rican Colón - /// - `HRD` - Croatian Dinar - /// - `HRK` - Croatian Kuna - /// - `CUC` - Cuban Convertible Peso - /// - `CUP` - Cuban Peso - /// - `CYP` - Cypriot Pound - /// - `CZK` - Czech Koruna - /// - `CSK` - Czechoslovak Hard Koruna - /// - `DKK` - Danish Krone - /// - `DJF` - Djiboutian Franc - /// - `DOP` - Dominican Peso - /// - `NLG` - Dutch Guilder - /// - `XCD` - East Caribbean Dollar - /// - `DDM` - East German Mark - /// - `ECS` - Ecuadorian Sucre - /// - `ECV` - Ecuadorian Unit of Constant Value - /// - `EGP` - Egyptian Pound - /// - `GQE` - Equatorial Guinean Ekwele - /// - `ERN` - Eritrean Nakfa - /// - `EEK` - Estonian Kroon - /// - `ETB` - Ethiopian Birr - /// - `EUR` - Euro - /// - `XBA` - European Composite Unit - /// - `XEU` - European Currency Unit - /// - `XBB` - European Monetary Unit - /// - `XBC` - European Unit of Account (XBC) - /// - `XBD` - European Unit of Account (XBD) - /// - `FKP` - Falkland Islands Pound - /// - `FJD` - Fijian Dollar - /// - `FIM` - Finnish Markka - /// - `FRF` - French Franc - /// - `XFO` - French Gold Franc - /// - `XFU` - French UIC-Franc - /// - `GMD` - Gambian Dalasi - /// - `GEK` - Georgian Kupon Larit - /// - `GEL` - Georgian Lari - /// - `DEM` - German Mark - /// - `GHS` - Ghanaian Cedi - /// - `GHC` - Ghanaian Cedi (1979–2007) - /// - `GIP` - Gibraltar Pound - /// - `XAU` - Gold - /// - `GRD` - Greek Drachma - /// - `GTQ` - Guatemalan Quetzal - /// - `GWP` - Guinea-Bissau Peso - /// - `GNF` - Guinean Franc - /// - `GNS` - Guinean Syli - /// - `GYD` - Guyanaese Dollar - /// - `HTG` - Haitian Gourde - /// - `HNL` - Honduran Lempira - /// - `HKD` - Hong Kong Dollar - /// - `HUF` - Hungarian Forint - /// - `IMP` - IMP - /// - `ISK` - Icelandic Króna - /// - `ISJ` - Icelandic Króna (1918–1981) - /// - `INR` - Indian Rupee - /// - `IDR` - Indonesian Rupiah - /// - `IRR` - Iranian Rial - /// - `IQD` - Iraqi Dinar - /// - `IEP` - Irish Pound - /// - `ILS` - Israeli New Shekel - /// - `ILP` - Israeli Pound - /// - `ILR` - Israeli Shekel (1980–1985) - /// - `ITL` - Italian Lira - /// - `JMD` - Jamaican Dollar - /// - `JPY` - Japanese Yen - /// - `JOD` - Jordanian Dinar - /// - `KZT` - Kazakhstani Tenge - /// - `KES` - Kenyan Shilling - /// - `KWD` - Kuwaiti Dinar - /// - `KGS` - Kyrgystani Som - /// - `LAK` - Laotian Kip - /// - `LVL` - Latvian Lats - /// - `LVR` - Latvian Ruble - /// - `LBP` - Lebanese Pound - /// - `LSL` - Lesotho Loti - /// - `LRD` - Liberian Dollar - /// - `LYD` - Libyan Dinar - /// - `LTL` - Lithuanian Litas - /// - `LTT` - Lithuanian Talonas - /// - `LUL` - Luxembourg Financial Franc - /// - `LUC` - Luxembourgian Convertible Franc - /// - `LUF` - Luxembourgian Franc - /// - `MOP` - Macanese Pataca - /// - `MKD` - Macedonian Denar - /// - `MKN` - Macedonian Denar (1992–1993) - /// - `MGA` - Malagasy Ariary - /// - `MGF` - Malagasy Franc - /// - `MWK` - Malawian Kwacha - /// - `MYR` - Malaysian Ringgit - /// - `MVR` - Maldivian Rufiyaa - /// - `MVP` - Maldivian Rupee (1947–1981) - /// - `MLF` - Malian Franc - /// - `MTL` - Maltese Lira - /// - `MTP` - Maltese Pound - /// - `MRU` - Mauritanian Ouguiya - /// - `MRO` - Mauritanian Ouguiya (1973–2017) - /// - `MUR` - Mauritian Rupee - /// - `MXV` - Mexican Investment Unit - /// - `MXN` - Mexican Peso - /// - `MXP` - Mexican Silver Peso (1861–1992) - /// - `MDC` - Moldovan Cupon - /// - `MDL` - Moldovan Leu - /// - `MCF` - Monegasque Franc - /// - `MNT` - Mongolian Tugrik - /// - `MAD` - Moroccan Dirham - /// - `MAF` - Moroccan Franc - /// - `MZE` - Mozambican Escudo - /// - `MZN` - Mozambican Metical - /// - `MZM` - Mozambican Metical (1980–2006) - /// - `MMK` - Myanmar Kyat - /// - `NAD` - Namibian Dollar - /// - `NPR` - Nepalese Rupee - /// - `ANG` - Netherlands Antillean Guilder - /// - `TWD` - New Taiwan Dollar - /// - `NZD` - New Zealand Dollar - /// - `NIO` - Nicaraguan Córdoba - /// - `NIC` - Nicaraguan Córdoba (1988–1991) - /// - `NGN` - Nigerian Naira - /// - `KPW` - North Korean Won - /// - `NOK` - Norwegian Krone - /// - `OMR` - Omani Rial - /// - `PKR` - Pakistani Rupee - /// - `XPD` - Palladium - /// - `PAB` - Panamanian Balboa - /// - `PGK` - Papua New Guinean Kina - /// - `PYG` - Paraguayan Guarani - /// - `PEI` - Peruvian Inti - /// - `PEN` - Peruvian Sol - /// - `PES` - Peruvian Sol (1863–1965) - /// - `PHP` - Philippine Peso - /// - `XPT` - Platinum - /// - `PLN` - Polish Zloty - /// - `PLZ` - Polish Zloty (1950–1995) - /// - `PTE` - Portuguese Escudo - /// - `GWE` - Portuguese Guinea Escudo - /// - `QAR` - Qatari Rial - /// - `XRE` - RINET Funds - /// - `RHD` - Rhodesian Dollar - /// - `RON` - Romanian Leu - /// - `ROL` - Romanian Leu (1952–2006) - /// - `RUB` - Russian Ruble - /// - `RUR` - Russian Ruble (1991–1998) - /// - `RWF` - Rwandan Franc - /// - `SVC` - Salvadoran Colón - /// - `WST` - Samoan Tala - /// - `SAR` - Saudi Riyal - /// - `RSD` - Serbian Dinar - /// - `CSD` - Serbian Dinar (2002–2006) - /// - `SCR` - Seychellois Rupee - /// - `SLL` - Sierra Leonean Leone - /// - `XAG` - Silver - /// - `SGD` - Singapore Dollar - /// - `SKK` - Slovak Koruna - /// - `SIT` - Slovenian Tolar - /// - `SBD` - Solomon Islands Dollar - /// - `SOS` - Somali Shilling - /// - `ZAR` - South African Rand - /// - `ZAL` - South African Rand (financial) - /// - `KRH` - South Korean Hwan (1953–1962) - /// - `KRW` - South Korean Won - /// - `KRO` - South Korean Won (1945–1953) - /// - `SSP` - South Sudanese Pound - /// - `SUR` - Soviet Rouble - /// - `ESP` - Spanish Peseta - /// - `ESA` - Spanish Peseta (A account) - /// - `ESB` - Spanish Peseta (convertible account) - /// - `XDR` - Special Drawing Rights - /// - `LKR` - Sri Lankan Rupee - /// - `SHP` - St. Helena Pound - /// - `XSU` - Sucre - /// - `SDD` - Sudanese Dinar (1992–2007) - /// - `SDG` - Sudanese Pound - /// - `SDP` - Sudanese Pound (1957–1998) - /// - `SRD` - Surinamese Dollar - /// - `SRG` - Surinamese Guilder - /// - `SZL` - Swazi Lilangeni - /// - `SEK` - Swedish Krona - /// - `CHF` - Swiss Franc - /// - `SYP` - Syrian Pound - /// - `STN` - São Tomé & Príncipe Dobra - /// - `STD` - São Tomé & Príncipe Dobra (1977–2017) - /// - `TVD` - TVD - /// - `TJR` - Tajikistani Ruble - /// - `TJS` - Tajikistani Somoni - /// - `TZS` - Tanzanian Shilling - /// - `XTS` - Testing Currency Code - /// - `THB` - Thai Baht - /// - `XXX` - The codes assigned for transactions where no currency is involved - /// - `TPE` - Timorese Escudo - /// - `TOP` - Tongan Paʻanga - /// - `TTD` - Trinidad & Tobago Dollar - /// - `TND` - Tunisian Dinar - /// - `TRY` - Turkish Lira - /// - `TRL` - Turkish Lira (1922–2005) - /// - `TMT` - Turkmenistani Manat - /// - `TMM` - Turkmenistani Manat (1993–2009) - /// - `USD` - US Dollar - /// - `USN` - US Dollar (Next day) - /// - `USS` - US Dollar (Same day) - /// - `UGX` - Ugandan Shilling - /// - `UGS` - Ugandan Shilling (1966–1987) - /// - `UAH` - Ukrainian Hryvnia - /// - `UAK` - Ukrainian Karbovanets - /// - `AED` - United Arab Emirates Dirham - /// - `UYW` - Uruguayan Nominal Wage Index Unit - /// - `UYU` - Uruguayan Peso - /// - `UYP` - Uruguayan Peso (1975–1993) - /// - `UYI` - Uruguayan Peso (Indexed Units) - /// - `UZS` - Uzbekistani Som - /// - `VUV` - Vanuatu Vatu - /// - `VES` - Venezuelan Bolívar - /// - `VEB` - Venezuelan Bolívar (1871–2008) - /// - `VEF` - Venezuelan Bolívar (2008–2018) - /// - `VND` - Vietnamese Dong - /// - `VNN` - Vietnamese Dong (1978–1985) - /// - `CHE` - WIR Euro - /// - `CHW` - WIR Franc - /// - `XOF` - West African CFA Franc - /// - `YDD` - Yemeni Dinar - /// - `YER` - Yemeni Rial - /// - `YUN` - Yugoslavian Convertible Dinar (1990–1992) - /// - `YUD` - Yugoslavian Hard Dinar (1966–1990) - /// - `YUM` - Yugoslavian New Dinar (1994–2002) - /// - `YUR` - Yugoslavian Reformed Dinar (1992–1993) - /// - `ZWN` - ZWN - /// - `ZRN` - Zairean New Zaire (1993–1998) - /// - `ZRZ` - Zairean Zaire (1971–1993) - /// - `ZMW` - Zambian Kwacha - /// - `ZMK` - Zambian Kwacha (1968–2012) - /// - `ZWD` - Zimbabwean Dollar (1980–2008) - /// - `ZWR` - Zimbabwean Dollar (2008) - /// - `ZWL` - Zimbabwean Dollar (2009) + /// * `XUA` - ADB Unit of Account + /// * `AFN` - Afghan Afghani + /// * `AFA` - Afghan Afghani (1927–2002) + /// * `ALL` - Albanian Lek + /// * `ALK` - Albanian Lek (1946–1965) + /// * `DZD` - Algerian Dinar + /// * `ADP` - Andorran Peseta + /// * `AOA` - Angolan Kwanza + /// * `AOK` - Angolan Kwanza (1977–1991) + /// * `AON` - Angolan New Kwanza (1990–2000) + /// * `AOR` - Angolan Readjusted Kwanza (1995–1999) + /// * `ARA` - Argentine Austral + /// * `ARS` - Argentine Peso + /// * `ARM` - Argentine Peso (1881–1970) + /// * `ARP` - Argentine Peso (1983–1985) + /// * `ARL` - Argentine Peso Ley (1970–1983) + /// * `AMD` - Armenian Dram + /// * `AWG` - Aruban Florin + /// * `AUD` - Australian Dollar + /// * `ATS` - Austrian Schilling + /// * `AZN` - Azerbaijani Manat + /// * `AZM` - Azerbaijani Manat (1993–2006) + /// * `BSD` - Bahamian Dollar + /// * `BHD` - Bahraini Dinar + /// * `BDT` - Bangladeshi Taka + /// * `BBD` - Barbadian Dollar + /// * `BYN` - Belarusian Ruble + /// * `BYB` - Belarusian Ruble (1994–1999) + /// * `BYR` - Belarusian Ruble (2000–2016) + /// * `BEF` - Belgian Franc + /// * `BEC` - Belgian Franc (convertible) + /// * `BEL` - Belgian Franc (financial) + /// * `BZD` - Belize Dollar + /// * `BMD` - Bermudan Dollar + /// * `BTN` - Bhutanese Ngultrum + /// * `BOB` - Bolivian Boliviano + /// * `BOL` - Bolivian Boliviano (1863–1963) + /// * `BOV` - Bolivian Mvdol + /// * `BOP` - Bolivian Peso + /// * `BAM` - Bosnia-Herzegovina Convertible Mark + /// * `BAD` - Bosnia-Herzegovina Dinar (1992–1994) + /// * `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) + /// * `BWP` - Botswanan Pula + /// * `BRC` - Brazilian Cruzado (1986–1989) + /// * `BRZ` - Brazilian Cruzeiro (1942–1967) + /// * `BRE` - Brazilian Cruzeiro (1990–1993) + /// * `BRR` - Brazilian Cruzeiro (1993–1994) + /// * `BRN` - Brazilian New Cruzado (1989–1990) + /// * `BRB` - Brazilian New Cruzeiro (1967–1986) + /// * `BRL` - Brazilian Real + /// * `GBP` - British Pound + /// * `BND` - Brunei Dollar + /// * `BGL` - Bulgarian Hard Lev + /// * `BGN` - Bulgarian Lev + /// * `BGO` - Bulgarian Lev (1879–1952) + /// * `BGM` - Bulgarian Socialist Lev + /// * `BUK` - Burmese Kyat + /// * `BIF` - Burundian Franc + /// * `XPF` - CFP Franc + /// * `KHR` - Cambodian Riel + /// * `CAD` - Canadian Dollar + /// * `CVE` - Cape Verdean Escudo + /// * `KYD` - Cayman Islands Dollar + /// * `XAF` - Central African CFA Franc + /// * `CLE` - Chilean Escudo + /// * `CLP` - Chilean Peso + /// * `CLF` - Chilean Unit of Account (UF) + /// * `CNX` - Chinese People’s Bank Dollar + /// * `CNY` - Chinese Yuan + /// * `CNH` - Chinese Yuan (offshore) + /// * `COP` - Colombian Peso + /// * `COU` - Colombian Real Value Unit + /// * `KMF` - Comorian Franc + /// * `CDF` - Congolese Franc + /// * `CRC` - Costa Rican Colón + /// * `HRD` - Croatian Dinar + /// * `HRK` - Croatian Kuna + /// * `CUC` - Cuban Convertible Peso + /// * `CUP` - Cuban Peso + /// * `CYP` - Cypriot Pound + /// * `CZK` - Czech Koruna + /// * `CSK` - Czechoslovak Hard Koruna + /// * `DKK` - Danish Krone + /// * `DJF` - Djiboutian Franc + /// * `DOP` - Dominican Peso + /// * `NLG` - Dutch Guilder + /// * `XCD` - East Caribbean Dollar + /// * `DDM` - East German Mark + /// * `ECS` - Ecuadorian Sucre + /// * `ECV` - Ecuadorian Unit of Constant Value + /// * `EGP` - Egyptian Pound + /// * `GQE` - Equatorial Guinean Ekwele + /// * `ERN` - Eritrean Nakfa + /// * `EEK` - Estonian Kroon + /// * `ETB` - Ethiopian Birr + /// * `EUR` - Euro + /// * `XBA` - European Composite Unit + /// * `XEU` - European Currency Unit + /// * `XBB` - European Monetary Unit + /// * `XBC` - European Unit of Account (XBC) + /// * `XBD` - European Unit of Account (XBD) + /// * `FKP` - Falkland Islands Pound + /// * `FJD` - Fijian Dollar + /// * `FIM` - Finnish Markka + /// * `FRF` - French Franc + /// * `XFO` - French Gold Franc + /// * `XFU` - French UIC-Franc + /// * `GMD` - Gambian Dalasi + /// * `GEK` - Georgian Kupon Larit + /// * `GEL` - Georgian Lari + /// * `DEM` - German Mark + /// * `GHS` - Ghanaian Cedi + /// * `GHC` - Ghanaian Cedi (1979–2007) + /// * `GIP` - Gibraltar Pound + /// * `XAU` - Gold + /// * `GRD` - Greek Drachma + /// * `GTQ` - Guatemalan Quetzal + /// * `GWP` - Guinea-Bissau Peso + /// * `GNF` - Guinean Franc + /// * `GNS` - Guinean Syli + /// * `GYD` - Guyanaese Dollar + /// * `HTG` - Haitian Gourde + /// * `HNL` - Honduran Lempira + /// * `HKD` - Hong Kong Dollar + /// * `HUF` - Hungarian Forint + /// * `IMP` - IMP + /// * `ISK` - Icelandic Króna + /// * `ISJ` - Icelandic Króna (1918–1981) + /// * `INR` - Indian Rupee + /// * `IDR` - Indonesian Rupiah + /// * `IRR` - Iranian Rial + /// * `IQD` - Iraqi Dinar + /// * `IEP` - Irish Pound + /// * `ILS` - Israeli New Shekel + /// * `ILP` - Israeli Pound + /// * `ILR` - Israeli Shekel (1980–1985) + /// * `ITL` - Italian Lira + /// * `JMD` - Jamaican Dollar + /// * `JPY` - Japanese Yen + /// * `JOD` - Jordanian Dinar + /// * `KZT` - Kazakhstani Tenge + /// * `KES` - Kenyan Shilling + /// * `KWD` - Kuwaiti Dinar + /// * `KGS` - Kyrgystani Som + /// * `LAK` - Laotian Kip + /// * `LVL` - Latvian Lats + /// * `LVR` - Latvian Ruble + /// * `LBP` - Lebanese Pound + /// * `LSL` - Lesotho Loti + /// * `LRD` - Liberian Dollar + /// * `LYD` - Libyan Dinar + /// * `LTL` - Lithuanian Litas + /// * `LTT` - Lithuanian Talonas + /// * `LUL` - Luxembourg Financial Franc + /// * `LUC` - Luxembourgian Convertible Franc + /// * `LUF` - Luxembourgian Franc + /// * `MOP` - Macanese Pataca + /// * `MKD` - Macedonian Denar + /// * `MKN` - Macedonian Denar (1992–1993) + /// * `MGA` - Malagasy Ariary + /// * `MGF` - Malagasy Franc + /// * `MWK` - Malawian Kwacha + /// * `MYR` - Malaysian Ringgit + /// * `MVR` - Maldivian Rufiyaa + /// * `MVP` - Maldivian Rupee (1947–1981) + /// * `MLF` - Malian Franc + /// * `MTL` - Maltese Lira + /// * `MTP` - Maltese Pound + /// * `MRU` - Mauritanian Ouguiya + /// * `MRO` - Mauritanian Ouguiya (1973–2017) + /// * `MUR` - Mauritian Rupee + /// * `MXV` - Mexican Investment Unit + /// * `MXN` - Mexican Peso + /// * `MXP` - Mexican Silver Peso (1861–1992) + /// * `MDC` - Moldovan Cupon + /// * `MDL` - Moldovan Leu + /// * `MCF` - Monegasque Franc + /// * `MNT` - Mongolian Tugrik + /// * `MAD` - Moroccan Dirham + /// * `MAF` - Moroccan Franc + /// * `MZE` - Mozambican Escudo + /// * `MZN` - Mozambican Metical + /// * `MZM` - Mozambican Metical (1980–2006) + /// * `MMK` - Myanmar Kyat + /// * `NAD` - Namibian Dollar + /// * `NPR` - Nepalese Rupee + /// * `ANG` - Netherlands Antillean Guilder + /// * `TWD` - New Taiwan Dollar + /// * `NZD` - New Zealand Dollar + /// * `NIO` - Nicaraguan Córdoba + /// * `NIC` - Nicaraguan Córdoba (1988–1991) + /// * `NGN` - Nigerian Naira + /// * `KPW` - North Korean Won + /// * `NOK` - Norwegian Krone + /// * `OMR` - Omani Rial + /// * `PKR` - Pakistani Rupee + /// * `XPD` - Palladium + /// * `PAB` - Panamanian Balboa + /// * `PGK` - Papua New Guinean Kina + /// * `PYG` - Paraguayan Guarani + /// * `PEI` - Peruvian Inti + /// * `PEN` - Peruvian Sol + /// * `PES` - Peruvian Sol (1863–1965) + /// * `PHP` - Philippine Peso + /// * `XPT` - Platinum + /// * `PLN` - Polish Zloty + /// * `PLZ` - Polish Zloty (1950–1995) + /// * `PTE` - Portuguese Escudo + /// * `GWE` - Portuguese Guinea Escudo + /// * `QAR` - Qatari Rial + /// * `XRE` - RINET Funds + /// * `RHD` - Rhodesian Dollar + /// * `RON` - Romanian Leu + /// * `ROL` - Romanian Leu (1952–2006) + /// * `RUB` - Russian Ruble + /// * `RUR` - Russian Ruble (1991–1998) + /// * `RWF` - Rwandan Franc + /// * `SVC` - Salvadoran Colón + /// * `WST` - Samoan Tala + /// * `SAR` - Saudi Riyal + /// * `RSD` - Serbian Dinar + /// * `CSD` - Serbian Dinar (2002–2006) + /// * `SCR` - Seychellois Rupee + /// * `SLL` - Sierra Leonean Leone + /// * `XAG` - Silver + /// * `SGD` - Singapore Dollar + /// * `SKK` - Slovak Koruna + /// * `SIT` - Slovenian Tolar + /// * `SBD` - Solomon Islands Dollar + /// * `SOS` - Somali Shilling + /// * `ZAR` - South African Rand + /// * `ZAL` - South African Rand (financial) + /// * `KRH` - South Korean Hwan (1953–1962) + /// * `KRW` - South Korean Won + /// * `KRO` - South Korean Won (1945–1953) + /// * `SSP` - South Sudanese Pound + /// * `SUR` - Soviet Rouble + /// * `ESP` - Spanish Peseta + /// * `ESA` - Spanish Peseta (A account) + /// * `ESB` - Spanish Peseta (convertible account) + /// * `XDR` - Special Drawing Rights + /// * `LKR` - Sri Lankan Rupee + /// * `SHP` - St. Helena Pound + /// * `XSU` - Sucre + /// * `SDD` - Sudanese Dinar (1992–2007) + /// * `SDG` - Sudanese Pound + /// * `SDP` - Sudanese Pound (1957–1998) + /// * `SRD` - Surinamese Dollar + /// * `SRG` - Surinamese Guilder + /// * `SZL` - Swazi Lilangeni + /// * `SEK` - Swedish Krona + /// * `CHF` - Swiss Franc + /// * `SYP` - Syrian Pound + /// * `STN` - São Tomé & Príncipe Dobra + /// * `STD` - São Tomé & Príncipe Dobra (1977–2017) + /// * `TVD` - TVD + /// * `TJR` - Tajikistani Ruble + /// * `TJS` - Tajikistani Somoni + /// * `TZS` - Tanzanian Shilling + /// * `XTS` - Testing Currency Code + /// * `THB` - Thai Baht + /// * `XXX` - The codes assigned for transactions where no currency is involved + /// * `TPE` - Timorese Escudo + /// * `TOP` - Tongan Paʻanga + /// * `TTD` - Trinidad & Tobago Dollar + /// * `TND` - Tunisian Dinar + /// * `TRY` - Turkish Lira + /// * `TRL` - Turkish Lira (1922–2005) + /// * `TMT` - Turkmenistani Manat + /// * `TMM` - Turkmenistani Manat (1993–2009) + /// * `USD` - US Dollar + /// * `USN` - US Dollar (Next day) + /// * `USS` - US Dollar (Same day) + /// * `UGX` - Ugandan Shilling + /// * `UGS` - Ugandan Shilling (1966–1987) + /// * `UAH` - Ukrainian Hryvnia + /// * `UAK` - Ukrainian Karbovanets + /// * `AED` - United Arab Emirates Dirham + /// * `UYW` - Uruguayan Nominal Wage Index Unit + /// * `UYU` - Uruguayan Peso + /// * `UYP` - Uruguayan Peso (1975–1993) + /// * `UYI` - Uruguayan Peso (Indexed Units) + /// * `UZS` - Uzbekistani Som + /// * `VUV` - Vanuatu Vatu + /// * `VES` - Venezuelan Bolívar + /// * `VEB` - Venezuelan Bolívar (1871–2008) + /// * `VEF` - Venezuelan Bolívar (2008–2018) + /// * `VND` - Vietnamese Dong + /// * `VNN` - Vietnamese Dong (1978–1985) + /// * `CHE` - WIR Euro + /// * `CHW` - WIR Franc + /// * `XOF` - West African CFA Franc + /// * `YDD` - Yemeni Dinar + /// * `YER` - Yemeni Rial + /// * `YUN` - Yugoslavian Convertible Dinar (1990–1992) + /// * `YUD` - Yugoslavian Hard Dinar (1966–1990) + /// * `YUM` - Yugoslavian New Dinar (1994–2002) + /// * `YUR` - Yugoslavian Reformed Dinar (1992–1993) + /// * `ZWN` - ZWN + /// * `ZRN` - Zairean New Zaire (1993–1998) + /// * `ZRZ` - Zairean Zaire (1971–1993) + /// * `ZMW` - Zambian Kwacha + /// * `ZMK` - Zambian Kwacha (1968–2012) + /// * `ZWD` - Zimbabwean Dollar (1980–2008) + /// * `ZWR` - Zimbabwean Dollar (2008) + /// * `ZWL` - Zimbabwean Dollar (2009) /// [JsonPropertyName("currency")] public TransactionCurrencyEnum? Currency { get; set; } @@ -379,8 +397,8 @@ public record Payment /// /// The type of the invoice. /// - /// - `ACCOUNTS_PAYABLE` - ACCOUNTS_PAYABLE - /// - `ACCOUNTS_RECEIVABLE` - ACCOUNTS_RECEIVABLE + /// * `ACCOUNTS_PAYABLE` - ACCOUNTS_PAYABLE + /// * `ACCOUNTS_RECEIVABLE` - ACCOUNTS_RECEIVABLE /// [JsonPropertyName("type")] public PaymentTypeEnum? Type { get; set; } @@ -409,18 +427,33 @@ public record Payment /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_fields")] public IEnumerable? RemoteFields { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/PaymentLineItem.cs b/src/Merge.Client/Accounting/Types/PaymentLineItem.cs index 7527bfe2..bd526c0e 100644 --- a/src/Merge.Client/Accounting/Types/PaymentLineItem.cs +++ b/src/Merge.Client/Accounting/Types/PaymentLineItem.cs @@ -1,10 +1,20 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; +/// +/// # The PaymentLineItem Object +/// ### Description +/// The `PaymentLineItem` object is an applied-to-line on a `Payment` that can either be a `Invoice`, `CreditNote`, or `JournalEntry`. +/// +/// ### Usage Example +/// `Payment` will have a field called `applied-to-lines` which will be an array of `PaymentLineItemInternalMappingSerializer` objects that can either be a `Invoice`, `CreditNote`, or `JournalEntry`. +/// public record PaymentLineItem { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -17,12 +27,14 @@ public record PaymentLineItem /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -50,6 +62,17 @@ public record PaymentLineItem [JsonPropertyName("related_object_type")] public string? RelatedObjectType { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/PaymentLineItemRequest.cs b/src/Merge.Client/Accounting/Types/PaymentLineItemRequest.cs index 978f3a4e..1e71d3ef 100644 --- a/src/Merge.Client/Accounting/Types/PaymentLineItemRequest.cs +++ b/src/Merge.Client/Accounting/Types/PaymentLineItemRequest.cs @@ -1,8 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; +/// +/// # The PaymentLineItem Object +/// ### Description +/// The `PaymentLineItem` object is an applied-to-line on a `Payment` that can either be a `Invoice`, `CreditNote`, or `JournalEntry`. +/// +/// ### Usage Example +/// `Payment` will have a field called `applied-to-lines` which will be an array of `PaymentLineItemInternalMappingSerializer` objects that can either be a `Invoice`, `CreditNote`, or `JournalEntry`. +/// public record PaymentLineItemRequest { /// @@ -35,15 +44,29 @@ public record PaymentLineItemRequest [JsonPropertyName("related_object_type")] public string? RelatedObjectType { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("integration_params")] public Dictionary? IntegrationParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("linked_account_params")] public Dictionary? LinkedAccountParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("remote_fields")] public IEnumerable? RemoteFields { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/PaymentMethod.cs b/src/Merge.Client/Accounting/Types/PaymentMethod.cs new file mode 100644 index 00000000..d8a1ee9a --- /dev/null +++ b/src/Merge.Client/Accounting/Types/PaymentMethod.cs @@ -0,0 +1,94 @@ +using System.Text.Json; +using System.Text.Json.Serialization; +using Merge.Client.Core; + +namespace Merge.Client.Accounting; + +/// +/// # The PaymentMethod Object +/// ### Description +/// The `PaymentMethod` object defines how a payment against an invoice is made. +/// +/// ### Usage Example +/// Fetch from the `GET PaymentMethod` endpoint and view payment method information. +/// +public record PaymentMethod +{ + [JsonAccess(JsonAccessType.ReadOnly)] + [JsonPropertyName("id")] + public string? Id { get; set; } + + /// + /// The third-party API ID of the matching object. + /// + [JsonPropertyName("remote_id")] + public string? RemoteId { get; set; } + + /// + /// The datetime that this object was created by Merge. + /// + [JsonAccess(JsonAccessType.ReadOnly)] + [JsonPropertyName("created_at")] + public DateTime? CreatedAt { get; set; } + + /// + /// The datetime that this object was modified by Merge. + /// + [JsonAccess(JsonAccessType.ReadOnly)] + [JsonPropertyName("modified_at")] + public DateTime? ModifiedAt { get; set; } + + /// + /// The type of the payment method. + /// + /// * `CREDIT_CARD` - CREDIT_CARD + /// * `DEBIT_CARD` - DEBIT_CARD + /// * `ACH` - ACH + /// * `CASH` - CASH + /// * `CHECK` - CHECK + /// + [JsonPropertyName("method_type")] + public required MethodTypeEnum MethodType { get; set; } + + /// + /// The payment method’s name + /// + [JsonPropertyName("name")] + public required string Name { get; set; } + + /// + /// `True` if the payment method is active, `False` if not. + /// + [JsonPropertyName("is_active")] + public bool? IsActive { get; set; } + + /// + /// When the third party's payment method was updated. + /// + [JsonPropertyName("remote_updated_at")] + public DateTime? RemoteUpdatedAt { get; set; } + + [JsonAccess(JsonAccessType.ReadOnly)] + [JsonPropertyName("field_mappings")] + public Dictionary? FieldMappings { get; set; } + + [JsonAccess(JsonAccessType.ReadOnly)] + [JsonPropertyName("remote_data")] + public IEnumerable? RemoteData { get; set; } + + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// + public override string ToString() + { + return JsonUtils.Serialize(this); + } +} diff --git a/src/Merge.Client/Accounting/Types/PaymentRequest.cs b/src/Merge.Client/Accounting/Types/PaymentRequest.cs index 33a4e2fb..c72f8f66 100644 --- a/src/Merge.Client/Accounting/Types/PaymentRequest.cs +++ b/src/Merge.Client/Accounting/Types/PaymentRequest.cs @@ -1,9 +1,18 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Accounting; +/// +/// # The Payment Object +/// ### Description +/// The `Payment` object represents general payments made towards a specific transaction. +/// +/// ### Usage Example +/// Fetch from the `GET Payment` endpoint and view an invoice's payment. +/// public record PaymentRequest { /// @@ -24,315 +33,321 @@ public record PaymentRequest [JsonPropertyName("account")] public OneOf? Account { get; set; } + /// + /// The method which this payment was made by. + /// + [JsonPropertyName("payment_method")] + public OneOf? PaymentMethod { get; set; } + /// /// The payment's currency. /// - /// - `XUA` - ADB Unit of Account - /// - `AFN` - Afghan Afghani - /// - `AFA` - Afghan Afghani (1927–2002) - /// - `ALL` - Albanian Lek - /// - `ALK` - Albanian Lek (1946–1965) - /// - `DZD` - Algerian Dinar - /// - `ADP` - Andorran Peseta - /// - `AOA` - Angolan Kwanza - /// - `AOK` - Angolan Kwanza (1977–1991) - /// - `AON` - Angolan New Kwanza (1990–2000) - /// - `AOR` - Angolan Readjusted Kwanza (1995–1999) - /// - `ARA` - Argentine Austral - /// - `ARS` - Argentine Peso - /// - `ARM` - Argentine Peso (1881–1970) - /// - `ARP` - Argentine Peso (1983–1985) - /// - `ARL` - Argentine Peso Ley (1970–1983) - /// - `AMD` - Armenian Dram - /// - `AWG` - Aruban Florin - /// - `AUD` - Australian Dollar - /// - `ATS` - Austrian Schilling - /// - `AZN` - Azerbaijani Manat - /// - `AZM` - Azerbaijani Manat (1993–2006) - /// - `BSD` - Bahamian Dollar - /// - `BHD` - Bahraini Dinar - /// - `BDT` - Bangladeshi Taka - /// - `BBD` - Barbadian Dollar - /// - `BYN` - Belarusian Ruble - /// - `BYB` - Belarusian Ruble (1994–1999) - /// - `BYR` - Belarusian Ruble (2000–2016) - /// - `BEF` - Belgian Franc - /// - `BEC` - Belgian Franc (convertible) - /// - `BEL` - Belgian Franc (financial) - /// - `BZD` - Belize Dollar - /// - `BMD` - Bermudan Dollar - /// - `BTN` - Bhutanese Ngultrum - /// - `BOB` - Bolivian Boliviano - /// - `BOL` - Bolivian Boliviano (1863–1963) - /// - `BOV` - Bolivian Mvdol - /// - `BOP` - Bolivian Peso - /// - `BAM` - Bosnia-Herzegovina Convertible Mark - /// - `BAD` - Bosnia-Herzegovina Dinar (1992–1994) - /// - `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) - /// - `BWP` - Botswanan Pula - /// - `BRC` - Brazilian Cruzado (1986–1989) - /// - `BRZ` - Brazilian Cruzeiro (1942–1967) - /// - `BRE` - Brazilian Cruzeiro (1990–1993) - /// - `BRR` - Brazilian Cruzeiro (1993–1994) - /// - `BRN` - Brazilian New Cruzado (1989–1990) - /// - `BRB` - Brazilian New Cruzeiro (1967–1986) - /// - `BRL` - Brazilian Real - /// - `GBP` - British Pound - /// - `BND` - Brunei Dollar - /// - `BGL` - Bulgarian Hard Lev - /// - `BGN` - Bulgarian Lev - /// - `BGO` - Bulgarian Lev (1879–1952) - /// - `BGM` - Bulgarian Socialist Lev - /// - `BUK` - Burmese Kyat - /// - `BIF` - Burundian Franc - /// - `XPF` - CFP Franc - /// - `KHR` - Cambodian Riel - /// - `CAD` - Canadian Dollar - /// - `CVE` - Cape Verdean Escudo - /// - `KYD` - Cayman Islands Dollar - /// - `XAF` - Central African CFA Franc - /// - `CLE` - Chilean Escudo - /// - `CLP` - Chilean Peso - /// - `CLF` - Chilean Unit of Account (UF) - /// - `CNX` - Chinese People’s Bank Dollar - /// - `CNY` - Chinese Yuan - /// - `CNH` - Chinese Yuan (offshore) - /// - `COP` - Colombian Peso - /// - `COU` - Colombian Real Value Unit - /// - `KMF` - Comorian Franc - /// - `CDF` - Congolese Franc - /// - `CRC` - Costa Rican Colón - /// - `HRD` - Croatian Dinar - /// - `HRK` - Croatian Kuna - /// - `CUC` - Cuban Convertible Peso - /// - `CUP` - Cuban Peso - /// - `CYP` - Cypriot Pound - /// - `CZK` - Czech Koruna - /// - `CSK` - Czechoslovak Hard Koruna - /// - `DKK` - Danish Krone - /// - `DJF` - Djiboutian Franc - /// - `DOP` - Dominican Peso - /// - `NLG` - Dutch Guilder - /// - `XCD` - East Caribbean Dollar - /// - `DDM` - East German Mark - /// - `ECS` - Ecuadorian Sucre - /// - `ECV` - Ecuadorian Unit of Constant Value - /// - `EGP` - Egyptian Pound - /// - `GQE` - Equatorial Guinean Ekwele - /// - `ERN` - Eritrean Nakfa - /// - `EEK` - Estonian Kroon - /// - `ETB` - Ethiopian Birr - /// - `EUR` - Euro - /// - `XBA` - European Composite Unit - /// - `XEU` - European Currency Unit - /// - `XBB` - European Monetary Unit - /// - `XBC` - European Unit of Account (XBC) - /// - `XBD` - European Unit of Account (XBD) - /// - `FKP` - Falkland Islands Pound - /// - `FJD` - Fijian Dollar - /// - `FIM` - Finnish Markka - /// - `FRF` - French Franc - /// - `XFO` - French Gold Franc - /// - `XFU` - French UIC-Franc - /// - `GMD` - Gambian Dalasi - /// - `GEK` - Georgian Kupon Larit - /// - `GEL` - Georgian Lari - /// - `DEM` - German Mark - /// - `GHS` - Ghanaian Cedi - /// - `GHC` - Ghanaian Cedi (1979–2007) - /// - `GIP` - Gibraltar Pound - /// - `XAU` - Gold - /// - `GRD` - Greek Drachma - /// - `GTQ` - Guatemalan Quetzal - /// - `GWP` - Guinea-Bissau Peso - /// - `GNF` - Guinean Franc - /// - `GNS` - Guinean Syli - /// - `GYD` - Guyanaese Dollar - /// - `HTG` - Haitian Gourde - /// - `HNL` - Honduran Lempira - /// - `HKD` - Hong Kong Dollar - /// - `HUF` - Hungarian Forint - /// - `IMP` - IMP - /// - `ISK` - Icelandic Króna - /// - `ISJ` - Icelandic Króna (1918–1981) - /// - `INR` - Indian Rupee - /// - `IDR` - Indonesian Rupiah - /// - `IRR` - Iranian Rial - /// - `IQD` - Iraqi Dinar - /// - `IEP` - Irish Pound - /// - `ILS` - Israeli New Shekel - /// - `ILP` - Israeli Pound - /// - `ILR` - Israeli Shekel (1980–1985) - /// - `ITL` - Italian Lira - /// - `JMD` - Jamaican Dollar - /// - `JPY` - Japanese Yen - /// - `JOD` - Jordanian Dinar - /// - `KZT` - Kazakhstani Tenge - /// - `KES` - Kenyan Shilling - /// - `KWD` - Kuwaiti Dinar - /// - `KGS` - Kyrgystani Som - /// - `LAK` - Laotian Kip - /// - `LVL` - Latvian Lats - /// - `LVR` - Latvian Ruble - /// - `LBP` - Lebanese Pound - /// - `LSL` - Lesotho Loti - /// - `LRD` - Liberian Dollar - /// - `LYD` - Libyan Dinar - /// - `LTL` - Lithuanian Litas - /// - `LTT` - Lithuanian Talonas - /// - `LUL` - Luxembourg Financial Franc - /// - `LUC` - Luxembourgian Convertible Franc - /// - `LUF` - Luxembourgian Franc - /// - `MOP` - Macanese Pataca - /// - `MKD` - Macedonian Denar - /// - `MKN` - Macedonian Denar (1992–1993) - /// - `MGA` - Malagasy Ariary - /// - `MGF` - Malagasy Franc - /// - `MWK` - Malawian Kwacha - /// - `MYR` - Malaysian Ringgit - /// - `MVR` - Maldivian Rufiyaa - /// - `MVP` - Maldivian Rupee (1947–1981) - /// - `MLF` - Malian Franc - /// - `MTL` - Maltese Lira - /// - `MTP` - Maltese Pound - /// - `MRU` - Mauritanian Ouguiya - /// - `MRO` - Mauritanian Ouguiya (1973–2017) - /// - `MUR` - Mauritian Rupee - /// - `MXV` - Mexican Investment Unit - /// - `MXN` - Mexican Peso - /// - `MXP` - Mexican Silver Peso (1861–1992) - /// - `MDC` - Moldovan Cupon - /// - `MDL` - Moldovan Leu - /// - `MCF` - Monegasque Franc - /// - `MNT` - Mongolian Tugrik - /// - `MAD` - Moroccan Dirham - /// - `MAF` - Moroccan Franc - /// - `MZE` - Mozambican Escudo - /// - `MZN` - Mozambican Metical - /// - `MZM` - Mozambican Metical (1980–2006) - /// - `MMK` - Myanmar Kyat - /// - `NAD` - Namibian Dollar - /// - `NPR` - Nepalese Rupee - /// - `ANG` - Netherlands Antillean Guilder - /// - `TWD` - New Taiwan Dollar - /// - `NZD` - New Zealand Dollar - /// - `NIO` - Nicaraguan Córdoba - /// - `NIC` - Nicaraguan Córdoba (1988–1991) - /// - `NGN` - Nigerian Naira - /// - `KPW` - North Korean Won - /// - `NOK` - Norwegian Krone - /// - `OMR` - Omani Rial - /// - `PKR` - Pakistani Rupee - /// - `XPD` - Palladium - /// - `PAB` - Panamanian Balboa - /// - `PGK` - Papua New Guinean Kina - /// - `PYG` - Paraguayan Guarani - /// - `PEI` - Peruvian Inti - /// - `PEN` - Peruvian Sol - /// - `PES` - Peruvian Sol (1863–1965) - /// - `PHP` - Philippine Peso - /// - `XPT` - Platinum - /// - `PLN` - Polish Zloty - /// - `PLZ` - Polish Zloty (1950–1995) - /// - `PTE` - Portuguese Escudo - /// - `GWE` - Portuguese Guinea Escudo - /// - `QAR` - Qatari Rial - /// - `XRE` - RINET Funds - /// - `RHD` - Rhodesian Dollar - /// - `RON` - Romanian Leu - /// - `ROL` - Romanian Leu (1952–2006) - /// - `RUB` - Russian Ruble - /// - `RUR` - Russian Ruble (1991–1998) - /// - `RWF` - Rwandan Franc - /// - `SVC` - Salvadoran Colón - /// - `WST` - Samoan Tala - /// - `SAR` - Saudi Riyal - /// - `RSD` - Serbian Dinar - /// - `CSD` - Serbian Dinar (2002–2006) - /// - `SCR` - Seychellois Rupee - /// - `SLL` - Sierra Leonean Leone - /// - `XAG` - Silver - /// - `SGD` - Singapore Dollar - /// - `SKK` - Slovak Koruna - /// - `SIT` - Slovenian Tolar - /// - `SBD` - Solomon Islands Dollar - /// - `SOS` - Somali Shilling - /// - `ZAR` - South African Rand - /// - `ZAL` - South African Rand (financial) - /// - `KRH` - South Korean Hwan (1953–1962) - /// - `KRW` - South Korean Won - /// - `KRO` - South Korean Won (1945–1953) - /// - `SSP` - South Sudanese Pound - /// - `SUR` - Soviet Rouble - /// - `ESP` - Spanish Peseta - /// - `ESA` - Spanish Peseta (A account) - /// - `ESB` - Spanish Peseta (convertible account) - /// - `XDR` - Special Drawing Rights - /// - `LKR` - Sri Lankan Rupee - /// - `SHP` - St. Helena Pound - /// - `XSU` - Sucre - /// - `SDD` - Sudanese Dinar (1992–2007) - /// - `SDG` - Sudanese Pound - /// - `SDP` - Sudanese Pound (1957–1998) - /// - `SRD` - Surinamese Dollar - /// - `SRG` - Surinamese Guilder - /// - `SZL` - Swazi Lilangeni - /// - `SEK` - Swedish Krona - /// - `CHF` - Swiss Franc - /// - `SYP` - Syrian Pound - /// - `STN` - São Tomé & Príncipe Dobra - /// - `STD` - São Tomé & Príncipe Dobra (1977–2017) - /// - `TVD` - TVD - /// - `TJR` - Tajikistani Ruble - /// - `TJS` - Tajikistani Somoni - /// - `TZS` - Tanzanian Shilling - /// - `XTS` - Testing Currency Code - /// - `THB` - Thai Baht - /// - `XXX` - The codes assigned for transactions where no currency is involved - /// - `TPE` - Timorese Escudo - /// - `TOP` - Tongan Paʻanga - /// - `TTD` - Trinidad & Tobago Dollar - /// - `TND` - Tunisian Dinar - /// - `TRY` - Turkish Lira - /// - `TRL` - Turkish Lira (1922–2005) - /// - `TMT` - Turkmenistani Manat - /// - `TMM` - Turkmenistani Manat (1993–2009) - /// - `USD` - US Dollar - /// - `USN` - US Dollar (Next day) - /// - `USS` - US Dollar (Same day) - /// - `UGX` - Ugandan Shilling - /// - `UGS` - Ugandan Shilling (1966–1987) - /// - `UAH` - Ukrainian Hryvnia - /// - `UAK` - Ukrainian Karbovanets - /// - `AED` - United Arab Emirates Dirham - /// - `UYW` - Uruguayan Nominal Wage Index Unit - /// - `UYU` - Uruguayan Peso - /// - `UYP` - Uruguayan Peso (1975–1993) - /// - `UYI` - Uruguayan Peso (Indexed Units) - /// - `UZS` - Uzbekistani Som - /// - `VUV` - Vanuatu Vatu - /// - `VES` - Venezuelan Bolívar - /// - `VEB` - Venezuelan Bolívar (1871–2008) - /// - `VEF` - Venezuelan Bolívar (2008–2018) - /// - `VND` - Vietnamese Dong - /// - `VNN` - Vietnamese Dong (1978–1985) - /// - `CHE` - WIR Euro - /// - `CHW` - WIR Franc - /// - `XOF` - West African CFA Franc - /// - `YDD` - Yemeni Dinar - /// - `YER` - Yemeni Rial - /// - `YUN` - Yugoslavian Convertible Dinar (1990–1992) - /// - `YUD` - Yugoslavian Hard Dinar (1966–1990) - /// - `YUM` - Yugoslavian New Dinar (1994–2002) - /// - `YUR` - Yugoslavian Reformed Dinar (1992–1993) - /// - `ZWN` - ZWN - /// - `ZRN` - Zairean New Zaire (1993–1998) - /// - `ZRZ` - Zairean Zaire (1971–1993) - /// - `ZMW` - Zambian Kwacha - /// - `ZMK` - Zambian Kwacha (1968–2012) - /// - `ZWD` - Zimbabwean Dollar (1980–2008) - /// - `ZWR` - Zimbabwean Dollar (2008) - /// - `ZWL` - Zimbabwean Dollar (2009) + /// * `XUA` - ADB Unit of Account + /// * `AFN` - Afghan Afghani + /// * `AFA` - Afghan Afghani (1927–2002) + /// * `ALL` - Albanian Lek + /// * `ALK` - Albanian Lek (1946–1965) + /// * `DZD` - Algerian Dinar + /// * `ADP` - Andorran Peseta + /// * `AOA` - Angolan Kwanza + /// * `AOK` - Angolan Kwanza (1977–1991) + /// * `AON` - Angolan New Kwanza (1990–2000) + /// * `AOR` - Angolan Readjusted Kwanza (1995–1999) + /// * `ARA` - Argentine Austral + /// * `ARS` - Argentine Peso + /// * `ARM` - Argentine Peso (1881–1970) + /// * `ARP` - Argentine Peso (1983–1985) + /// * `ARL` - Argentine Peso Ley (1970–1983) + /// * `AMD` - Armenian Dram + /// * `AWG` - Aruban Florin + /// * `AUD` - Australian Dollar + /// * `ATS` - Austrian Schilling + /// * `AZN` - Azerbaijani Manat + /// * `AZM` - Azerbaijani Manat (1993–2006) + /// * `BSD` - Bahamian Dollar + /// * `BHD` - Bahraini Dinar + /// * `BDT` - Bangladeshi Taka + /// * `BBD` - Barbadian Dollar + /// * `BYN` - Belarusian Ruble + /// * `BYB` - Belarusian Ruble (1994–1999) + /// * `BYR` - Belarusian Ruble (2000–2016) + /// * `BEF` - Belgian Franc + /// * `BEC` - Belgian Franc (convertible) + /// * `BEL` - Belgian Franc (financial) + /// * `BZD` - Belize Dollar + /// * `BMD` - Bermudan Dollar + /// * `BTN` - Bhutanese Ngultrum + /// * `BOB` - Bolivian Boliviano + /// * `BOL` - Bolivian Boliviano (1863–1963) + /// * `BOV` - Bolivian Mvdol + /// * `BOP` - Bolivian Peso + /// * `BAM` - Bosnia-Herzegovina Convertible Mark + /// * `BAD` - Bosnia-Herzegovina Dinar (1992–1994) + /// * `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) + /// * `BWP` - Botswanan Pula + /// * `BRC` - Brazilian Cruzado (1986–1989) + /// * `BRZ` - Brazilian Cruzeiro (1942–1967) + /// * `BRE` - Brazilian Cruzeiro (1990–1993) + /// * `BRR` - Brazilian Cruzeiro (1993–1994) + /// * `BRN` - Brazilian New Cruzado (1989–1990) + /// * `BRB` - Brazilian New Cruzeiro (1967–1986) + /// * `BRL` - Brazilian Real + /// * `GBP` - British Pound + /// * `BND` - Brunei Dollar + /// * `BGL` - Bulgarian Hard Lev + /// * `BGN` - Bulgarian Lev + /// * `BGO` - Bulgarian Lev (1879–1952) + /// * `BGM` - Bulgarian Socialist Lev + /// * `BUK` - Burmese Kyat + /// * `BIF` - Burundian Franc + /// * `XPF` - CFP Franc + /// * `KHR` - Cambodian Riel + /// * `CAD` - Canadian Dollar + /// * `CVE` - Cape Verdean Escudo + /// * `KYD` - Cayman Islands Dollar + /// * `XAF` - Central African CFA Franc + /// * `CLE` - Chilean Escudo + /// * `CLP` - Chilean Peso + /// * `CLF` - Chilean Unit of Account (UF) + /// * `CNX` - Chinese People’s Bank Dollar + /// * `CNY` - Chinese Yuan + /// * `CNH` - Chinese Yuan (offshore) + /// * `COP` - Colombian Peso + /// * `COU` - Colombian Real Value Unit + /// * `KMF` - Comorian Franc + /// * `CDF` - Congolese Franc + /// * `CRC` - Costa Rican Colón + /// * `HRD` - Croatian Dinar + /// * `HRK` - Croatian Kuna + /// * `CUC` - Cuban Convertible Peso + /// * `CUP` - Cuban Peso + /// * `CYP` - Cypriot Pound + /// * `CZK` - Czech Koruna + /// * `CSK` - Czechoslovak Hard Koruna + /// * `DKK` - Danish Krone + /// * `DJF` - Djiboutian Franc + /// * `DOP` - Dominican Peso + /// * `NLG` - Dutch Guilder + /// * `XCD` - East Caribbean Dollar + /// * `DDM` - East German Mark + /// * `ECS` - Ecuadorian Sucre + /// * `ECV` - Ecuadorian Unit of Constant Value + /// * `EGP` - Egyptian Pound + /// * `GQE` - Equatorial Guinean Ekwele + /// * `ERN` - Eritrean Nakfa + /// * `EEK` - Estonian Kroon + /// * `ETB` - Ethiopian Birr + /// * `EUR` - Euro + /// * `XBA` - European Composite Unit + /// * `XEU` - European Currency Unit + /// * `XBB` - European Monetary Unit + /// * `XBC` - European Unit of Account (XBC) + /// * `XBD` - European Unit of Account (XBD) + /// * `FKP` - Falkland Islands Pound + /// * `FJD` - Fijian Dollar + /// * `FIM` - Finnish Markka + /// * `FRF` - French Franc + /// * `XFO` - French Gold Franc + /// * `XFU` - French UIC-Franc + /// * `GMD` - Gambian Dalasi + /// * `GEK` - Georgian Kupon Larit + /// * `GEL` - Georgian Lari + /// * `DEM` - German Mark + /// * `GHS` - Ghanaian Cedi + /// * `GHC` - Ghanaian Cedi (1979–2007) + /// * `GIP` - Gibraltar Pound + /// * `XAU` - Gold + /// * `GRD` - Greek Drachma + /// * `GTQ` - Guatemalan Quetzal + /// * `GWP` - Guinea-Bissau Peso + /// * `GNF` - Guinean Franc + /// * `GNS` - Guinean Syli + /// * `GYD` - Guyanaese Dollar + /// * `HTG` - Haitian Gourde + /// * `HNL` - Honduran Lempira + /// * `HKD` - Hong Kong Dollar + /// * `HUF` - Hungarian Forint + /// * `IMP` - IMP + /// * `ISK` - Icelandic Króna + /// * `ISJ` - Icelandic Króna (1918–1981) + /// * `INR` - Indian Rupee + /// * `IDR` - Indonesian Rupiah + /// * `IRR` - Iranian Rial + /// * `IQD` - Iraqi Dinar + /// * `IEP` - Irish Pound + /// * `ILS` - Israeli New Shekel + /// * `ILP` - Israeli Pound + /// * `ILR` - Israeli Shekel (1980–1985) + /// * `ITL` - Italian Lira + /// * `JMD` - Jamaican Dollar + /// * `JPY` - Japanese Yen + /// * `JOD` - Jordanian Dinar + /// * `KZT` - Kazakhstani Tenge + /// * `KES` - Kenyan Shilling + /// * `KWD` - Kuwaiti Dinar + /// * `KGS` - Kyrgystani Som + /// * `LAK` - Laotian Kip + /// * `LVL` - Latvian Lats + /// * `LVR` - Latvian Ruble + /// * `LBP` - Lebanese Pound + /// * `LSL` - Lesotho Loti + /// * `LRD` - Liberian Dollar + /// * `LYD` - Libyan Dinar + /// * `LTL` - Lithuanian Litas + /// * `LTT` - Lithuanian Talonas + /// * `LUL` - Luxembourg Financial Franc + /// * `LUC` - Luxembourgian Convertible Franc + /// * `LUF` - Luxembourgian Franc + /// * `MOP` - Macanese Pataca + /// * `MKD` - Macedonian Denar + /// * `MKN` - Macedonian Denar (1992–1993) + /// * `MGA` - Malagasy Ariary + /// * `MGF` - Malagasy Franc + /// * `MWK` - Malawian Kwacha + /// * `MYR` - Malaysian Ringgit + /// * `MVR` - Maldivian Rufiyaa + /// * `MVP` - Maldivian Rupee (1947–1981) + /// * `MLF` - Malian Franc + /// * `MTL` - Maltese Lira + /// * `MTP` - Maltese Pound + /// * `MRU` - Mauritanian Ouguiya + /// * `MRO` - Mauritanian Ouguiya (1973–2017) + /// * `MUR` - Mauritian Rupee + /// * `MXV` - Mexican Investment Unit + /// * `MXN` - Mexican Peso + /// * `MXP` - Mexican Silver Peso (1861–1992) + /// * `MDC` - Moldovan Cupon + /// * `MDL` - Moldovan Leu + /// * `MCF` - Monegasque Franc + /// * `MNT` - Mongolian Tugrik + /// * `MAD` - Moroccan Dirham + /// * `MAF` - Moroccan Franc + /// * `MZE` - Mozambican Escudo + /// * `MZN` - Mozambican Metical + /// * `MZM` - Mozambican Metical (1980–2006) + /// * `MMK` - Myanmar Kyat + /// * `NAD` - Namibian Dollar + /// * `NPR` - Nepalese Rupee + /// * `ANG` - Netherlands Antillean Guilder + /// * `TWD` - New Taiwan Dollar + /// * `NZD` - New Zealand Dollar + /// * `NIO` - Nicaraguan Córdoba + /// * `NIC` - Nicaraguan Córdoba (1988–1991) + /// * `NGN` - Nigerian Naira + /// * `KPW` - North Korean Won + /// * `NOK` - Norwegian Krone + /// * `OMR` - Omani Rial + /// * `PKR` - Pakistani Rupee + /// * `XPD` - Palladium + /// * `PAB` - Panamanian Balboa + /// * `PGK` - Papua New Guinean Kina + /// * `PYG` - Paraguayan Guarani + /// * `PEI` - Peruvian Inti + /// * `PEN` - Peruvian Sol + /// * `PES` - Peruvian Sol (1863–1965) + /// * `PHP` - Philippine Peso + /// * `XPT` - Platinum + /// * `PLN` - Polish Zloty + /// * `PLZ` - Polish Zloty (1950–1995) + /// * `PTE` - Portuguese Escudo + /// * `GWE` - Portuguese Guinea Escudo + /// * `QAR` - Qatari Rial + /// * `XRE` - RINET Funds + /// * `RHD` - Rhodesian Dollar + /// * `RON` - Romanian Leu + /// * `ROL` - Romanian Leu (1952–2006) + /// * `RUB` - Russian Ruble + /// * `RUR` - Russian Ruble (1991–1998) + /// * `RWF` - Rwandan Franc + /// * `SVC` - Salvadoran Colón + /// * `WST` - Samoan Tala + /// * `SAR` - Saudi Riyal + /// * `RSD` - Serbian Dinar + /// * `CSD` - Serbian Dinar (2002–2006) + /// * `SCR` - Seychellois Rupee + /// * `SLL` - Sierra Leonean Leone + /// * `XAG` - Silver + /// * `SGD` - Singapore Dollar + /// * `SKK` - Slovak Koruna + /// * `SIT` - Slovenian Tolar + /// * `SBD` - Solomon Islands Dollar + /// * `SOS` - Somali Shilling + /// * `ZAR` - South African Rand + /// * `ZAL` - South African Rand (financial) + /// * `KRH` - South Korean Hwan (1953–1962) + /// * `KRW` - South Korean Won + /// * `KRO` - South Korean Won (1945–1953) + /// * `SSP` - South Sudanese Pound + /// * `SUR` - Soviet Rouble + /// * `ESP` - Spanish Peseta + /// * `ESA` - Spanish Peseta (A account) + /// * `ESB` - Spanish Peseta (convertible account) + /// * `XDR` - Special Drawing Rights + /// * `LKR` - Sri Lankan Rupee + /// * `SHP` - St. Helena Pound + /// * `XSU` - Sucre + /// * `SDD` - Sudanese Dinar (1992–2007) + /// * `SDG` - Sudanese Pound + /// * `SDP` - Sudanese Pound (1957–1998) + /// * `SRD` - Surinamese Dollar + /// * `SRG` - Surinamese Guilder + /// * `SZL` - Swazi Lilangeni + /// * `SEK` - Swedish Krona + /// * `CHF` - Swiss Franc + /// * `SYP` - Syrian Pound + /// * `STN` - São Tomé & Príncipe Dobra + /// * `STD` - São Tomé & Príncipe Dobra (1977–2017) + /// * `TVD` - TVD + /// * `TJR` - Tajikistani Ruble + /// * `TJS` - Tajikistani Somoni + /// * `TZS` - Tanzanian Shilling + /// * `XTS` - Testing Currency Code + /// * `THB` - Thai Baht + /// * `XXX` - The codes assigned for transactions where no currency is involved + /// * `TPE` - Timorese Escudo + /// * `TOP` - Tongan Paʻanga + /// * `TTD` - Trinidad & Tobago Dollar + /// * `TND` - Tunisian Dinar + /// * `TRY` - Turkish Lira + /// * `TRL` - Turkish Lira (1922–2005) + /// * `TMT` - Turkmenistani Manat + /// * `TMM` - Turkmenistani Manat (1993–2009) + /// * `USD` - US Dollar + /// * `USN` - US Dollar (Next day) + /// * `USS` - US Dollar (Same day) + /// * `UGX` - Ugandan Shilling + /// * `UGS` - Ugandan Shilling (1966–1987) + /// * `UAH` - Ukrainian Hryvnia + /// * `UAK` - Ukrainian Karbovanets + /// * `AED` - United Arab Emirates Dirham + /// * `UYW` - Uruguayan Nominal Wage Index Unit + /// * `UYU` - Uruguayan Peso + /// * `UYP` - Uruguayan Peso (1975–1993) + /// * `UYI` - Uruguayan Peso (Indexed Units) + /// * `UZS` - Uzbekistani Som + /// * `VUV` - Vanuatu Vatu + /// * `VES` - Venezuelan Bolívar + /// * `VEB` - Venezuelan Bolívar (1871–2008) + /// * `VEF` - Venezuelan Bolívar (2008–2018) + /// * `VND` - Vietnamese Dong + /// * `VNN` - Vietnamese Dong (1978–1985) + /// * `CHE` - WIR Euro + /// * `CHW` - WIR Franc + /// * `XOF` - West African CFA Franc + /// * `YDD` - Yemeni Dinar + /// * `YER` - Yemeni Rial + /// * `YUN` - Yugoslavian Convertible Dinar (1990–1992) + /// * `YUD` - Yugoslavian Hard Dinar (1966–1990) + /// * `YUM` - Yugoslavian New Dinar (1994–2002) + /// * `YUR` - Yugoslavian Reformed Dinar (1992–1993) + /// * `ZWN` - ZWN + /// * `ZRN` - Zairean New Zaire (1993–1998) + /// * `ZRZ` - Zairean Zaire (1971–1993) + /// * `ZMW` - Zambian Kwacha + /// * `ZMK` - Zambian Kwacha (1968–2012) + /// * `ZWD` - Zimbabwean Dollar (1980–2008) + /// * `ZWR` - Zimbabwean Dollar (2008) + /// * `ZWL` - Zimbabwean Dollar (2009) /// [JsonPropertyName("currency")] public TransactionCurrencyEnum? Currency { get; set; } @@ -358,8 +373,8 @@ public record PaymentRequest /// /// The type of the invoice. /// - /// - `ACCOUNTS_PAYABLE` - ACCOUNTS_PAYABLE - /// - `ACCOUNTS_RECEIVABLE` - ACCOUNTS_RECEIVABLE + /// * `ACCOUNTS_PAYABLE` - ACCOUNTS_PAYABLE + /// * `ACCOUNTS_RECEIVABLE` - ACCOUNTS_RECEIVABLE /// [JsonPropertyName("type")] public PaymentTypeEnum? Type { get; set; } @@ -379,15 +394,29 @@ public record PaymentRequest [JsonPropertyName("applied_to_lines")] public IEnumerable>? AppliedToLines { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("integration_params")] public Dictionary? IntegrationParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("linked_account_params")] public Dictionary? LinkedAccountParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("remote_fields")] public IEnumerable? RemoteFields { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/PaymentResponse.cs b/src/Merge.Client/Accounting/Types/PaymentResponse.cs index b5342f16..fb29225c 100644 --- a/src/Merge.Client/Accounting/Types/PaymentResponse.cs +++ b/src/Merge.Client/Accounting/Types/PaymentResponse.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -19,6 +20,17 @@ public record PaymentResponse [JsonPropertyName("logs")] public IEnumerable? Logs { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/PaymentTerm.cs b/src/Merge.Client/Accounting/Types/PaymentTerm.cs new file mode 100644 index 00000000..09401096 --- /dev/null +++ b/src/Merge.Client/Accounting/Types/PaymentTerm.cs @@ -0,0 +1,102 @@ +using System.Text.Json; +using System.Text.Json.Serialization; +using Merge.Client.Core; +using OneOf; + +namespace Merge.Client.Accounting; + +/// +/// # The PaymentTerm Object +/// ### Description +/// The `PaymentTerm` object is the agreed-upon conditions between a buyer and a seller that define the timing, +/// amount, and conditions under which payment for goods or services must be made. +/// +/// ### Usage Example +/// Fetch from the `GET PaymentTerm` endpoint and view payment term information. +/// +public record PaymentTerm +{ + [JsonAccess(JsonAccessType.ReadOnly)] + [JsonPropertyName("id")] + public string? Id { get; set; } + + /// + /// The third-party API ID of the matching object. + /// + [JsonPropertyName("remote_id")] + public string? RemoteId { get; set; } + + /// + /// The datetime that this object was created by Merge. + /// + [JsonAccess(JsonAccessType.ReadOnly)] + [JsonPropertyName("created_at")] + public DateTime? CreatedAt { get; set; } + + /// + /// The datetime that this object was modified by Merge. + /// + [JsonAccess(JsonAccessType.ReadOnly)] + [JsonPropertyName("modified_at")] + public DateTime? ModifiedAt { get; set; } + + /// + /// The name of the payment term. + /// + [JsonPropertyName("name")] + public required string Name { get; set; } + + /// + /// `True` if the payment term is active, `False` if not. + /// + [JsonPropertyName("is_active")] + public bool? IsActive { get; set; } + + /// + /// The subsidiary that the payment term belongs to. + /// + [JsonPropertyName("company")] + public OneOf? Company { get; set; } + + /// + /// The number of days after the invoice date that payment is due. + /// + [JsonPropertyName("days_until_due")] + public int? DaysUntilDue { get; set; } + + /// + /// The number of days the invoice must be paid before discounts expire. + /// + [JsonPropertyName("discount_days")] + public int? DiscountDays { get; set; } + + /// + /// When the third party's payment term was modified. + /// + [JsonPropertyName("remote_last_modified_at")] + public DateTime? RemoteLastModifiedAt { get; set; } + + [JsonAccess(JsonAccessType.ReadOnly)] + [JsonPropertyName("field_mappings")] + public Dictionary? FieldMappings { get; set; } + + [JsonAccess(JsonAccessType.ReadOnly)] + [JsonPropertyName("remote_data")] + public IEnumerable? RemoteData { get; set; } + + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// + public override string ToString() + { + return JsonUtils.Serialize(this); + } +} diff --git a/src/Merge.Client/Accounting/Types/PurchaseOrder.cs b/src/Merge.Client/Accounting/Types/PurchaseOrder.cs index ac0f6108..85fa7702 100644 --- a/src/Merge.Client/Accounting/Types/PurchaseOrder.cs +++ b/src/Merge.Client/Accounting/Types/PurchaseOrder.cs @@ -1,11 +1,23 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Accounting; +/// +/// # The PurchaseOrder Object +/// ### Description +/// A `PurchaseOrder` represents a request to purchase goods or services from a vendor. It outlines the details of the purchase, such as the items or services requested, quantities, prices, and delivery details. +/// +/// A `PurchaseOrder` is a crucial component of the procurement process, but does not typically result in any impact on the company’s general ledger. The general ledger is typically only affected when the `PurchaseOrder` is fulfilled as an *Accounts Payable* `Invoice` object (also known as a Bill). +/// +/// ### Usage Example +/// Fetch from the `LIST PurchaseOrders` endpoint and view a company's purchase orders. +/// public record PurchaseOrder { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -18,23 +30,25 @@ public record PurchaseOrder /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } /// /// The purchase order's status. /// - /// - `DRAFT` - DRAFT - /// - `SUBMITTED` - SUBMITTED - /// - `AUTHORIZED` - AUTHORIZED - /// - `BILLED` - BILLED - /// - `DELETED` - DELETED + /// * `DRAFT` - DRAFT + /// * `SUBMITTED` - SUBMITTED + /// * `AUTHORIZED` - AUTHORIZED + /// * `BILLED` - BILLED + /// * `DELETED` - DELETED /// [JsonPropertyName("status")] public PurchaseOrderStatusEnum? Status { get; set; } @@ -96,312 +110,312 @@ public record PurchaseOrder /// /// The purchase order's currency. /// - /// - `XUA` - ADB Unit of Account - /// - `AFN` - Afghan Afghani - /// - `AFA` - Afghan Afghani (1927–2002) - /// - `ALL` - Albanian Lek - /// - `ALK` - Albanian Lek (1946–1965) - /// - `DZD` - Algerian Dinar - /// - `ADP` - Andorran Peseta - /// - `AOA` - Angolan Kwanza - /// - `AOK` - Angolan Kwanza (1977–1991) - /// - `AON` - Angolan New Kwanza (1990–2000) - /// - `AOR` - Angolan Readjusted Kwanza (1995–1999) - /// - `ARA` - Argentine Austral - /// - `ARS` - Argentine Peso - /// - `ARM` - Argentine Peso (1881–1970) - /// - `ARP` - Argentine Peso (1983–1985) - /// - `ARL` - Argentine Peso Ley (1970–1983) - /// - `AMD` - Armenian Dram - /// - `AWG` - Aruban Florin - /// - `AUD` - Australian Dollar - /// - `ATS` - Austrian Schilling - /// - `AZN` - Azerbaijani Manat - /// - `AZM` - Azerbaijani Manat (1993–2006) - /// - `BSD` - Bahamian Dollar - /// - `BHD` - Bahraini Dinar - /// - `BDT` - Bangladeshi Taka - /// - `BBD` - Barbadian Dollar - /// - `BYN` - Belarusian Ruble - /// - `BYB` - Belarusian Ruble (1994–1999) - /// - `BYR` - Belarusian Ruble (2000–2016) - /// - `BEF` - Belgian Franc - /// - `BEC` - Belgian Franc (convertible) - /// - `BEL` - Belgian Franc (financial) - /// - `BZD` - Belize Dollar - /// - `BMD` - Bermudan Dollar - /// - `BTN` - Bhutanese Ngultrum - /// - `BOB` - Bolivian Boliviano - /// - `BOL` - Bolivian Boliviano (1863–1963) - /// - `BOV` - Bolivian Mvdol - /// - `BOP` - Bolivian Peso - /// - `BAM` - Bosnia-Herzegovina Convertible Mark - /// - `BAD` - Bosnia-Herzegovina Dinar (1992–1994) - /// - `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) - /// - `BWP` - Botswanan Pula - /// - `BRC` - Brazilian Cruzado (1986–1989) - /// - `BRZ` - Brazilian Cruzeiro (1942–1967) - /// - `BRE` - Brazilian Cruzeiro (1990–1993) - /// - `BRR` - Brazilian Cruzeiro (1993–1994) - /// - `BRN` - Brazilian New Cruzado (1989–1990) - /// - `BRB` - Brazilian New Cruzeiro (1967–1986) - /// - `BRL` - Brazilian Real - /// - `GBP` - British Pound - /// - `BND` - Brunei Dollar - /// - `BGL` - Bulgarian Hard Lev - /// - `BGN` - Bulgarian Lev - /// - `BGO` - Bulgarian Lev (1879–1952) - /// - `BGM` - Bulgarian Socialist Lev - /// - `BUK` - Burmese Kyat - /// - `BIF` - Burundian Franc - /// - `XPF` - CFP Franc - /// - `KHR` - Cambodian Riel - /// - `CAD` - Canadian Dollar - /// - `CVE` - Cape Verdean Escudo - /// - `KYD` - Cayman Islands Dollar - /// - `XAF` - Central African CFA Franc - /// - `CLE` - Chilean Escudo - /// - `CLP` - Chilean Peso - /// - `CLF` - Chilean Unit of Account (UF) - /// - `CNX` - Chinese People’s Bank Dollar - /// - `CNY` - Chinese Yuan - /// - `CNH` - Chinese Yuan (offshore) - /// - `COP` - Colombian Peso - /// - `COU` - Colombian Real Value Unit - /// - `KMF` - Comorian Franc - /// - `CDF` - Congolese Franc - /// - `CRC` - Costa Rican Colón - /// - `HRD` - Croatian Dinar - /// - `HRK` - Croatian Kuna - /// - `CUC` - Cuban Convertible Peso - /// - `CUP` - Cuban Peso - /// - `CYP` - Cypriot Pound - /// - `CZK` - Czech Koruna - /// - `CSK` - Czechoslovak Hard Koruna - /// - `DKK` - Danish Krone - /// - `DJF` - Djiboutian Franc - /// - `DOP` - Dominican Peso - /// - `NLG` - Dutch Guilder - /// - `XCD` - East Caribbean Dollar - /// - `DDM` - East German Mark - /// - `ECS` - Ecuadorian Sucre - /// - `ECV` - Ecuadorian Unit of Constant Value - /// - `EGP` - Egyptian Pound - /// - `GQE` - Equatorial Guinean Ekwele - /// - `ERN` - Eritrean Nakfa - /// - `EEK` - Estonian Kroon - /// - `ETB` - Ethiopian Birr - /// - `EUR` - Euro - /// - `XBA` - European Composite Unit - /// - `XEU` - European Currency Unit - /// - `XBB` - European Monetary Unit - /// - `XBC` - European Unit of Account (XBC) - /// - `XBD` - European Unit of Account (XBD) - /// - `FKP` - Falkland Islands Pound - /// - `FJD` - Fijian Dollar - /// - `FIM` - Finnish Markka - /// - `FRF` - French Franc - /// - `XFO` - French Gold Franc - /// - `XFU` - French UIC-Franc - /// - `GMD` - Gambian Dalasi - /// - `GEK` - Georgian Kupon Larit - /// - `GEL` - Georgian Lari - /// - `DEM` - German Mark - /// - `GHS` - Ghanaian Cedi - /// - `GHC` - Ghanaian Cedi (1979–2007) - /// - `GIP` - Gibraltar Pound - /// - `XAU` - Gold - /// - `GRD` - Greek Drachma - /// - `GTQ` - Guatemalan Quetzal - /// - `GWP` - Guinea-Bissau Peso - /// - `GNF` - Guinean Franc - /// - `GNS` - Guinean Syli - /// - `GYD` - Guyanaese Dollar - /// - `HTG` - Haitian Gourde - /// - `HNL` - Honduran Lempira - /// - `HKD` - Hong Kong Dollar - /// - `HUF` - Hungarian Forint - /// - `IMP` - IMP - /// - `ISK` - Icelandic Króna - /// - `ISJ` - Icelandic Króna (1918–1981) - /// - `INR` - Indian Rupee - /// - `IDR` - Indonesian Rupiah - /// - `IRR` - Iranian Rial - /// - `IQD` - Iraqi Dinar - /// - `IEP` - Irish Pound - /// - `ILS` - Israeli New Shekel - /// - `ILP` - Israeli Pound - /// - `ILR` - Israeli Shekel (1980–1985) - /// - `ITL` - Italian Lira - /// - `JMD` - Jamaican Dollar - /// - `JPY` - Japanese Yen - /// - `JOD` - Jordanian Dinar - /// - `KZT` - Kazakhstani Tenge - /// - `KES` - Kenyan Shilling - /// - `KWD` - Kuwaiti Dinar - /// - `KGS` - Kyrgystani Som - /// - `LAK` - Laotian Kip - /// - `LVL` - Latvian Lats - /// - `LVR` - Latvian Ruble - /// - `LBP` - Lebanese Pound - /// - `LSL` - Lesotho Loti - /// - `LRD` - Liberian Dollar - /// - `LYD` - Libyan Dinar - /// - `LTL` - Lithuanian Litas - /// - `LTT` - Lithuanian Talonas - /// - `LUL` - Luxembourg Financial Franc - /// - `LUC` - Luxembourgian Convertible Franc - /// - `LUF` - Luxembourgian Franc - /// - `MOP` - Macanese Pataca - /// - `MKD` - Macedonian Denar - /// - `MKN` - Macedonian Denar (1992–1993) - /// - `MGA` - Malagasy Ariary - /// - `MGF` - Malagasy Franc - /// - `MWK` - Malawian Kwacha - /// - `MYR` - Malaysian Ringgit - /// - `MVR` - Maldivian Rufiyaa - /// - `MVP` - Maldivian Rupee (1947–1981) - /// - `MLF` - Malian Franc - /// - `MTL` - Maltese Lira - /// - `MTP` - Maltese Pound - /// - `MRU` - Mauritanian Ouguiya - /// - `MRO` - Mauritanian Ouguiya (1973–2017) - /// - `MUR` - Mauritian Rupee - /// - `MXV` - Mexican Investment Unit - /// - `MXN` - Mexican Peso - /// - `MXP` - Mexican Silver Peso (1861–1992) - /// - `MDC` - Moldovan Cupon - /// - `MDL` - Moldovan Leu - /// - `MCF` - Monegasque Franc - /// - `MNT` - Mongolian Tugrik - /// - `MAD` - Moroccan Dirham - /// - `MAF` - Moroccan Franc - /// - `MZE` - Mozambican Escudo - /// - `MZN` - Mozambican Metical - /// - `MZM` - Mozambican Metical (1980–2006) - /// - `MMK` - Myanmar Kyat - /// - `NAD` - Namibian Dollar - /// - `NPR` - Nepalese Rupee - /// - `ANG` - Netherlands Antillean Guilder - /// - `TWD` - New Taiwan Dollar - /// - `NZD` - New Zealand Dollar - /// - `NIO` - Nicaraguan Córdoba - /// - `NIC` - Nicaraguan Córdoba (1988–1991) - /// - `NGN` - Nigerian Naira - /// - `KPW` - North Korean Won - /// - `NOK` - Norwegian Krone - /// - `OMR` - Omani Rial - /// - `PKR` - Pakistani Rupee - /// - `XPD` - Palladium - /// - `PAB` - Panamanian Balboa - /// - `PGK` - Papua New Guinean Kina - /// - `PYG` - Paraguayan Guarani - /// - `PEI` - Peruvian Inti - /// - `PEN` - Peruvian Sol - /// - `PES` - Peruvian Sol (1863–1965) - /// - `PHP` - Philippine Peso - /// - `XPT` - Platinum - /// - `PLN` - Polish Zloty - /// - `PLZ` - Polish Zloty (1950–1995) - /// - `PTE` - Portuguese Escudo - /// - `GWE` - Portuguese Guinea Escudo - /// - `QAR` - Qatari Rial - /// - `XRE` - RINET Funds - /// - `RHD` - Rhodesian Dollar - /// - `RON` - Romanian Leu - /// - `ROL` - Romanian Leu (1952–2006) - /// - `RUB` - Russian Ruble - /// - `RUR` - Russian Ruble (1991–1998) - /// - `RWF` - Rwandan Franc - /// - `SVC` - Salvadoran Colón - /// - `WST` - Samoan Tala - /// - `SAR` - Saudi Riyal - /// - `RSD` - Serbian Dinar - /// - `CSD` - Serbian Dinar (2002–2006) - /// - `SCR` - Seychellois Rupee - /// - `SLL` - Sierra Leonean Leone - /// - `XAG` - Silver - /// - `SGD` - Singapore Dollar - /// - `SKK` - Slovak Koruna - /// - `SIT` - Slovenian Tolar - /// - `SBD` - Solomon Islands Dollar - /// - `SOS` - Somali Shilling - /// - `ZAR` - South African Rand - /// - `ZAL` - South African Rand (financial) - /// - `KRH` - South Korean Hwan (1953–1962) - /// - `KRW` - South Korean Won - /// - `KRO` - South Korean Won (1945–1953) - /// - `SSP` - South Sudanese Pound - /// - `SUR` - Soviet Rouble - /// - `ESP` - Spanish Peseta - /// - `ESA` - Spanish Peseta (A account) - /// - `ESB` - Spanish Peseta (convertible account) - /// - `XDR` - Special Drawing Rights - /// - `LKR` - Sri Lankan Rupee - /// - `SHP` - St. Helena Pound - /// - `XSU` - Sucre - /// - `SDD` - Sudanese Dinar (1992–2007) - /// - `SDG` - Sudanese Pound - /// - `SDP` - Sudanese Pound (1957–1998) - /// - `SRD` - Surinamese Dollar - /// - `SRG` - Surinamese Guilder - /// - `SZL` - Swazi Lilangeni - /// - `SEK` - Swedish Krona - /// - `CHF` - Swiss Franc - /// - `SYP` - Syrian Pound - /// - `STN` - São Tomé & Príncipe Dobra - /// - `STD` - São Tomé & Príncipe Dobra (1977–2017) - /// - `TVD` - TVD - /// - `TJR` - Tajikistani Ruble - /// - `TJS` - Tajikistani Somoni - /// - `TZS` - Tanzanian Shilling - /// - `XTS` - Testing Currency Code - /// - `THB` - Thai Baht - /// - `XXX` - The codes assigned for transactions where no currency is involved - /// - `TPE` - Timorese Escudo - /// - `TOP` - Tongan Paʻanga - /// - `TTD` - Trinidad & Tobago Dollar - /// - `TND` - Tunisian Dinar - /// - `TRY` - Turkish Lira - /// - `TRL` - Turkish Lira (1922–2005) - /// - `TMT` - Turkmenistani Manat - /// - `TMM` - Turkmenistani Manat (1993–2009) - /// - `USD` - US Dollar - /// - `USN` - US Dollar (Next day) - /// - `USS` - US Dollar (Same day) - /// - `UGX` - Ugandan Shilling - /// - `UGS` - Ugandan Shilling (1966–1987) - /// - `UAH` - Ukrainian Hryvnia - /// - `UAK` - Ukrainian Karbovanets - /// - `AED` - United Arab Emirates Dirham - /// - `UYW` - Uruguayan Nominal Wage Index Unit - /// - `UYU` - Uruguayan Peso - /// - `UYP` - Uruguayan Peso (1975–1993) - /// - `UYI` - Uruguayan Peso (Indexed Units) - /// - `UZS` - Uzbekistani Som - /// - `VUV` - Vanuatu Vatu - /// - `VES` - Venezuelan Bolívar - /// - `VEB` - Venezuelan Bolívar (1871–2008) - /// - `VEF` - Venezuelan Bolívar (2008–2018) - /// - `VND` - Vietnamese Dong - /// - `VNN` - Vietnamese Dong (1978–1985) - /// - `CHE` - WIR Euro - /// - `CHW` - WIR Franc - /// - `XOF` - West African CFA Franc - /// - `YDD` - Yemeni Dinar - /// - `YER` - Yemeni Rial - /// - `YUN` - Yugoslavian Convertible Dinar (1990–1992) - /// - `YUD` - Yugoslavian Hard Dinar (1966–1990) - /// - `YUM` - Yugoslavian New Dinar (1994–2002) - /// - `YUR` - Yugoslavian Reformed Dinar (1992–1993) - /// - `ZWN` - ZWN - /// - `ZRN` - Zairean New Zaire (1993–1998) - /// - `ZRZ` - Zairean Zaire (1971–1993) - /// - `ZMW` - Zambian Kwacha - /// - `ZMK` - Zambian Kwacha (1968–2012) - /// - `ZWD` - Zimbabwean Dollar (1980–2008) - /// - `ZWR` - Zimbabwean Dollar (2008) - /// - `ZWL` - Zimbabwean Dollar (2009) + /// * `XUA` - ADB Unit of Account + /// * `AFN` - Afghan Afghani + /// * `AFA` - Afghan Afghani (1927–2002) + /// * `ALL` - Albanian Lek + /// * `ALK` - Albanian Lek (1946–1965) + /// * `DZD` - Algerian Dinar + /// * `ADP` - Andorran Peseta + /// * `AOA` - Angolan Kwanza + /// * `AOK` - Angolan Kwanza (1977–1991) + /// * `AON` - Angolan New Kwanza (1990–2000) + /// * `AOR` - Angolan Readjusted Kwanza (1995–1999) + /// * `ARA` - Argentine Austral + /// * `ARS` - Argentine Peso + /// * `ARM` - Argentine Peso (1881–1970) + /// * `ARP` - Argentine Peso (1983–1985) + /// * `ARL` - Argentine Peso Ley (1970–1983) + /// * `AMD` - Armenian Dram + /// * `AWG` - Aruban Florin + /// * `AUD` - Australian Dollar + /// * `ATS` - Austrian Schilling + /// * `AZN` - Azerbaijani Manat + /// * `AZM` - Azerbaijani Manat (1993–2006) + /// * `BSD` - Bahamian Dollar + /// * `BHD` - Bahraini Dinar + /// * `BDT` - Bangladeshi Taka + /// * `BBD` - Barbadian Dollar + /// * `BYN` - Belarusian Ruble + /// * `BYB` - Belarusian Ruble (1994–1999) + /// * `BYR` - Belarusian Ruble (2000–2016) + /// * `BEF` - Belgian Franc + /// * `BEC` - Belgian Franc (convertible) + /// * `BEL` - Belgian Franc (financial) + /// * `BZD` - Belize Dollar + /// * `BMD` - Bermudan Dollar + /// * `BTN` - Bhutanese Ngultrum + /// * `BOB` - Bolivian Boliviano + /// * `BOL` - Bolivian Boliviano (1863–1963) + /// * `BOV` - Bolivian Mvdol + /// * `BOP` - Bolivian Peso + /// * `BAM` - Bosnia-Herzegovina Convertible Mark + /// * `BAD` - Bosnia-Herzegovina Dinar (1992–1994) + /// * `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) + /// * `BWP` - Botswanan Pula + /// * `BRC` - Brazilian Cruzado (1986–1989) + /// * `BRZ` - Brazilian Cruzeiro (1942–1967) + /// * `BRE` - Brazilian Cruzeiro (1990–1993) + /// * `BRR` - Brazilian Cruzeiro (1993–1994) + /// * `BRN` - Brazilian New Cruzado (1989–1990) + /// * `BRB` - Brazilian New Cruzeiro (1967–1986) + /// * `BRL` - Brazilian Real + /// * `GBP` - British Pound + /// * `BND` - Brunei Dollar + /// * `BGL` - Bulgarian Hard Lev + /// * `BGN` - Bulgarian Lev + /// * `BGO` - Bulgarian Lev (1879–1952) + /// * `BGM` - Bulgarian Socialist Lev + /// * `BUK` - Burmese Kyat + /// * `BIF` - Burundian Franc + /// * `XPF` - CFP Franc + /// * `KHR` - Cambodian Riel + /// * `CAD` - Canadian Dollar + /// * `CVE` - Cape Verdean Escudo + /// * `KYD` - Cayman Islands Dollar + /// * `XAF` - Central African CFA Franc + /// * `CLE` - Chilean Escudo + /// * `CLP` - Chilean Peso + /// * `CLF` - Chilean Unit of Account (UF) + /// * `CNX` - Chinese People’s Bank Dollar + /// * `CNY` - Chinese Yuan + /// * `CNH` - Chinese Yuan (offshore) + /// * `COP` - Colombian Peso + /// * `COU` - Colombian Real Value Unit + /// * `KMF` - Comorian Franc + /// * `CDF` - Congolese Franc + /// * `CRC` - Costa Rican Colón + /// * `HRD` - Croatian Dinar + /// * `HRK` - Croatian Kuna + /// * `CUC` - Cuban Convertible Peso + /// * `CUP` - Cuban Peso + /// * `CYP` - Cypriot Pound + /// * `CZK` - Czech Koruna + /// * `CSK` - Czechoslovak Hard Koruna + /// * `DKK` - Danish Krone + /// * `DJF` - Djiboutian Franc + /// * `DOP` - Dominican Peso + /// * `NLG` - Dutch Guilder + /// * `XCD` - East Caribbean Dollar + /// * `DDM` - East German Mark + /// * `ECS` - Ecuadorian Sucre + /// * `ECV` - Ecuadorian Unit of Constant Value + /// * `EGP` - Egyptian Pound + /// * `GQE` - Equatorial Guinean Ekwele + /// * `ERN` - Eritrean Nakfa + /// * `EEK` - Estonian Kroon + /// * `ETB` - Ethiopian Birr + /// * `EUR` - Euro + /// * `XBA` - European Composite Unit + /// * `XEU` - European Currency Unit + /// * `XBB` - European Monetary Unit + /// * `XBC` - European Unit of Account (XBC) + /// * `XBD` - European Unit of Account (XBD) + /// * `FKP` - Falkland Islands Pound + /// * `FJD` - Fijian Dollar + /// * `FIM` - Finnish Markka + /// * `FRF` - French Franc + /// * `XFO` - French Gold Franc + /// * `XFU` - French UIC-Franc + /// * `GMD` - Gambian Dalasi + /// * `GEK` - Georgian Kupon Larit + /// * `GEL` - Georgian Lari + /// * `DEM` - German Mark + /// * `GHS` - Ghanaian Cedi + /// * `GHC` - Ghanaian Cedi (1979–2007) + /// * `GIP` - Gibraltar Pound + /// * `XAU` - Gold + /// * `GRD` - Greek Drachma + /// * `GTQ` - Guatemalan Quetzal + /// * `GWP` - Guinea-Bissau Peso + /// * `GNF` - Guinean Franc + /// * `GNS` - Guinean Syli + /// * `GYD` - Guyanaese Dollar + /// * `HTG` - Haitian Gourde + /// * `HNL` - Honduran Lempira + /// * `HKD` - Hong Kong Dollar + /// * `HUF` - Hungarian Forint + /// * `IMP` - IMP + /// * `ISK` - Icelandic Króna + /// * `ISJ` - Icelandic Króna (1918–1981) + /// * `INR` - Indian Rupee + /// * `IDR` - Indonesian Rupiah + /// * `IRR` - Iranian Rial + /// * `IQD` - Iraqi Dinar + /// * `IEP` - Irish Pound + /// * `ILS` - Israeli New Shekel + /// * `ILP` - Israeli Pound + /// * `ILR` - Israeli Shekel (1980–1985) + /// * `ITL` - Italian Lira + /// * `JMD` - Jamaican Dollar + /// * `JPY` - Japanese Yen + /// * `JOD` - Jordanian Dinar + /// * `KZT` - Kazakhstani Tenge + /// * `KES` - Kenyan Shilling + /// * `KWD` - Kuwaiti Dinar + /// * `KGS` - Kyrgystani Som + /// * `LAK` - Laotian Kip + /// * `LVL` - Latvian Lats + /// * `LVR` - Latvian Ruble + /// * `LBP` - Lebanese Pound + /// * `LSL` - Lesotho Loti + /// * `LRD` - Liberian Dollar + /// * `LYD` - Libyan Dinar + /// * `LTL` - Lithuanian Litas + /// * `LTT` - Lithuanian Talonas + /// * `LUL` - Luxembourg Financial Franc + /// * `LUC` - Luxembourgian Convertible Franc + /// * `LUF` - Luxembourgian Franc + /// * `MOP` - Macanese Pataca + /// * `MKD` - Macedonian Denar + /// * `MKN` - Macedonian Denar (1992–1993) + /// * `MGA` - Malagasy Ariary + /// * `MGF` - Malagasy Franc + /// * `MWK` - Malawian Kwacha + /// * `MYR` - Malaysian Ringgit + /// * `MVR` - Maldivian Rufiyaa + /// * `MVP` - Maldivian Rupee (1947–1981) + /// * `MLF` - Malian Franc + /// * `MTL` - Maltese Lira + /// * `MTP` - Maltese Pound + /// * `MRU` - Mauritanian Ouguiya + /// * `MRO` - Mauritanian Ouguiya (1973–2017) + /// * `MUR` - Mauritian Rupee + /// * `MXV` - Mexican Investment Unit + /// * `MXN` - Mexican Peso + /// * `MXP` - Mexican Silver Peso (1861–1992) + /// * `MDC` - Moldovan Cupon + /// * `MDL` - Moldovan Leu + /// * `MCF` - Monegasque Franc + /// * `MNT` - Mongolian Tugrik + /// * `MAD` - Moroccan Dirham + /// * `MAF` - Moroccan Franc + /// * `MZE` - Mozambican Escudo + /// * `MZN` - Mozambican Metical + /// * `MZM` - Mozambican Metical (1980–2006) + /// * `MMK` - Myanmar Kyat + /// * `NAD` - Namibian Dollar + /// * `NPR` - Nepalese Rupee + /// * `ANG` - Netherlands Antillean Guilder + /// * `TWD` - New Taiwan Dollar + /// * `NZD` - New Zealand Dollar + /// * `NIO` - Nicaraguan Córdoba + /// * `NIC` - Nicaraguan Córdoba (1988–1991) + /// * `NGN` - Nigerian Naira + /// * `KPW` - North Korean Won + /// * `NOK` - Norwegian Krone + /// * `OMR` - Omani Rial + /// * `PKR` - Pakistani Rupee + /// * `XPD` - Palladium + /// * `PAB` - Panamanian Balboa + /// * `PGK` - Papua New Guinean Kina + /// * `PYG` - Paraguayan Guarani + /// * `PEI` - Peruvian Inti + /// * `PEN` - Peruvian Sol + /// * `PES` - Peruvian Sol (1863–1965) + /// * `PHP` - Philippine Peso + /// * `XPT` - Platinum + /// * `PLN` - Polish Zloty + /// * `PLZ` - Polish Zloty (1950–1995) + /// * `PTE` - Portuguese Escudo + /// * `GWE` - Portuguese Guinea Escudo + /// * `QAR` - Qatari Rial + /// * `XRE` - RINET Funds + /// * `RHD` - Rhodesian Dollar + /// * `RON` - Romanian Leu + /// * `ROL` - Romanian Leu (1952–2006) + /// * `RUB` - Russian Ruble + /// * `RUR` - Russian Ruble (1991–1998) + /// * `RWF` - Rwandan Franc + /// * `SVC` - Salvadoran Colón + /// * `WST` - Samoan Tala + /// * `SAR` - Saudi Riyal + /// * `RSD` - Serbian Dinar + /// * `CSD` - Serbian Dinar (2002–2006) + /// * `SCR` - Seychellois Rupee + /// * `SLL` - Sierra Leonean Leone + /// * `XAG` - Silver + /// * `SGD` - Singapore Dollar + /// * `SKK` - Slovak Koruna + /// * `SIT` - Slovenian Tolar + /// * `SBD` - Solomon Islands Dollar + /// * `SOS` - Somali Shilling + /// * `ZAR` - South African Rand + /// * `ZAL` - South African Rand (financial) + /// * `KRH` - South Korean Hwan (1953–1962) + /// * `KRW` - South Korean Won + /// * `KRO` - South Korean Won (1945–1953) + /// * `SSP` - South Sudanese Pound + /// * `SUR` - Soviet Rouble + /// * `ESP` - Spanish Peseta + /// * `ESA` - Spanish Peseta (A account) + /// * `ESB` - Spanish Peseta (convertible account) + /// * `XDR` - Special Drawing Rights + /// * `LKR` - Sri Lankan Rupee + /// * `SHP` - St. Helena Pound + /// * `XSU` - Sucre + /// * `SDD` - Sudanese Dinar (1992–2007) + /// * `SDG` - Sudanese Pound + /// * `SDP` - Sudanese Pound (1957–1998) + /// * `SRD` - Surinamese Dollar + /// * `SRG` - Surinamese Guilder + /// * `SZL` - Swazi Lilangeni + /// * `SEK` - Swedish Krona + /// * `CHF` - Swiss Franc + /// * `SYP` - Syrian Pound + /// * `STN` - São Tomé & Príncipe Dobra + /// * `STD` - São Tomé & Príncipe Dobra (1977–2017) + /// * `TVD` - TVD + /// * `TJR` - Tajikistani Ruble + /// * `TJS` - Tajikistani Somoni + /// * `TZS` - Tanzanian Shilling + /// * `XTS` - Testing Currency Code + /// * `THB` - Thai Baht + /// * `XXX` - The codes assigned for transactions where no currency is involved + /// * `TPE` - Timorese Escudo + /// * `TOP` - Tongan Paʻanga + /// * `TTD` - Trinidad & Tobago Dollar + /// * `TND` - Tunisian Dinar + /// * `TRY` - Turkish Lira + /// * `TRL` - Turkish Lira (1922–2005) + /// * `TMT` - Turkmenistani Manat + /// * `TMM` - Turkmenistani Manat (1993–2009) + /// * `USD` - US Dollar + /// * `USN` - US Dollar (Next day) + /// * `USS` - US Dollar (Same day) + /// * `UGX` - Ugandan Shilling + /// * `UGS` - Ugandan Shilling (1966–1987) + /// * `UAH` - Ukrainian Hryvnia + /// * `UAK` - Ukrainian Karbovanets + /// * `AED` - United Arab Emirates Dirham + /// * `UYW` - Uruguayan Nominal Wage Index Unit + /// * `UYU` - Uruguayan Peso + /// * `UYP` - Uruguayan Peso (1975–1993) + /// * `UYI` - Uruguayan Peso (Indexed Units) + /// * `UZS` - Uzbekistani Som + /// * `VUV` - Vanuatu Vatu + /// * `VES` - Venezuelan Bolívar + /// * `VEB` - Venezuelan Bolívar (1871–2008) + /// * `VEF` - Venezuelan Bolívar (2008–2018) + /// * `VND` - Vietnamese Dong + /// * `VNN` - Vietnamese Dong (1978–1985) + /// * `CHE` - WIR Euro + /// * `CHW` - WIR Franc + /// * `XOF` - West African CFA Franc + /// * `YDD` - Yemeni Dinar + /// * `YER` - Yemeni Rial + /// * `YUN` - Yugoslavian Convertible Dinar (1990–1992) + /// * `YUD` - Yugoslavian Hard Dinar (1966–1990) + /// * `YUM` - Yugoslavian New Dinar (1994–2002) + /// * `YUR` - Yugoslavian Reformed Dinar (1992–1993) + /// * `ZWN` - ZWN + /// * `ZRN` - Zairean New Zaire (1993–1998) + /// * `ZRZ` - Zairean Zaire (1971–1993) + /// * `ZMW` - Zambian Kwacha + /// * `ZMK` - Zambian Kwacha (1968–2012) + /// * `ZWD` - Zimbabwean Dollar (1980–2008) + /// * `ZWR` - Zimbabwean Dollar (2008) + /// * `ZWL` - Zimbabwean Dollar (2009) /// [JsonPropertyName("currency")] public TransactionCurrencyEnum? Currency { get; set; } @@ -412,6 +426,13 @@ public record PurchaseOrder [JsonPropertyName("exchange_rate")] public string? ExchangeRate { get; set; } + /// + /// The payment term that applies to this transaction. + /// + [JsonPropertyName("payment_term")] + public OneOf? PaymentTerm { get; set; } + + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("line_items")] public IEnumerable? LineItems { get; set; } @@ -445,18 +466,33 @@ public record PurchaseOrder /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_fields")] public IEnumerable? RemoteFields { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/PurchaseOrderLineItem.cs b/src/Merge.Client/Accounting/Types/PurchaseOrderLineItem.cs index 12c1241c..81c6ad28 100644 --- a/src/Merge.Client/Accounting/Types/PurchaseOrderLineItem.cs +++ b/src/Merge.Client/Accounting/Types/PurchaseOrderLineItem.cs @@ -1,11 +1,21 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Accounting; +/// +/// # The PurchaseOrderLineItem Object +/// ### Description +/// The `PurchaseOrderLineItem` object is used to represent a purchase order's line item. +/// +/// ### Usage Example +/// Fetch from the `GET PurchaseOrder` endpoint and view a company's purchase orders. +/// public record PurchaseOrderLineItem { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -18,12 +28,14 @@ public record PurchaseOrderLineItem /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -81,312 +93,312 @@ public record PurchaseOrderLineItem /// /// The purchase order line item's currency. /// - /// - `XUA` - ADB Unit of Account - /// - `AFN` - Afghan Afghani - /// - `AFA` - Afghan Afghani (1927–2002) - /// - `ALL` - Albanian Lek - /// - `ALK` - Albanian Lek (1946–1965) - /// - `DZD` - Algerian Dinar - /// - `ADP` - Andorran Peseta - /// - `AOA` - Angolan Kwanza - /// - `AOK` - Angolan Kwanza (1977–1991) - /// - `AON` - Angolan New Kwanza (1990–2000) - /// - `AOR` - Angolan Readjusted Kwanza (1995–1999) - /// - `ARA` - Argentine Austral - /// - `ARS` - Argentine Peso - /// - `ARM` - Argentine Peso (1881–1970) - /// - `ARP` - Argentine Peso (1983–1985) - /// - `ARL` - Argentine Peso Ley (1970–1983) - /// - `AMD` - Armenian Dram - /// - `AWG` - Aruban Florin - /// - `AUD` - Australian Dollar - /// - `ATS` - Austrian Schilling - /// - `AZN` - Azerbaijani Manat - /// - `AZM` - Azerbaijani Manat (1993–2006) - /// - `BSD` - Bahamian Dollar - /// - `BHD` - Bahraini Dinar - /// - `BDT` - Bangladeshi Taka - /// - `BBD` - Barbadian Dollar - /// - `BYN` - Belarusian Ruble - /// - `BYB` - Belarusian Ruble (1994–1999) - /// - `BYR` - Belarusian Ruble (2000–2016) - /// - `BEF` - Belgian Franc - /// - `BEC` - Belgian Franc (convertible) - /// - `BEL` - Belgian Franc (financial) - /// - `BZD` - Belize Dollar - /// - `BMD` - Bermudan Dollar - /// - `BTN` - Bhutanese Ngultrum - /// - `BOB` - Bolivian Boliviano - /// - `BOL` - Bolivian Boliviano (1863–1963) - /// - `BOV` - Bolivian Mvdol - /// - `BOP` - Bolivian Peso - /// - `BAM` - Bosnia-Herzegovina Convertible Mark - /// - `BAD` - Bosnia-Herzegovina Dinar (1992–1994) - /// - `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) - /// - `BWP` - Botswanan Pula - /// - `BRC` - Brazilian Cruzado (1986–1989) - /// - `BRZ` - Brazilian Cruzeiro (1942–1967) - /// - `BRE` - Brazilian Cruzeiro (1990–1993) - /// - `BRR` - Brazilian Cruzeiro (1993–1994) - /// - `BRN` - Brazilian New Cruzado (1989–1990) - /// - `BRB` - Brazilian New Cruzeiro (1967–1986) - /// - `BRL` - Brazilian Real - /// - `GBP` - British Pound - /// - `BND` - Brunei Dollar - /// - `BGL` - Bulgarian Hard Lev - /// - `BGN` - Bulgarian Lev - /// - `BGO` - Bulgarian Lev (1879–1952) - /// - `BGM` - Bulgarian Socialist Lev - /// - `BUK` - Burmese Kyat - /// - `BIF` - Burundian Franc - /// - `XPF` - CFP Franc - /// - `KHR` - Cambodian Riel - /// - `CAD` - Canadian Dollar - /// - `CVE` - Cape Verdean Escudo - /// - `KYD` - Cayman Islands Dollar - /// - `XAF` - Central African CFA Franc - /// - `CLE` - Chilean Escudo - /// - `CLP` - Chilean Peso - /// - `CLF` - Chilean Unit of Account (UF) - /// - `CNX` - Chinese People’s Bank Dollar - /// - `CNY` - Chinese Yuan - /// - `CNH` - Chinese Yuan (offshore) - /// - `COP` - Colombian Peso - /// - `COU` - Colombian Real Value Unit - /// - `KMF` - Comorian Franc - /// - `CDF` - Congolese Franc - /// - `CRC` - Costa Rican Colón - /// - `HRD` - Croatian Dinar - /// - `HRK` - Croatian Kuna - /// - `CUC` - Cuban Convertible Peso - /// - `CUP` - Cuban Peso - /// - `CYP` - Cypriot Pound - /// - `CZK` - Czech Koruna - /// - `CSK` - Czechoslovak Hard Koruna - /// - `DKK` - Danish Krone - /// - `DJF` - Djiboutian Franc - /// - `DOP` - Dominican Peso - /// - `NLG` - Dutch Guilder - /// - `XCD` - East Caribbean Dollar - /// - `DDM` - East German Mark - /// - `ECS` - Ecuadorian Sucre - /// - `ECV` - Ecuadorian Unit of Constant Value - /// - `EGP` - Egyptian Pound - /// - `GQE` - Equatorial Guinean Ekwele - /// - `ERN` - Eritrean Nakfa - /// - `EEK` - Estonian Kroon - /// - `ETB` - Ethiopian Birr - /// - `EUR` - Euro - /// - `XBA` - European Composite Unit - /// - `XEU` - European Currency Unit - /// - `XBB` - European Monetary Unit - /// - `XBC` - European Unit of Account (XBC) - /// - `XBD` - European Unit of Account (XBD) - /// - `FKP` - Falkland Islands Pound - /// - `FJD` - Fijian Dollar - /// - `FIM` - Finnish Markka - /// - `FRF` - French Franc - /// - `XFO` - French Gold Franc - /// - `XFU` - French UIC-Franc - /// - `GMD` - Gambian Dalasi - /// - `GEK` - Georgian Kupon Larit - /// - `GEL` - Georgian Lari - /// - `DEM` - German Mark - /// - `GHS` - Ghanaian Cedi - /// - `GHC` - Ghanaian Cedi (1979–2007) - /// - `GIP` - Gibraltar Pound - /// - `XAU` - Gold - /// - `GRD` - Greek Drachma - /// - `GTQ` - Guatemalan Quetzal - /// - `GWP` - Guinea-Bissau Peso - /// - `GNF` - Guinean Franc - /// - `GNS` - Guinean Syli - /// - `GYD` - Guyanaese Dollar - /// - `HTG` - Haitian Gourde - /// - `HNL` - Honduran Lempira - /// - `HKD` - Hong Kong Dollar - /// - `HUF` - Hungarian Forint - /// - `IMP` - IMP - /// - `ISK` - Icelandic Króna - /// - `ISJ` - Icelandic Króna (1918–1981) - /// - `INR` - Indian Rupee - /// - `IDR` - Indonesian Rupiah - /// - `IRR` - Iranian Rial - /// - `IQD` - Iraqi Dinar - /// - `IEP` - Irish Pound - /// - `ILS` - Israeli New Shekel - /// - `ILP` - Israeli Pound - /// - `ILR` - Israeli Shekel (1980–1985) - /// - `ITL` - Italian Lira - /// - `JMD` - Jamaican Dollar - /// - `JPY` - Japanese Yen - /// - `JOD` - Jordanian Dinar - /// - `KZT` - Kazakhstani Tenge - /// - `KES` - Kenyan Shilling - /// - `KWD` - Kuwaiti Dinar - /// - `KGS` - Kyrgystani Som - /// - `LAK` - Laotian Kip - /// - `LVL` - Latvian Lats - /// - `LVR` - Latvian Ruble - /// - `LBP` - Lebanese Pound - /// - `LSL` - Lesotho Loti - /// - `LRD` - Liberian Dollar - /// - `LYD` - Libyan Dinar - /// - `LTL` - Lithuanian Litas - /// - `LTT` - Lithuanian Talonas - /// - `LUL` - Luxembourg Financial Franc - /// - `LUC` - Luxembourgian Convertible Franc - /// - `LUF` - Luxembourgian Franc - /// - `MOP` - Macanese Pataca - /// - `MKD` - Macedonian Denar - /// - `MKN` - Macedonian Denar (1992–1993) - /// - `MGA` - Malagasy Ariary - /// - `MGF` - Malagasy Franc - /// - `MWK` - Malawian Kwacha - /// - `MYR` - Malaysian Ringgit - /// - `MVR` - Maldivian Rufiyaa - /// - `MVP` - Maldivian Rupee (1947–1981) - /// - `MLF` - Malian Franc - /// - `MTL` - Maltese Lira - /// - `MTP` - Maltese Pound - /// - `MRU` - Mauritanian Ouguiya - /// - `MRO` - Mauritanian Ouguiya (1973–2017) - /// - `MUR` - Mauritian Rupee - /// - `MXV` - Mexican Investment Unit - /// - `MXN` - Mexican Peso - /// - `MXP` - Mexican Silver Peso (1861–1992) - /// - `MDC` - Moldovan Cupon - /// - `MDL` - Moldovan Leu - /// - `MCF` - Monegasque Franc - /// - `MNT` - Mongolian Tugrik - /// - `MAD` - Moroccan Dirham - /// - `MAF` - Moroccan Franc - /// - `MZE` - Mozambican Escudo - /// - `MZN` - Mozambican Metical - /// - `MZM` - Mozambican Metical (1980–2006) - /// - `MMK` - Myanmar Kyat - /// - `NAD` - Namibian Dollar - /// - `NPR` - Nepalese Rupee - /// - `ANG` - Netherlands Antillean Guilder - /// - `TWD` - New Taiwan Dollar - /// - `NZD` - New Zealand Dollar - /// - `NIO` - Nicaraguan Córdoba - /// - `NIC` - Nicaraguan Córdoba (1988–1991) - /// - `NGN` - Nigerian Naira - /// - `KPW` - North Korean Won - /// - `NOK` - Norwegian Krone - /// - `OMR` - Omani Rial - /// - `PKR` - Pakistani Rupee - /// - `XPD` - Palladium - /// - `PAB` - Panamanian Balboa - /// - `PGK` - Papua New Guinean Kina - /// - `PYG` - Paraguayan Guarani - /// - `PEI` - Peruvian Inti - /// - `PEN` - Peruvian Sol - /// - `PES` - Peruvian Sol (1863–1965) - /// - `PHP` - Philippine Peso - /// - `XPT` - Platinum - /// - `PLN` - Polish Zloty - /// - `PLZ` - Polish Zloty (1950–1995) - /// - `PTE` - Portuguese Escudo - /// - `GWE` - Portuguese Guinea Escudo - /// - `QAR` - Qatari Rial - /// - `XRE` - RINET Funds - /// - `RHD` - Rhodesian Dollar - /// - `RON` - Romanian Leu - /// - `ROL` - Romanian Leu (1952–2006) - /// - `RUB` - Russian Ruble - /// - `RUR` - Russian Ruble (1991–1998) - /// - `RWF` - Rwandan Franc - /// - `SVC` - Salvadoran Colón - /// - `WST` - Samoan Tala - /// - `SAR` - Saudi Riyal - /// - `RSD` - Serbian Dinar - /// - `CSD` - Serbian Dinar (2002–2006) - /// - `SCR` - Seychellois Rupee - /// - `SLL` - Sierra Leonean Leone - /// - `XAG` - Silver - /// - `SGD` - Singapore Dollar - /// - `SKK` - Slovak Koruna - /// - `SIT` - Slovenian Tolar - /// - `SBD` - Solomon Islands Dollar - /// - `SOS` - Somali Shilling - /// - `ZAR` - South African Rand - /// - `ZAL` - South African Rand (financial) - /// - `KRH` - South Korean Hwan (1953–1962) - /// - `KRW` - South Korean Won - /// - `KRO` - South Korean Won (1945–1953) - /// - `SSP` - South Sudanese Pound - /// - `SUR` - Soviet Rouble - /// - `ESP` - Spanish Peseta - /// - `ESA` - Spanish Peseta (A account) - /// - `ESB` - Spanish Peseta (convertible account) - /// - `XDR` - Special Drawing Rights - /// - `LKR` - Sri Lankan Rupee - /// - `SHP` - St. Helena Pound - /// - `XSU` - Sucre - /// - `SDD` - Sudanese Dinar (1992–2007) - /// - `SDG` - Sudanese Pound - /// - `SDP` - Sudanese Pound (1957–1998) - /// - `SRD` - Surinamese Dollar - /// - `SRG` - Surinamese Guilder - /// - `SZL` - Swazi Lilangeni - /// - `SEK` - Swedish Krona - /// - `CHF` - Swiss Franc - /// - `SYP` - Syrian Pound - /// - `STN` - São Tomé & Príncipe Dobra - /// - `STD` - São Tomé & Príncipe Dobra (1977–2017) - /// - `TVD` - TVD - /// - `TJR` - Tajikistani Ruble - /// - `TJS` - Tajikistani Somoni - /// - `TZS` - Tanzanian Shilling - /// - `XTS` - Testing Currency Code - /// - `THB` - Thai Baht - /// - `XXX` - The codes assigned for transactions where no currency is involved - /// - `TPE` - Timorese Escudo - /// - `TOP` - Tongan Paʻanga - /// - `TTD` - Trinidad & Tobago Dollar - /// - `TND` - Tunisian Dinar - /// - `TRY` - Turkish Lira - /// - `TRL` - Turkish Lira (1922–2005) - /// - `TMT` - Turkmenistani Manat - /// - `TMM` - Turkmenistani Manat (1993–2009) - /// - `USD` - US Dollar - /// - `USN` - US Dollar (Next day) - /// - `USS` - US Dollar (Same day) - /// - `UGX` - Ugandan Shilling - /// - `UGS` - Ugandan Shilling (1966–1987) - /// - `UAH` - Ukrainian Hryvnia - /// - `UAK` - Ukrainian Karbovanets - /// - `AED` - United Arab Emirates Dirham - /// - `UYW` - Uruguayan Nominal Wage Index Unit - /// - `UYU` - Uruguayan Peso - /// - `UYP` - Uruguayan Peso (1975–1993) - /// - `UYI` - Uruguayan Peso (Indexed Units) - /// - `UZS` - Uzbekistani Som - /// - `VUV` - Vanuatu Vatu - /// - `VES` - Venezuelan Bolívar - /// - `VEB` - Venezuelan Bolívar (1871–2008) - /// - `VEF` - Venezuelan Bolívar (2008–2018) - /// - `VND` - Vietnamese Dong - /// - `VNN` - Vietnamese Dong (1978–1985) - /// - `CHE` - WIR Euro - /// - `CHW` - WIR Franc - /// - `XOF` - West African CFA Franc - /// - `YDD` - Yemeni Dinar - /// - `YER` - Yemeni Rial - /// - `YUN` - Yugoslavian Convertible Dinar (1990–1992) - /// - `YUD` - Yugoslavian Hard Dinar (1966–1990) - /// - `YUM` - Yugoslavian New Dinar (1994–2002) - /// - `YUR` - Yugoslavian Reformed Dinar (1992–1993) - /// - `ZWN` - ZWN - /// - `ZRN` - Zairean New Zaire (1993–1998) - /// - `ZRZ` - Zairean Zaire (1971–1993) - /// - `ZMW` - Zambian Kwacha - /// - `ZMK` - Zambian Kwacha (1968–2012) - /// - `ZWD` - Zimbabwean Dollar (1980–2008) - /// - `ZWR` - Zimbabwean Dollar (2008) - /// - `ZWL` - Zimbabwean Dollar (2009) + /// * `XUA` - ADB Unit of Account + /// * `AFN` - Afghan Afghani + /// * `AFA` - Afghan Afghani (1927–2002) + /// * `ALL` - Albanian Lek + /// * `ALK` - Albanian Lek (1946–1965) + /// * `DZD` - Algerian Dinar + /// * `ADP` - Andorran Peseta + /// * `AOA` - Angolan Kwanza + /// * `AOK` - Angolan Kwanza (1977–1991) + /// * `AON` - Angolan New Kwanza (1990–2000) + /// * `AOR` - Angolan Readjusted Kwanza (1995–1999) + /// * `ARA` - Argentine Austral + /// * `ARS` - Argentine Peso + /// * `ARM` - Argentine Peso (1881–1970) + /// * `ARP` - Argentine Peso (1983–1985) + /// * `ARL` - Argentine Peso Ley (1970–1983) + /// * `AMD` - Armenian Dram + /// * `AWG` - Aruban Florin + /// * `AUD` - Australian Dollar + /// * `ATS` - Austrian Schilling + /// * `AZN` - Azerbaijani Manat + /// * `AZM` - Azerbaijani Manat (1993–2006) + /// * `BSD` - Bahamian Dollar + /// * `BHD` - Bahraini Dinar + /// * `BDT` - Bangladeshi Taka + /// * `BBD` - Barbadian Dollar + /// * `BYN` - Belarusian Ruble + /// * `BYB` - Belarusian Ruble (1994–1999) + /// * `BYR` - Belarusian Ruble (2000–2016) + /// * `BEF` - Belgian Franc + /// * `BEC` - Belgian Franc (convertible) + /// * `BEL` - Belgian Franc (financial) + /// * `BZD` - Belize Dollar + /// * `BMD` - Bermudan Dollar + /// * `BTN` - Bhutanese Ngultrum + /// * `BOB` - Bolivian Boliviano + /// * `BOL` - Bolivian Boliviano (1863–1963) + /// * `BOV` - Bolivian Mvdol + /// * `BOP` - Bolivian Peso + /// * `BAM` - Bosnia-Herzegovina Convertible Mark + /// * `BAD` - Bosnia-Herzegovina Dinar (1992–1994) + /// * `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) + /// * `BWP` - Botswanan Pula + /// * `BRC` - Brazilian Cruzado (1986–1989) + /// * `BRZ` - Brazilian Cruzeiro (1942–1967) + /// * `BRE` - Brazilian Cruzeiro (1990–1993) + /// * `BRR` - Brazilian Cruzeiro (1993–1994) + /// * `BRN` - Brazilian New Cruzado (1989–1990) + /// * `BRB` - Brazilian New Cruzeiro (1967–1986) + /// * `BRL` - Brazilian Real + /// * `GBP` - British Pound + /// * `BND` - Brunei Dollar + /// * `BGL` - Bulgarian Hard Lev + /// * `BGN` - Bulgarian Lev + /// * `BGO` - Bulgarian Lev (1879–1952) + /// * `BGM` - Bulgarian Socialist Lev + /// * `BUK` - Burmese Kyat + /// * `BIF` - Burundian Franc + /// * `XPF` - CFP Franc + /// * `KHR` - Cambodian Riel + /// * `CAD` - Canadian Dollar + /// * `CVE` - Cape Verdean Escudo + /// * `KYD` - Cayman Islands Dollar + /// * `XAF` - Central African CFA Franc + /// * `CLE` - Chilean Escudo + /// * `CLP` - Chilean Peso + /// * `CLF` - Chilean Unit of Account (UF) + /// * `CNX` - Chinese People’s Bank Dollar + /// * `CNY` - Chinese Yuan + /// * `CNH` - Chinese Yuan (offshore) + /// * `COP` - Colombian Peso + /// * `COU` - Colombian Real Value Unit + /// * `KMF` - Comorian Franc + /// * `CDF` - Congolese Franc + /// * `CRC` - Costa Rican Colón + /// * `HRD` - Croatian Dinar + /// * `HRK` - Croatian Kuna + /// * `CUC` - Cuban Convertible Peso + /// * `CUP` - Cuban Peso + /// * `CYP` - Cypriot Pound + /// * `CZK` - Czech Koruna + /// * `CSK` - Czechoslovak Hard Koruna + /// * `DKK` - Danish Krone + /// * `DJF` - Djiboutian Franc + /// * `DOP` - Dominican Peso + /// * `NLG` - Dutch Guilder + /// * `XCD` - East Caribbean Dollar + /// * `DDM` - East German Mark + /// * `ECS` - Ecuadorian Sucre + /// * `ECV` - Ecuadorian Unit of Constant Value + /// * `EGP` - Egyptian Pound + /// * `GQE` - Equatorial Guinean Ekwele + /// * `ERN` - Eritrean Nakfa + /// * `EEK` - Estonian Kroon + /// * `ETB` - Ethiopian Birr + /// * `EUR` - Euro + /// * `XBA` - European Composite Unit + /// * `XEU` - European Currency Unit + /// * `XBB` - European Monetary Unit + /// * `XBC` - European Unit of Account (XBC) + /// * `XBD` - European Unit of Account (XBD) + /// * `FKP` - Falkland Islands Pound + /// * `FJD` - Fijian Dollar + /// * `FIM` - Finnish Markka + /// * `FRF` - French Franc + /// * `XFO` - French Gold Franc + /// * `XFU` - French UIC-Franc + /// * `GMD` - Gambian Dalasi + /// * `GEK` - Georgian Kupon Larit + /// * `GEL` - Georgian Lari + /// * `DEM` - German Mark + /// * `GHS` - Ghanaian Cedi + /// * `GHC` - Ghanaian Cedi (1979–2007) + /// * `GIP` - Gibraltar Pound + /// * `XAU` - Gold + /// * `GRD` - Greek Drachma + /// * `GTQ` - Guatemalan Quetzal + /// * `GWP` - Guinea-Bissau Peso + /// * `GNF` - Guinean Franc + /// * `GNS` - Guinean Syli + /// * `GYD` - Guyanaese Dollar + /// * `HTG` - Haitian Gourde + /// * `HNL` - Honduran Lempira + /// * `HKD` - Hong Kong Dollar + /// * `HUF` - Hungarian Forint + /// * `IMP` - IMP + /// * `ISK` - Icelandic Króna + /// * `ISJ` - Icelandic Króna (1918–1981) + /// * `INR` - Indian Rupee + /// * `IDR` - Indonesian Rupiah + /// * `IRR` - Iranian Rial + /// * `IQD` - Iraqi Dinar + /// * `IEP` - Irish Pound + /// * `ILS` - Israeli New Shekel + /// * `ILP` - Israeli Pound + /// * `ILR` - Israeli Shekel (1980–1985) + /// * `ITL` - Italian Lira + /// * `JMD` - Jamaican Dollar + /// * `JPY` - Japanese Yen + /// * `JOD` - Jordanian Dinar + /// * `KZT` - Kazakhstani Tenge + /// * `KES` - Kenyan Shilling + /// * `KWD` - Kuwaiti Dinar + /// * `KGS` - Kyrgystani Som + /// * `LAK` - Laotian Kip + /// * `LVL` - Latvian Lats + /// * `LVR` - Latvian Ruble + /// * `LBP` - Lebanese Pound + /// * `LSL` - Lesotho Loti + /// * `LRD` - Liberian Dollar + /// * `LYD` - Libyan Dinar + /// * `LTL` - Lithuanian Litas + /// * `LTT` - Lithuanian Talonas + /// * `LUL` - Luxembourg Financial Franc + /// * `LUC` - Luxembourgian Convertible Franc + /// * `LUF` - Luxembourgian Franc + /// * `MOP` - Macanese Pataca + /// * `MKD` - Macedonian Denar + /// * `MKN` - Macedonian Denar (1992–1993) + /// * `MGA` - Malagasy Ariary + /// * `MGF` - Malagasy Franc + /// * `MWK` - Malawian Kwacha + /// * `MYR` - Malaysian Ringgit + /// * `MVR` - Maldivian Rufiyaa + /// * `MVP` - Maldivian Rupee (1947–1981) + /// * `MLF` - Malian Franc + /// * `MTL` - Maltese Lira + /// * `MTP` - Maltese Pound + /// * `MRU` - Mauritanian Ouguiya + /// * `MRO` - Mauritanian Ouguiya (1973–2017) + /// * `MUR` - Mauritian Rupee + /// * `MXV` - Mexican Investment Unit + /// * `MXN` - Mexican Peso + /// * `MXP` - Mexican Silver Peso (1861–1992) + /// * `MDC` - Moldovan Cupon + /// * `MDL` - Moldovan Leu + /// * `MCF` - Monegasque Franc + /// * `MNT` - Mongolian Tugrik + /// * `MAD` - Moroccan Dirham + /// * `MAF` - Moroccan Franc + /// * `MZE` - Mozambican Escudo + /// * `MZN` - Mozambican Metical + /// * `MZM` - Mozambican Metical (1980–2006) + /// * `MMK` - Myanmar Kyat + /// * `NAD` - Namibian Dollar + /// * `NPR` - Nepalese Rupee + /// * `ANG` - Netherlands Antillean Guilder + /// * `TWD` - New Taiwan Dollar + /// * `NZD` - New Zealand Dollar + /// * `NIO` - Nicaraguan Córdoba + /// * `NIC` - Nicaraguan Córdoba (1988–1991) + /// * `NGN` - Nigerian Naira + /// * `KPW` - North Korean Won + /// * `NOK` - Norwegian Krone + /// * `OMR` - Omani Rial + /// * `PKR` - Pakistani Rupee + /// * `XPD` - Palladium + /// * `PAB` - Panamanian Balboa + /// * `PGK` - Papua New Guinean Kina + /// * `PYG` - Paraguayan Guarani + /// * `PEI` - Peruvian Inti + /// * `PEN` - Peruvian Sol + /// * `PES` - Peruvian Sol (1863–1965) + /// * `PHP` - Philippine Peso + /// * `XPT` - Platinum + /// * `PLN` - Polish Zloty + /// * `PLZ` - Polish Zloty (1950–1995) + /// * `PTE` - Portuguese Escudo + /// * `GWE` - Portuguese Guinea Escudo + /// * `QAR` - Qatari Rial + /// * `XRE` - RINET Funds + /// * `RHD` - Rhodesian Dollar + /// * `RON` - Romanian Leu + /// * `ROL` - Romanian Leu (1952–2006) + /// * `RUB` - Russian Ruble + /// * `RUR` - Russian Ruble (1991–1998) + /// * `RWF` - Rwandan Franc + /// * `SVC` - Salvadoran Colón + /// * `WST` - Samoan Tala + /// * `SAR` - Saudi Riyal + /// * `RSD` - Serbian Dinar + /// * `CSD` - Serbian Dinar (2002–2006) + /// * `SCR` - Seychellois Rupee + /// * `SLL` - Sierra Leonean Leone + /// * `XAG` - Silver + /// * `SGD` - Singapore Dollar + /// * `SKK` - Slovak Koruna + /// * `SIT` - Slovenian Tolar + /// * `SBD` - Solomon Islands Dollar + /// * `SOS` - Somali Shilling + /// * `ZAR` - South African Rand + /// * `ZAL` - South African Rand (financial) + /// * `KRH` - South Korean Hwan (1953–1962) + /// * `KRW` - South Korean Won + /// * `KRO` - South Korean Won (1945–1953) + /// * `SSP` - South Sudanese Pound + /// * `SUR` - Soviet Rouble + /// * `ESP` - Spanish Peseta + /// * `ESA` - Spanish Peseta (A account) + /// * `ESB` - Spanish Peseta (convertible account) + /// * `XDR` - Special Drawing Rights + /// * `LKR` - Sri Lankan Rupee + /// * `SHP` - St. Helena Pound + /// * `XSU` - Sucre + /// * `SDD` - Sudanese Dinar (1992–2007) + /// * `SDG` - Sudanese Pound + /// * `SDP` - Sudanese Pound (1957–1998) + /// * `SRD` - Surinamese Dollar + /// * `SRG` - Surinamese Guilder + /// * `SZL` - Swazi Lilangeni + /// * `SEK` - Swedish Krona + /// * `CHF` - Swiss Franc + /// * `SYP` - Syrian Pound + /// * `STN` - São Tomé & Príncipe Dobra + /// * `STD` - São Tomé & Príncipe Dobra (1977–2017) + /// * `TVD` - TVD + /// * `TJR` - Tajikistani Ruble + /// * `TJS` - Tajikistani Somoni + /// * `TZS` - Tanzanian Shilling + /// * `XTS` - Testing Currency Code + /// * `THB` - Thai Baht + /// * `XXX` - The codes assigned for transactions where no currency is involved + /// * `TPE` - Timorese Escudo + /// * `TOP` - Tongan Paʻanga + /// * `TTD` - Trinidad & Tobago Dollar + /// * `TND` - Tunisian Dinar + /// * `TRY` - Turkish Lira + /// * `TRL` - Turkish Lira (1922–2005) + /// * `TMT` - Turkmenistani Manat + /// * `TMM` - Turkmenistani Manat (1993–2009) + /// * `USD` - US Dollar + /// * `USN` - US Dollar (Next day) + /// * `USS` - US Dollar (Same day) + /// * `UGX` - Ugandan Shilling + /// * `UGS` - Ugandan Shilling (1966–1987) + /// * `UAH` - Ukrainian Hryvnia + /// * `UAK` - Ukrainian Karbovanets + /// * `AED` - United Arab Emirates Dirham + /// * `UYW` - Uruguayan Nominal Wage Index Unit + /// * `UYU` - Uruguayan Peso + /// * `UYP` - Uruguayan Peso (1975–1993) + /// * `UYI` - Uruguayan Peso (Indexed Units) + /// * `UZS` - Uzbekistani Som + /// * `VUV` - Vanuatu Vatu + /// * `VES` - Venezuelan Bolívar + /// * `VEB` - Venezuelan Bolívar (1871–2008) + /// * `VEF` - Venezuelan Bolívar (2008–2018) + /// * `VND` - Vietnamese Dong + /// * `VNN` - Vietnamese Dong (1978–1985) + /// * `CHE` - WIR Euro + /// * `CHW` - WIR Franc + /// * `XOF` - West African CFA Franc + /// * `YDD` - Yemeni Dinar + /// * `YER` - Yemeni Rial + /// * `YUN` - Yugoslavian Convertible Dinar (1990–1992) + /// * `YUD` - Yugoslavian Hard Dinar (1966–1990) + /// * `YUM` - Yugoslavian New Dinar (1994–2002) + /// * `YUR` - Yugoslavian Reformed Dinar (1992–1993) + /// * `ZWN` - ZWN + /// * `ZRN` - Zairean New Zaire (1993–1998) + /// * `ZRZ` - Zairean Zaire (1971–1993) + /// * `ZMW` - Zambian Kwacha + /// * `ZMK` - Zambian Kwacha (1968–2012) + /// * `ZWD` - Zimbabwean Dollar (1980–2008) + /// * `ZWR` - Zimbabwean Dollar (2008) + /// * `ZWL` - Zimbabwean Dollar (2009) /// [JsonPropertyName("currency")] public TransactionCurrencyEnum? Currency { get; set; } @@ -412,12 +424,25 @@ public record PurchaseOrderLineItem /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_fields")] public IEnumerable? RemoteFields { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/PurchaseOrderLineItemRequest.cs b/src/Merge.Client/Accounting/Types/PurchaseOrderLineItemRequest.cs index 97d6df3a..d4dbd789 100644 --- a/src/Merge.Client/Accounting/Types/PurchaseOrderLineItemRequest.cs +++ b/src/Merge.Client/Accounting/Types/PurchaseOrderLineItemRequest.cs @@ -1,9 +1,18 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Accounting; +/// +/// # The PurchaseOrderLineItem Object +/// ### Description +/// The `PurchaseOrderLineItem` object is used to represent a purchase order's line item. +/// +/// ### Usage Example +/// Fetch from the `GET PurchaseOrder` endpoint and view a company's purchase orders. +/// public record PurchaseOrderLineItemRequest { /// @@ -66,312 +75,312 @@ public record PurchaseOrderLineItemRequest /// /// The purchase order line item's currency. /// - /// - `XUA` - ADB Unit of Account - /// - `AFN` - Afghan Afghani - /// - `AFA` - Afghan Afghani (1927–2002) - /// - `ALL` - Albanian Lek - /// - `ALK` - Albanian Lek (1946–1965) - /// - `DZD` - Algerian Dinar - /// - `ADP` - Andorran Peseta - /// - `AOA` - Angolan Kwanza - /// - `AOK` - Angolan Kwanza (1977–1991) - /// - `AON` - Angolan New Kwanza (1990–2000) - /// - `AOR` - Angolan Readjusted Kwanza (1995–1999) - /// - `ARA` - Argentine Austral - /// - `ARS` - Argentine Peso - /// - `ARM` - Argentine Peso (1881–1970) - /// - `ARP` - Argentine Peso (1983–1985) - /// - `ARL` - Argentine Peso Ley (1970–1983) - /// - `AMD` - Armenian Dram - /// - `AWG` - Aruban Florin - /// - `AUD` - Australian Dollar - /// - `ATS` - Austrian Schilling - /// - `AZN` - Azerbaijani Manat - /// - `AZM` - Azerbaijani Manat (1993–2006) - /// - `BSD` - Bahamian Dollar - /// - `BHD` - Bahraini Dinar - /// - `BDT` - Bangladeshi Taka - /// - `BBD` - Barbadian Dollar - /// - `BYN` - Belarusian Ruble - /// - `BYB` - Belarusian Ruble (1994–1999) - /// - `BYR` - Belarusian Ruble (2000–2016) - /// - `BEF` - Belgian Franc - /// - `BEC` - Belgian Franc (convertible) - /// - `BEL` - Belgian Franc (financial) - /// - `BZD` - Belize Dollar - /// - `BMD` - Bermudan Dollar - /// - `BTN` - Bhutanese Ngultrum - /// - `BOB` - Bolivian Boliviano - /// - `BOL` - Bolivian Boliviano (1863–1963) - /// - `BOV` - Bolivian Mvdol - /// - `BOP` - Bolivian Peso - /// - `BAM` - Bosnia-Herzegovina Convertible Mark - /// - `BAD` - Bosnia-Herzegovina Dinar (1992–1994) - /// - `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) - /// - `BWP` - Botswanan Pula - /// - `BRC` - Brazilian Cruzado (1986–1989) - /// - `BRZ` - Brazilian Cruzeiro (1942–1967) - /// - `BRE` - Brazilian Cruzeiro (1990–1993) - /// - `BRR` - Brazilian Cruzeiro (1993–1994) - /// - `BRN` - Brazilian New Cruzado (1989–1990) - /// - `BRB` - Brazilian New Cruzeiro (1967–1986) - /// - `BRL` - Brazilian Real - /// - `GBP` - British Pound - /// - `BND` - Brunei Dollar - /// - `BGL` - Bulgarian Hard Lev - /// - `BGN` - Bulgarian Lev - /// - `BGO` - Bulgarian Lev (1879–1952) - /// - `BGM` - Bulgarian Socialist Lev - /// - `BUK` - Burmese Kyat - /// - `BIF` - Burundian Franc - /// - `XPF` - CFP Franc - /// - `KHR` - Cambodian Riel - /// - `CAD` - Canadian Dollar - /// - `CVE` - Cape Verdean Escudo - /// - `KYD` - Cayman Islands Dollar - /// - `XAF` - Central African CFA Franc - /// - `CLE` - Chilean Escudo - /// - `CLP` - Chilean Peso - /// - `CLF` - Chilean Unit of Account (UF) - /// - `CNX` - Chinese People’s Bank Dollar - /// - `CNY` - Chinese Yuan - /// - `CNH` - Chinese Yuan (offshore) - /// - `COP` - Colombian Peso - /// - `COU` - Colombian Real Value Unit - /// - `KMF` - Comorian Franc - /// - `CDF` - Congolese Franc - /// - `CRC` - Costa Rican Colón - /// - `HRD` - Croatian Dinar - /// - `HRK` - Croatian Kuna - /// - `CUC` - Cuban Convertible Peso - /// - `CUP` - Cuban Peso - /// - `CYP` - Cypriot Pound - /// - `CZK` - Czech Koruna - /// - `CSK` - Czechoslovak Hard Koruna - /// - `DKK` - Danish Krone - /// - `DJF` - Djiboutian Franc - /// - `DOP` - Dominican Peso - /// - `NLG` - Dutch Guilder - /// - `XCD` - East Caribbean Dollar - /// - `DDM` - East German Mark - /// - `ECS` - Ecuadorian Sucre - /// - `ECV` - Ecuadorian Unit of Constant Value - /// - `EGP` - Egyptian Pound - /// - `GQE` - Equatorial Guinean Ekwele - /// - `ERN` - Eritrean Nakfa - /// - `EEK` - Estonian Kroon - /// - `ETB` - Ethiopian Birr - /// - `EUR` - Euro - /// - `XBA` - European Composite Unit - /// - `XEU` - European Currency Unit - /// - `XBB` - European Monetary Unit - /// - `XBC` - European Unit of Account (XBC) - /// - `XBD` - European Unit of Account (XBD) - /// - `FKP` - Falkland Islands Pound - /// - `FJD` - Fijian Dollar - /// - `FIM` - Finnish Markka - /// - `FRF` - French Franc - /// - `XFO` - French Gold Franc - /// - `XFU` - French UIC-Franc - /// - `GMD` - Gambian Dalasi - /// - `GEK` - Georgian Kupon Larit - /// - `GEL` - Georgian Lari - /// - `DEM` - German Mark - /// - `GHS` - Ghanaian Cedi - /// - `GHC` - Ghanaian Cedi (1979–2007) - /// - `GIP` - Gibraltar Pound - /// - `XAU` - Gold - /// - `GRD` - Greek Drachma - /// - `GTQ` - Guatemalan Quetzal - /// - `GWP` - Guinea-Bissau Peso - /// - `GNF` - Guinean Franc - /// - `GNS` - Guinean Syli - /// - `GYD` - Guyanaese Dollar - /// - `HTG` - Haitian Gourde - /// - `HNL` - Honduran Lempira - /// - `HKD` - Hong Kong Dollar - /// - `HUF` - Hungarian Forint - /// - `IMP` - IMP - /// - `ISK` - Icelandic Króna - /// - `ISJ` - Icelandic Króna (1918–1981) - /// - `INR` - Indian Rupee - /// - `IDR` - Indonesian Rupiah - /// - `IRR` - Iranian Rial - /// - `IQD` - Iraqi Dinar - /// - `IEP` - Irish Pound - /// - `ILS` - Israeli New Shekel - /// - `ILP` - Israeli Pound - /// - `ILR` - Israeli Shekel (1980–1985) - /// - `ITL` - Italian Lira - /// - `JMD` - Jamaican Dollar - /// - `JPY` - Japanese Yen - /// - `JOD` - Jordanian Dinar - /// - `KZT` - Kazakhstani Tenge - /// - `KES` - Kenyan Shilling - /// - `KWD` - Kuwaiti Dinar - /// - `KGS` - Kyrgystani Som - /// - `LAK` - Laotian Kip - /// - `LVL` - Latvian Lats - /// - `LVR` - Latvian Ruble - /// - `LBP` - Lebanese Pound - /// - `LSL` - Lesotho Loti - /// - `LRD` - Liberian Dollar - /// - `LYD` - Libyan Dinar - /// - `LTL` - Lithuanian Litas - /// - `LTT` - Lithuanian Talonas - /// - `LUL` - Luxembourg Financial Franc - /// - `LUC` - Luxembourgian Convertible Franc - /// - `LUF` - Luxembourgian Franc - /// - `MOP` - Macanese Pataca - /// - `MKD` - Macedonian Denar - /// - `MKN` - Macedonian Denar (1992–1993) - /// - `MGA` - Malagasy Ariary - /// - `MGF` - Malagasy Franc - /// - `MWK` - Malawian Kwacha - /// - `MYR` - Malaysian Ringgit - /// - `MVR` - Maldivian Rufiyaa - /// - `MVP` - Maldivian Rupee (1947–1981) - /// - `MLF` - Malian Franc - /// - `MTL` - Maltese Lira - /// - `MTP` - Maltese Pound - /// - `MRU` - Mauritanian Ouguiya - /// - `MRO` - Mauritanian Ouguiya (1973–2017) - /// - `MUR` - Mauritian Rupee - /// - `MXV` - Mexican Investment Unit - /// - `MXN` - Mexican Peso - /// - `MXP` - Mexican Silver Peso (1861–1992) - /// - `MDC` - Moldovan Cupon - /// - `MDL` - Moldovan Leu - /// - `MCF` - Monegasque Franc - /// - `MNT` - Mongolian Tugrik - /// - `MAD` - Moroccan Dirham - /// - `MAF` - Moroccan Franc - /// - `MZE` - Mozambican Escudo - /// - `MZN` - Mozambican Metical - /// - `MZM` - Mozambican Metical (1980–2006) - /// - `MMK` - Myanmar Kyat - /// - `NAD` - Namibian Dollar - /// - `NPR` - Nepalese Rupee - /// - `ANG` - Netherlands Antillean Guilder - /// - `TWD` - New Taiwan Dollar - /// - `NZD` - New Zealand Dollar - /// - `NIO` - Nicaraguan Córdoba - /// - `NIC` - Nicaraguan Córdoba (1988–1991) - /// - `NGN` - Nigerian Naira - /// - `KPW` - North Korean Won - /// - `NOK` - Norwegian Krone - /// - `OMR` - Omani Rial - /// - `PKR` - Pakistani Rupee - /// - `XPD` - Palladium - /// - `PAB` - Panamanian Balboa - /// - `PGK` - Papua New Guinean Kina - /// - `PYG` - Paraguayan Guarani - /// - `PEI` - Peruvian Inti - /// - `PEN` - Peruvian Sol - /// - `PES` - Peruvian Sol (1863–1965) - /// - `PHP` - Philippine Peso - /// - `XPT` - Platinum - /// - `PLN` - Polish Zloty - /// - `PLZ` - Polish Zloty (1950–1995) - /// - `PTE` - Portuguese Escudo - /// - `GWE` - Portuguese Guinea Escudo - /// - `QAR` - Qatari Rial - /// - `XRE` - RINET Funds - /// - `RHD` - Rhodesian Dollar - /// - `RON` - Romanian Leu - /// - `ROL` - Romanian Leu (1952–2006) - /// - `RUB` - Russian Ruble - /// - `RUR` - Russian Ruble (1991–1998) - /// - `RWF` - Rwandan Franc - /// - `SVC` - Salvadoran Colón - /// - `WST` - Samoan Tala - /// - `SAR` - Saudi Riyal - /// - `RSD` - Serbian Dinar - /// - `CSD` - Serbian Dinar (2002–2006) - /// - `SCR` - Seychellois Rupee - /// - `SLL` - Sierra Leonean Leone - /// - `XAG` - Silver - /// - `SGD` - Singapore Dollar - /// - `SKK` - Slovak Koruna - /// - `SIT` - Slovenian Tolar - /// - `SBD` - Solomon Islands Dollar - /// - `SOS` - Somali Shilling - /// - `ZAR` - South African Rand - /// - `ZAL` - South African Rand (financial) - /// - `KRH` - South Korean Hwan (1953–1962) - /// - `KRW` - South Korean Won - /// - `KRO` - South Korean Won (1945–1953) - /// - `SSP` - South Sudanese Pound - /// - `SUR` - Soviet Rouble - /// - `ESP` - Spanish Peseta - /// - `ESA` - Spanish Peseta (A account) - /// - `ESB` - Spanish Peseta (convertible account) - /// - `XDR` - Special Drawing Rights - /// - `LKR` - Sri Lankan Rupee - /// - `SHP` - St. Helena Pound - /// - `XSU` - Sucre - /// - `SDD` - Sudanese Dinar (1992–2007) - /// - `SDG` - Sudanese Pound - /// - `SDP` - Sudanese Pound (1957–1998) - /// - `SRD` - Surinamese Dollar - /// - `SRG` - Surinamese Guilder - /// - `SZL` - Swazi Lilangeni - /// - `SEK` - Swedish Krona - /// - `CHF` - Swiss Franc - /// - `SYP` - Syrian Pound - /// - `STN` - São Tomé & Príncipe Dobra - /// - `STD` - São Tomé & Príncipe Dobra (1977–2017) - /// - `TVD` - TVD - /// - `TJR` - Tajikistani Ruble - /// - `TJS` - Tajikistani Somoni - /// - `TZS` - Tanzanian Shilling - /// - `XTS` - Testing Currency Code - /// - `THB` - Thai Baht - /// - `XXX` - The codes assigned for transactions where no currency is involved - /// - `TPE` - Timorese Escudo - /// - `TOP` - Tongan Paʻanga - /// - `TTD` - Trinidad & Tobago Dollar - /// - `TND` - Tunisian Dinar - /// - `TRY` - Turkish Lira - /// - `TRL` - Turkish Lira (1922–2005) - /// - `TMT` - Turkmenistani Manat - /// - `TMM` - Turkmenistani Manat (1993–2009) - /// - `USD` - US Dollar - /// - `USN` - US Dollar (Next day) - /// - `USS` - US Dollar (Same day) - /// - `UGX` - Ugandan Shilling - /// - `UGS` - Ugandan Shilling (1966–1987) - /// - `UAH` - Ukrainian Hryvnia - /// - `UAK` - Ukrainian Karbovanets - /// - `AED` - United Arab Emirates Dirham - /// - `UYW` - Uruguayan Nominal Wage Index Unit - /// - `UYU` - Uruguayan Peso - /// - `UYP` - Uruguayan Peso (1975–1993) - /// - `UYI` - Uruguayan Peso (Indexed Units) - /// - `UZS` - Uzbekistani Som - /// - `VUV` - Vanuatu Vatu - /// - `VES` - Venezuelan Bolívar - /// - `VEB` - Venezuelan Bolívar (1871–2008) - /// - `VEF` - Venezuelan Bolívar (2008–2018) - /// - `VND` - Vietnamese Dong - /// - `VNN` - Vietnamese Dong (1978–1985) - /// - `CHE` - WIR Euro - /// - `CHW` - WIR Franc - /// - `XOF` - West African CFA Franc - /// - `YDD` - Yemeni Dinar - /// - `YER` - Yemeni Rial - /// - `YUN` - Yugoslavian Convertible Dinar (1990–1992) - /// - `YUD` - Yugoslavian Hard Dinar (1966–1990) - /// - `YUM` - Yugoslavian New Dinar (1994–2002) - /// - `YUR` - Yugoslavian Reformed Dinar (1992–1993) - /// - `ZWN` - ZWN - /// - `ZRN` - Zairean New Zaire (1993–1998) - /// - `ZRZ` - Zairean Zaire (1971–1993) - /// - `ZMW` - Zambian Kwacha - /// - `ZMK` - Zambian Kwacha (1968–2012) - /// - `ZWD` - Zimbabwean Dollar (1980–2008) - /// - `ZWR` - Zimbabwean Dollar (2008) - /// - `ZWL` - Zimbabwean Dollar (2009) + /// * `XUA` - ADB Unit of Account + /// * `AFN` - Afghan Afghani + /// * `AFA` - Afghan Afghani (1927–2002) + /// * `ALL` - Albanian Lek + /// * `ALK` - Albanian Lek (1946–1965) + /// * `DZD` - Algerian Dinar + /// * `ADP` - Andorran Peseta + /// * `AOA` - Angolan Kwanza + /// * `AOK` - Angolan Kwanza (1977–1991) + /// * `AON` - Angolan New Kwanza (1990–2000) + /// * `AOR` - Angolan Readjusted Kwanza (1995–1999) + /// * `ARA` - Argentine Austral + /// * `ARS` - Argentine Peso + /// * `ARM` - Argentine Peso (1881–1970) + /// * `ARP` - Argentine Peso (1983–1985) + /// * `ARL` - Argentine Peso Ley (1970–1983) + /// * `AMD` - Armenian Dram + /// * `AWG` - Aruban Florin + /// * `AUD` - Australian Dollar + /// * `ATS` - Austrian Schilling + /// * `AZN` - Azerbaijani Manat + /// * `AZM` - Azerbaijani Manat (1993–2006) + /// * `BSD` - Bahamian Dollar + /// * `BHD` - Bahraini Dinar + /// * `BDT` - Bangladeshi Taka + /// * `BBD` - Barbadian Dollar + /// * `BYN` - Belarusian Ruble + /// * `BYB` - Belarusian Ruble (1994–1999) + /// * `BYR` - Belarusian Ruble (2000–2016) + /// * `BEF` - Belgian Franc + /// * `BEC` - Belgian Franc (convertible) + /// * `BEL` - Belgian Franc (financial) + /// * `BZD` - Belize Dollar + /// * `BMD` - Bermudan Dollar + /// * `BTN` - Bhutanese Ngultrum + /// * `BOB` - Bolivian Boliviano + /// * `BOL` - Bolivian Boliviano (1863–1963) + /// * `BOV` - Bolivian Mvdol + /// * `BOP` - Bolivian Peso + /// * `BAM` - Bosnia-Herzegovina Convertible Mark + /// * `BAD` - Bosnia-Herzegovina Dinar (1992–1994) + /// * `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) + /// * `BWP` - Botswanan Pula + /// * `BRC` - Brazilian Cruzado (1986–1989) + /// * `BRZ` - Brazilian Cruzeiro (1942–1967) + /// * `BRE` - Brazilian Cruzeiro (1990–1993) + /// * `BRR` - Brazilian Cruzeiro (1993–1994) + /// * `BRN` - Brazilian New Cruzado (1989–1990) + /// * `BRB` - Brazilian New Cruzeiro (1967–1986) + /// * `BRL` - Brazilian Real + /// * `GBP` - British Pound + /// * `BND` - Brunei Dollar + /// * `BGL` - Bulgarian Hard Lev + /// * `BGN` - Bulgarian Lev + /// * `BGO` - Bulgarian Lev (1879–1952) + /// * `BGM` - Bulgarian Socialist Lev + /// * `BUK` - Burmese Kyat + /// * `BIF` - Burundian Franc + /// * `XPF` - CFP Franc + /// * `KHR` - Cambodian Riel + /// * `CAD` - Canadian Dollar + /// * `CVE` - Cape Verdean Escudo + /// * `KYD` - Cayman Islands Dollar + /// * `XAF` - Central African CFA Franc + /// * `CLE` - Chilean Escudo + /// * `CLP` - Chilean Peso + /// * `CLF` - Chilean Unit of Account (UF) + /// * `CNX` - Chinese People’s Bank Dollar + /// * `CNY` - Chinese Yuan + /// * `CNH` - Chinese Yuan (offshore) + /// * `COP` - Colombian Peso + /// * `COU` - Colombian Real Value Unit + /// * `KMF` - Comorian Franc + /// * `CDF` - Congolese Franc + /// * `CRC` - Costa Rican Colón + /// * `HRD` - Croatian Dinar + /// * `HRK` - Croatian Kuna + /// * `CUC` - Cuban Convertible Peso + /// * `CUP` - Cuban Peso + /// * `CYP` - Cypriot Pound + /// * `CZK` - Czech Koruna + /// * `CSK` - Czechoslovak Hard Koruna + /// * `DKK` - Danish Krone + /// * `DJF` - Djiboutian Franc + /// * `DOP` - Dominican Peso + /// * `NLG` - Dutch Guilder + /// * `XCD` - East Caribbean Dollar + /// * `DDM` - East German Mark + /// * `ECS` - Ecuadorian Sucre + /// * `ECV` - Ecuadorian Unit of Constant Value + /// * `EGP` - Egyptian Pound + /// * `GQE` - Equatorial Guinean Ekwele + /// * `ERN` - Eritrean Nakfa + /// * `EEK` - Estonian Kroon + /// * `ETB` - Ethiopian Birr + /// * `EUR` - Euro + /// * `XBA` - European Composite Unit + /// * `XEU` - European Currency Unit + /// * `XBB` - European Monetary Unit + /// * `XBC` - European Unit of Account (XBC) + /// * `XBD` - European Unit of Account (XBD) + /// * `FKP` - Falkland Islands Pound + /// * `FJD` - Fijian Dollar + /// * `FIM` - Finnish Markka + /// * `FRF` - French Franc + /// * `XFO` - French Gold Franc + /// * `XFU` - French UIC-Franc + /// * `GMD` - Gambian Dalasi + /// * `GEK` - Georgian Kupon Larit + /// * `GEL` - Georgian Lari + /// * `DEM` - German Mark + /// * `GHS` - Ghanaian Cedi + /// * `GHC` - Ghanaian Cedi (1979–2007) + /// * `GIP` - Gibraltar Pound + /// * `XAU` - Gold + /// * `GRD` - Greek Drachma + /// * `GTQ` - Guatemalan Quetzal + /// * `GWP` - Guinea-Bissau Peso + /// * `GNF` - Guinean Franc + /// * `GNS` - Guinean Syli + /// * `GYD` - Guyanaese Dollar + /// * `HTG` - Haitian Gourde + /// * `HNL` - Honduran Lempira + /// * `HKD` - Hong Kong Dollar + /// * `HUF` - Hungarian Forint + /// * `IMP` - IMP + /// * `ISK` - Icelandic Króna + /// * `ISJ` - Icelandic Króna (1918–1981) + /// * `INR` - Indian Rupee + /// * `IDR` - Indonesian Rupiah + /// * `IRR` - Iranian Rial + /// * `IQD` - Iraqi Dinar + /// * `IEP` - Irish Pound + /// * `ILS` - Israeli New Shekel + /// * `ILP` - Israeli Pound + /// * `ILR` - Israeli Shekel (1980–1985) + /// * `ITL` - Italian Lira + /// * `JMD` - Jamaican Dollar + /// * `JPY` - Japanese Yen + /// * `JOD` - Jordanian Dinar + /// * `KZT` - Kazakhstani Tenge + /// * `KES` - Kenyan Shilling + /// * `KWD` - Kuwaiti Dinar + /// * `KGS` - Kyrgystani Som + /// * `LAK` - Laotian Kip + /// * `LVL` - Latvian Lats + /// * `LVR` - Latvian Ruble + /// * `LBP` - Lebanese Pound + /// * `LSL` - Lesotho Loti + /// * `LRD` - Liberian Dollar + /// * `LYD` - Libyan Dinar + /// * `LTL` - Lithuanian Litas + /// * `LTT` - Lithuanian Talonas + /// * `LUL` - Luxembourg Financial Franc + /// * `LUC` - Luxembourgian Convertible Franc + /// * `LUF` - Luxembourgian Franc + /// * `MOP` - Macanese Pataca + /// * `MKD` - Macedonian Denar + /// * `MKN` - Macedonian Denar (1992–1993) + /// * `MGA` - Malagasy Ariary + /// * `MGF` - Malagasy Franc + /// * `MWK` - Malawian Kwacha + /// * `MYR` - Malaysian Ringgit + /// * `MVR` - Maldivian Rufiyaa + /// * `MVP` - Maldivian Rupee (1947–1981) + /// * `MLF` - Malian Franc + /// * `MTL` - Maltese Lira + /// * `MTP` - Maltese Pound + /// * `MRU` - Mauritanian Ouguiya + /// * `MRO` - Mauritanian Ouguiya (1973–2017) + /// * `MUR` - Mauritian Rupee + /// * `MXV` - Mexican Investment Unit + /// * `MXN` - Mexican Peso + /// * `MXP` - Mexican Silver Peso (1861–1992) + /// * `MDC` - Moldovan Cupon + /// * `MDL` - Moldovan Leu + /// * `MCF` - Monegasque Franc + /// * `MNT` - Mongolian Tugrik + /// * `MAD` - Moroccan Dirham + /// * `MAF` - Moroccan Franc + /// * `MZE` - Mozambican Escudo + /// * `MZN` - Mozambican Metical + /// * `MZM` - Mozambican Metical (1980–2006) + /// * `MMK` - Myanmar Kyat + /// * `NAD` - Namibian Dollar + /// * `NPR` - Nepalese Rupee + /// * `ANG` - Netherlands Antillean Guilder + /// * `TWD` - New Taiwan Dollar + /// * `NZD` - New Zealand Dollar + /// * `NIO` - Nicaraguan Córdoba + /// * `NIC` - Nicaraguan Córdoba (1988–1991) + /// * `NGN` - Nigerian Naira + /// * `KPW` - North Korean Won + /// * `NOK` - Norwegian Krone + /// * `OMR` - Omani Rial + /// * `PKR` - Pakistani Rupee + /// * `XPD` - Palladium + /// * `PAB` - Panamanian Balboa + /// * `PGK` - Papua New Guinean Kina + /// * `PYG` - Paraguayan Guarani + /// * `PEI` - Peruvian Inti + /// * `PEN` - Peruvian Sol + /// * `PES` - Peruvian Sol (1863–1965) + /// * `PHP` - Philippine Peso + /// * `XPT` - Platinum + /// * `PLN` - Polish Zloty + /// * `PLZ` - Polish Zloty (1950–1995) + /// * `PTE` - Portuguese Escudo + /// * `GWE` - Portuguese Guinea Escudo + /// * `QAR` - Qatari Rial + /// * `XRE` - RINET Funds + /// * `RHD` - Rhodesian Dollar + /// * `RON` - Romanian Leu + /// * `ROL` - Romanian Leu (1952–2006) + /// * `RUB` - Russian Ruble + /// * `RUR` - Russian Ruble (1991–1998) + /// * `RWF` - Rwandan Franc + /// * `SVC` - Salvadoran Colón + /// * `WST` - Samoan Tala + /// * `SAR` - Saudi Riyal + /// * `RSD` - Serbian Dinar + /// * `CSD` - Serbian Dinar (2002–2006) + /// * `SCR` - Seychellois Rupee + /// * `SLL` - Sierra Leonean Leone + /// * `XAG` - Silver + /// * `SGD` - Singapore Dollar + /// * `SKK` - Slovak Koruna + /// * `SIT` - Slovenian Tolar + /// * `SBD` - Solomon Islands Dollar + /// * `SOS` - Somali Shilling + /// * `ZAR` - South African Rand + /// * `ZAL` - South African Rand (financial) + /// * `KRH` - South Korean Hwan (1953–1962) + /// * `KRW` - South Korean Won + /// * `KRO` - South Korean Won (1945–1953) + /// * `SSP` - South Sudanese Pound + /// * `SUR` - Soviet Rouble + /// * `ESP` - Spanish Peseta + /// * `ESA` - Spanish Peseta (A account) + /// * `ESB` - Spanish Peseta (convertible account) + /// * `XDR` - Special Drawing Rights + /// * `LKR` - Sri Lankan Rupee + /// * `SHP` - St. Helena Pound + /// * `XSU` - Sucre + /// * `SDD` - Sudanese Dinar (1992–2007) + /// * `SDG` - Sudanese Pound + /// * `SDP` - Sudanese Pound (1957–1998) + /// * `SRD` - Surinamese Dollar + /// * `SRG` - Surinamese Guilder + /// * `SZL` - Swazi Lilangeni + /// * `SEK` - Swedish Krona + /// * `CHF` - Swiss Franc + /// * `SYP` - Syrian Pound + /// * `STN` - São Tomé & Príncipe Dobra + /// * `STD` - São Tomé & Príncipe Dobra (1977–2017) + /// * `TVD` - TVD + /// * `TJR` - Tajikistani Ruble + /// * `TJS` - Tajikistani Somoni + /// * `TZS` - Tanzanian Shilling + /// * `XTS` - Testing Currency Code + /// * `THB` - Thai Baht + /// * `XXX` - The codes assigned for transactions where no currency is involved + /// * `TPE` - Timorese Escudo + /// * `TOP` - Tongan Paʻanga + /// * `TTD` - Trinidad & Tobago Dollar + /// * `TND` - Tunisian Dinar + /// * `TRY` - Turkish Lira + /// * `TRL` - Turkish Lira (1922–2005) + /// * `TMT` - Turkmenistani Manat + /// * `TMM` - Turkmenistani Manat (1993–2009) + /// * `USD` - US Dollar + /// * `USN` - US Dollar (Next day) + /// * `USS` - US Dollar (Same day) + /// * `UGX` - Ugandan Shilling + /// * `UGS` - Ugandan Shilling (1966–1987) + /// * `UAH` - Ukrainian Hryvnia + /// * `UAK` - Ukrainian Karbovanets + /// * `AED` - United Arab Emirates Dirham + /// * `UYW` - Uruguayan Nominal Wage Index Unit + /// * `UYU` - Uruguayan Peso + /// * `UYP` - Uruguayan Peso (1975–1993) + /// * `UYI` - Uruguayan Peso (Indexed Units) + /// * `UZS` - Uzbekistani Som + /// * `VUV` - Vanuatu Vatu + /// * `VES` - Venezuelan Bolívar + /// * `VEB` - Venezuelan Bolívar (1871–2008) + /// * `VEF` - Venezuelan Bolívar (2008–2018) + /// * `VND` - Vietnamese Dong + /// * `VNN` - Vietnamese Dong (1978–1985) + /// * `CHE` - WIR Euro + /// * `CHW` - WIR Franc + /// * `XOF` - West African CFA Franc + /// * `YDD` - Yemeni Dinar + /// * `YER` - Yemeni Rial + /// * `YUN` - Yugoslavian Convertible Dinar (1990–1992) + /// * `YUD` - Yugoslavian Hard Dinar (1966–1990) + /// * `YUM` - Yugoslavian New Dinar (1994–2002) + /// * `YUR` - Yugoslavian Reformed Dinar (1992–1993) + /// * `ZWN` - ZWN + /// * `ZRN` - Zairean New Zaire (1993–1998) + /// * `ZRZ` - Zairean Zaire (1971–1993) + /// * `ZMW` - Zambian Kwacha + /// * `ZMK` - Zambian Kwacha (1968–2012) + /// * `ZWD` - Zimbabwean Dollar (1980–2008) + /// * `ZWR` - Zimbabwean Dollar (2008) + /// * `ZWL` - Zimbabwean Dollar (2009) /// [JsonPropertyName("currency")] public TransactionCurrencyEnum? Currency { get; set; } @@ -394,15 +403,29 @@ public record PurchaseOrderLineItemRequest [JsonPropertyName("company")] public string? Company { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("integration_params")] public Dictionary? IntegrationParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("linked_account_params")] public Dictionary? LinkedAccountParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("remote_fields")] public IEnumerable? RemoteFields { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/PurchaseOrderRequest.cs b/src/Merge.Client/Accounting/Types/PurchaseOrderRequest.cs index 91c96bb1..3646fc60 100644 --- a/src/Merge.Client/Accounting/Types/PurchaseOrderRequest.cs +++ b/src/Merge.Client/Accounting/Types/PurchaseOrderRequest.cs @@ -1,19 +1,28 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Accounting; +/// +/// # The PurchaseOrder Object +/// ### Description +/// The `PurchaseOrder` object is a record of request for a product or service between a buyer and seller. +/// +/// ### Usage Example +/// Fetch from the `LIST PurchaseOrders` endpoint and view a company's purchase orders. +/// public record PurchaseOrderRequest { /// /// The purchase order's status. /// - /// - `DRAFT` - DRAFT - /// - `SUBMITTED` - SUBMITTED - /// - `AUTHORIZED` - AUTHORIZED - /// - `BILLED` - BILLED - /// - `DELETED` - DELETED + /// * `DRAFT` - DRAFT + /// * `SUBMITTED` - SUBMITTED + /// * `AUTHORIZED` - AUTHORIZED + /// * `BILLED` - BILLED + /// * `DELETED` - DELETED /// [JsonPropertyName("status")] public PurchaseOrderStatusEnum? Status { get; set; } @@ -66,315 +75,321 @@ public record PurchaseOrderRequest [JsonPropertyName("total_amount")] public double? TotalAmount { get; set; } + /// + /// The payment term that applies to this transaction. + /// + [JsonPropertyName("payment_term")] + public OneOf? PaymentTerm { get; set; } + /// /// The purchase order's currency. /// - /// - `XUA` - ADB Unit of Account - /// - `AFN` - Afghan Afghani - /// - `AFA` - Afghan Afghani (1927–2002) - /// - `ALL` - Albanian Lek - /// - `ALK` - Albanian Lek (1946–1965) - /// - `DZD` - Algerian Dinar - /// - `ADP` - Andorran Peseta - /// - `AOA` - Angolan Kwanza - /// - `AOK` - Angolan Kwanza (1977–1991) - /// - `AON` - Angolan New Kwanza (1990–2000) - /// - `AOR` - Angolan Readjusted Kwanza (1995–1999) - /// - `ARA` - Argentine Austral - /// - `ARS` - Argentine Peso - /// - `ARM` - Argentine Peso (1881–1970) - /// - `ARP` - Argentine Peso (1983–1985) - /// - `ARL` - Argentine Peso Ley (1970–1983) - /// - `AMD` - Armenian Dram - /// - `AWG` - Aruban Florin - /// - `AUD` - Australian Dollar - /// - `ATS` - Austrian Schilling - /// - `AZN` - Azerbaijani Manat - /// - `AZM` - Azerbaijani Manat (1993–2006) - /// - `BSD` - Bahamian Dollar - /// - `BHD` - Bahraini Dinar - /// - `BDT` - Bangladeshi Taka - /// - `BBD` - Barbadian Dollar - /// - `BYN` - Belarusian Ruble - /// - `BYB` - Belarusian Ruble (1994–1999) - /// - `BYR` - Belarusian Ruble (2000–2016) - /// - `BEF` - Belgian Franc - /// - `BEC` - Belgian Franc (convertible) - /// - `BEL` - Belgian Franc (financial) - /// - `BZD` - Belize Dollar - /// - `BMD` - Bermudan Dollar - /// - `BTN` - Bhutanese Ngultrum - /// - `BOB` - Bolivian Boliviano - /// - `BOL` - Bolivian Boliviano (1863–1963) - /// - `BOV` - Bolivian Mvdol - /// - `BOP` - Bolivian Peso - /// - `BAM` - Bosnia-Herzegovina Convertible Mark - /// - `BAD` - Bosnia-Herzegovina Dinar (1992–1994) - /// - `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) - /// - `BWP` - Botswanan Pula - /// - `BRC` - Brazilian Cruzado (1986–1989) - /// - `BRZ` - Brazilian Cruzeiro (1942–1967) - /// - `BRE` - Brazilian Cruzeiro (1990–1993) - /// - `BRR` - Brazilian Cruzeiro (1993–1994) - /// - `BRN` - Brazilian New Cruzado (1989–1990) - /// - `BRB` - Brazilian New Cruzeiro (1967–1986) - /// - `BRL` - Brazilian Real - /// - `GBP` - British Pound - /// - `BND` - Brunei Dollar - /// - `BGL` - Bulgarian Hard Lev - /// - `BGN` - Bulgarian Lev - /// - `BGO` - Bulgarian Lev (1879–1952) - /// - `BGM` - Bulgarian Socialist Lev - /// - `BUK` - Burmese Kyat - /// - `BIF` - Burundian Franc - /// - `XPF` - CFP Franc - /// - `KHR` - Cambodian Riel - /// - `CAD` - Canadian Dollar - /// - `CVE` - Cape Verdean Escudo - /// - `KYD` - Cayman Islands Dollar - /// - `XAF` - Central African CFA Franc - /// - `CLE` - Chilean Escudo - /// - `CLP` - Chilean Peso - /// - `CLF` - Chilean Unit of Account (UF) - /// - `CNX` - Chinese People’s Bank Dollar - /// - `CNY` - Chinese Yuan - /// - `CNH` - Chinese Yuan (offshore) - /// - `COP` - Colombian Peso - /// - `COU` - Colombian Real Value Unit - /// - `KMF` - Comorian Franc - /// - `CDF` - Congolese Franc - /// - `CRC` - Costa Rican Colón - /// - `HRD` - Croatian Dinar - /// - `HRK` - Croatian Kuna - /// - `CUC` - Cuban Convertible Peso - /// - `CUP` - Cuban Peso - /// - `CYP` - Cypriot Pound - /// - `CZK` - Czech Koruna - /// - `CSK` - Czechoslovak Hard Koruna - /// - `DKK` - Danish Krone - /// - `DJF` - Djiboutian Franc - /// - `DOP` - Dominican Peso - /// - `NLG` - Dutch Guilder - /// - `XCD` - East Caribbean Dollar - /// - `DDM` - East German Mark - /// - `ECS` - Ecuadorian Sucre - /// - `ECV` - Ecuadorian Unit of Constant Value - /// - `EGP` - Egyptian Pound - /// - `GQE` - Equatorial Guinean Ekwele - /// - `ERN` - Eritrean Nakfa - /// - `EEK` - Estonian Kroon - /// - `ETB` - Ethiopian Birr - /// - `EUR` - Euro - /// - `XBA` - European Composite Unit - /// - `XEU` - European Currency Unit - /// - `XBB` - European Monetary Unit - /// - `XBC` - European Unit of Account (XBC) - /// - `XBD` - European Unit of Account (XBD) - /// - `FKP` - Falkland Islands Pound - /// - `FJD` - Fijian Dollar - /// - `FIM` - Finnish Markka - /// - `FRF` - French Franc - /// - `XFO` - French Gold Franc - /// - `XFU` - French UIC-Franc - /// - `GMD` - Gambian Dalasi - /// - `GEK` - Georgian Kupon Larit - /// - `GEL` - Georgian Lari - /// - `DEM` - German Mark - /// - `GHS` - Ghanaian Cedi - /// - `GHC` - Ghanaian Cedi (1979–2007) - /// - `GIP` - Gibraltar Pound - /// - `XAU` - Gold - /// - `GRD` - Greek Drachma - /// - `GTQ` - Guatemalan Quetzal - /// - `GWP` - Guinea-Bissau Peso - /// - `GNF` - Guinean Franc - /// - `GNS` - Guinean Syli - /// - `GYD` - Guyanaese Dollar - /// - `HTG` - Haitian Gourde - /// - `HNL` - Honduran Lempira - /// - `HKD` - Hong Kong Dollar - /// - `HUF` - Hungarian Forint - /// - `IMP` - IMP - /// - `ISK` - Icelandic Króna - /// - `ISJ` - Icelandic Króna (1918–1981) - /// - `INR` - Indian Rupee - /// - `IDR` - Indonesian Rupiah - /// - `IRR` - Iranian Rial - /// - `IQD` - Iraqi Dinar - /// - `IEP` - Irish Pound - /// - `ILS` - Israeli New Shekel - /// - `ILP` - Israeli Pound - /// - `ILR` - Israeli Shekel (1980–1985) - /// - `ITL` - Italian Lira - /// - `JMD` - Jamaican Dollar - /// - `JPY` - Japanese Yen - /// - `JOD` - Jordanian Dinar - /// - `KZT` - Kazakhstani Tenge - /// - `KES` - Kenyan Shilling - /// - `KWD` - Kuwaiti Dinar - /// - `KGS` - Kyrgystani Som - /// - `LAK` - Laotian Kip - /// - `LVL` - Latvian Lats - /// - `LVR` - Latvian Ruble - /// - `LBP` - Lebanese Pound - /// - `LSL` - Lesotho Loti - /// - `LRD` - Liberian Dollar - /// - `LYD` - Libyan Dinar - /// - `LTL` - Lithuanian Litas - /// - `LTT` - Lithuanian Talonas - /// - `LUL` - Luxembourg Financial Franc - /// - `LUC` - Luxembourgian Convertible Franc - /// - `LUF` - Luxembourgian Franc - /// - `MOP` - Macanese Pataca - /// - `MKD` - Macedonian Denar - /// - `MKN` - Macedonian Denar (1992–1993) - /// - `MGA` - Malagasy Ariary - /// - `MGF` - Malagasy Franc - /// - `MWK` - Malawian Kwacha - /// - `MYR` - Malaysian Ringgit - /// - `MVR` - Maldivian Rufiyaa - /// - `MVP` - Maldivian Rupee (1947–1981) - /// - `MLF` - Malian Franc - /// - `MTL` - Maltese Lira - /// - `MTP` - Maltese Pound - /// - `MRU` - Mauritanian Ouguiya - /// - `MRO` - Mauritanian Ouguiya (1973–2017) - /// - `MUR` - Mauritian Rupee - /// - `MXV` - Mexican Investment Unit - /// - `MXN` - Mexican Peso - /// - `MXP` - Mexican Silver Peso (1861–1992) - /// - `MDC` - Moldovan Cupon - /// - `MDL` - Moldovan Leu - /// - `MCF` - Monegasque Franc - /// - `MNT` - Mongolian Tugrik - /// - `MAD` - Moroccan Dirham - /// - `MAF` - Moroccan Franc - /// - `MZE` - Mozambican Escudo - /// - `MZN` - Mozambican Metical - /// - `MZM` - Mozambican Metical (1980–2006) - /// - `MMK` - Myanmar Kyat - /// - `NAD` - Namibian Dollar - /// - `NPR` - Nepalese Rupee - /// - `ANG` - Netherlands Antillean Guilder - /// - `TWD` - New Taiwan Dollar - /// - `NZD` - New Zealand Dollar - /// - `NIO` - Nicaraguan Córdoba - /// - `NIC` - Nicaraguan Córdoba (1988–1991) - /// - `NGN` - Nigerian Naira - /// - `KPW` - North Korean Won - /// - `NOK` - Norwegian Krone - /// - `OMR` - Omani Rial - /// - `PKR` - Pakistani Rupee - /// - `XPD` - Palladium - /// - `PAB` - Panamanian Balboa - /// - `PGK` - Papua New Guinean Kina - /// - `PYG` - Paraguayan Guarani - /// - `PEI` - Peruvian Inti - /// - `PEN` - Peruvian Sol - /// - `PES` - Peruvian Sol (1863–1965) - /// - `PHP` - Philippine Peso - /// - `XPT` - Platinum - /// - `PLN` - Polish Zloty - /// - `PLZ` - Polish Zloty (1950–1995) - /// - `PTE` - Portuguese Escudo - /// - `GWE` - Portuguese Guinea Escudo - /// - `QAR` - Qatari Rial - /// - `XRE` - RINET Funds - /// - `RHD` - Rhodesian Dollar - /// - `RON` - Romanian Leu - /// - `ROL` - Romanian Leu (1952–2006) - /// - `RUB` - Russian Ruble - /// - `RUR` - Russian Ruble (1991–1998) - /// - `RWF` - Rwandan Franc - /// - `SVC` - Salvadoran Colón - /// - `WST` - Samoan Tala - /// - `SAR` - Saudi Riyal - /// - `RSD` - Serbian Dinar - /// - `CSD` - Serbian Dinar (2002–2006) - /// - `SCR` - Seychellois Rupee - /// - `SLL` - Sierra Leonean Leone - /// - `XAG` - Silver - /// - `SGD` - Singapore Dollar - /// - `SKK` - Slovak Koruna - /// - `SIT` - Slovenian Tolar - /// - `SBD` - Solomon Islands Dollar - /// - `SOS` - Somali Shilling - /// - `ZAR` - South African Rand - /// - `ZAL` - South African Rand (financial) - /// - `KRH` - South Korean Hwan (1953–1962) - /// - `KRW` - South Korean Won - /// - `KRO` - South Korean Won (1945–1953) - /// - `SSP` - South Sudanese Pound - /// - `SUR` - Soviet Rouble - /// - `ESP` - Spanish Peseta - /// - `ESA` - Spanish Peseta (A account) - /// - `ESB` - Spanish Peseta (convertible account) - /// - `XDR` - Special Drawing Rights - /// - `LKR` - Sri Lankan Rupee - /// - `SHP` - St. Helena Pound - /// - `XSU` - Sucre - /// - `SDD` - Sudanese Dinar (1992–2007) - /// - `SDG` - Sudanese Pound - /// - `SDP` - Sudanese Pound (1957–1998) - /// - `SRD` - Surinamese Dollar - /// - `SRG` - Surinamese Guilder - /// - `SZL` - Swazi Lilangeni - /// - `SEK` - Swedish Krona - /// - `CHF` - Swiss Franc - /// - `SYP` - Syrian Pound - /// - `STN` - São Tomé & Príncipe Dobra - /// - `STD` - São Tomé & Príncipe Dobra (1977–2017) - /// - `TVD` - TVD - /// - `TJR` - Tajikistani Ruble - /// - `TJS` - Tajikistani Somoni - /// - `TZS` - Tanzanian Shilling - /// - `XTS` - Testing Currency Code - /// - `THB` - Thai Baht - /// - `XXX` - The codes assigned for transactions where no currency is involved - /// - `TPE` - Timorese Escudo - /// - `TOP` - Tongan Paʻanga - /// - `TTD` - Trinidad & Tobago Dollar - /// - `TND` - Tunisian Dinar - /// - `TRY` - Turkish Lira - /// - `TRL` - Turkish Lira (1922–2005) - /// - `TMT` - Turkmenistani Manat - /// - `TMM` - Turkmenistani Manat (1993–2009) - /// - `USD` - US Dollar - /// - `USN` - US Dollar (Next day) - /// - `USS` - US Dollar (Same day) - /// - `UGX` - Ugandan Shilling - /// - `UGS` - Ugandan Shilling (1966–1987) - /// - `UAH` - Ukrainian Hryvnia - /// - `UAK` - Ukrainian Karbovanets - /// - `AED` - United Arab Emirates Dirham - /// - `UYW` - Uruguayan Nominal Wage Index Unit - /// - `UYU` - Uruguayan Peso - /// - `UYP` - Uruguayan Peso (1975–1993) - /// - `UYI` - Uruguayan Peso (Indexed Units) - /// - `UZS` - Uzbekistani Som - /// - `VUV` - Vanuatu Vatu - /// - `VES` - Venezuelan Bolívar - /// - `VEB` - Venezuelan Bolívar (1871–2008) - /// - `VEF` - Venezuelan Bolívar (2008–2018) - /// - `VND` - Vietnamese Dong - /// - `VNN` - Vietnamese Dong (1978–1985) - /// - `CHE` - WIR Euro - /// - `CHW` - WIR Franc - /// - `XOF` - West African CFA Franc - /// - `YDD` - Yemeni Dinar - /// - `YER` - Yemeni Rial - /// - `YUN` - Yugoslavian Convertible Dinar (1990–1992) - /// - `YUD` - Yugoslavian Hard Dinar (1966–1990) - /// - `YUM` - Yugoslavian New Dinar (1994–2002) - /// - `YUR` - Yugoslavian Reformed Dinar (1992–1993) - /// - `ZWN` - ZWN - /// - `ZRN` - Zairean New Zaire (1993–1998) - /// - `ZRZ` - Zairean Zaire (1971–1993) - /// - `ZMW` - Zambian Kwacha - /// - `ZMK` - Zambian Kwacha (1968–2012) - /// - `ZWD` - Zimbabwean Dollar (1980–2008) - /// - `ZWR` - Zimbabwean Dollar (2008) - /// - `ZWL` - Zimbabwean Dollar (2009) + /// * `XUA` - ADB Unit of Account + /// * `AFN` - Afghan Afghani + /// * `AFA` - Afghan Afghani (1927–2002) + /// * `ALL` - Albanian Lek + /// * `ALK` - Albanian Lek (1946–1965) + /// * `DZD` - Algerian Dinar + /// * `ADP` - Andorran Peseta + /// * `AOA` - Angolan Kwanza + /// * `AOK` - Angolan Kwanza (1977–1991) + /// * `AON` - Angolan New Kwanza (1990–2000) + /// * `AOR` - Angolan Readjusted Kwanza (1995–1999) + /// * `ARA` - Argentine Austral + /// * `ARS` - Argentine Peso + /// * `ARM` - Argentine Peso (1881–1970) + /// * `ARP` - Argentine Peso (1983–1985) + /// * `ARL` - Argentine Peso Ley (1970–1983) + /// * `AMD` - Armenian Dram + /// * `AWG` - Aruban Florin + /// * `AUD` - Australian Dollar + /// * `ATS` - Austrian Schilling + /// * `AZN` - Azerbaijani Manat + /// * `AZM` - Azerbaijani Manat (1993–2006) + /// * `BSD` - Bahamian Dollar + /// * `BHD` - Bahraini Dinar + /// * `BDT` - Bangladeshi Taka + /// * `BBD` - Barbadian Dollar + /// * `BYN` - Belarusian Ruble + /// * `BYB` - Belarusian Ruble (1994–1999) + /// * `BYR` - Belarusian Ruble (2000–2016) + /// * `BEF` - Belgian Franc + /// * `BEC` - Belgian Franc (convertible) + /// * `BEL` - Belgian Franc (financial) + /// * `BZD` - Belize Dollar + /// * `BMD` - Bermudan Dollar + /// * `BTN` - Bhutanese Ngultrum + /// * `BOB` - Bolivian Boliviano + /// * `BOL` - Bolivian Boliviano (1863–1963) + /// * `BOV` - Bolivian Mvdol + /// * `BOP` - Bolivian Peso + /// * `BAM` - Bosnia-Herzegovina Convertible Mark + /// * `BAD` - Bosnia-Herzegovina Dinar (1992–1994) + /// * `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) + /// * `BWP` - Botswanan Pula + /// * `BRC` - Brazilian Cruzado (1986–1989) + /// * `BRZ` - Brazilian Cruzeiro (1942–1967) + /// * `BRE` - Brazilian Cruzeiro (1990–1993) + /// * `BRR` - Brazilian Cruzeiro (1993–1994) + /// * `BRN` - Brazilian New Cruzado (1989–1990) + /// * `BRB` - Brazilian New Cruzeiro (1967–1986) + /// * `BRL` - Brazilian Real + /// * `GBP` - British Pound + /// * `BND` - Brunei Dollar + /// * `BGL` - Bulgarian Hard Lev + /// * `BGN` - Bulgarian Lev + /// * `BGO` - Bulgarian Lev (1879–1952) + /// * `BGM` - Bulgarian Socialist Lev + /// * `BUK` - Burmese Kyat + /// * `BIF` - Burundian Franc + /// * `XPF` - CFP Franc + /// * `KHR` - Cambodian Riel + /// * `CAD` - Canadian Dollar + /// * `CVE` - Cape Verdean Escudo + /// * `KYD` - Cayman Islands Dollar + /// * `XAF` - Central African CFA Franc + /// * `CLE` - Chilean Escudo + /// * `CLP` - Chilean Peso + /// * `CLF` - Chilean Unit of Account (UF) + /// * `CNX` - Chinese People’s Bank Dollar + /// * `CNY` - Chinese Yuan + /// * `CNH` - Chinese Yuan (offshore) + /// * `COP` - Colombian Peso + /// * `COU` - Colombian Real Value Unit + /// * `KMF` - Comorian Franc + /// * `CDF` - Congolese Franc + /// * `CRC` - Costa Rican Colón + /// * `HRD` - Croatian Dinar + /// * `HRK` - Croatian Kuna + /// * `CUC` - Cuban Convertible Peso + /// * `CUP` - Cuban Peso + /// * `CYP` - Cypriot Pound + /// * `CZK` - Czech Koruna + /// * `CSK` - Czechoslovak Hard Koruna + /// * `DKK` - Danish Krone + /// * `DJF` - Djiboutian Franc + /// * `DOP` - Dominican Peso + /// * `NLG` - Dutch Guilder + /// * `XCD` - East Caribbean Dollar + /// * `DDM` - East German Mark + /// * `ECS` - Ecuadorian Sucre + /// * `ECV` - Ecuadorian Unit of Constant Value + /// * `EGP` - Egyptian Pound + /// * `GQE` - Equatorial Guinean Ekwele + /// * `ERN` - Eritrean Nakfa + /// * `EEK` - Estonian Kroon + /// * `ETB` - Ethiopian Birr + /// * `EUR` - Euro + /// * `XBA` - European Composite Unit + /// * `XEU` - European Currency Unit + /// * `XBB` - European Monetary Unit + /// * `XBC` - European Unit of Account (XBC) + /// * `XBD` - European Unit of Account (XBD) + /// * `FKP` - Falkland Islands Pound + /// * `FJD` - Fijian Dollar + /// * `FIM` - Finnish Markka + /// * `FRF` - French Franc + /// * `XFO` - French Gold Franc + /// * `XFU` - French UIC-Franc + /// * `GMD` - Gambian Dalasi + /// * `GEK` - Georgian Kupon Larit + /// * `GEL` - Georgian Lari + /// * `DEM` - German Mark + /// * `GHS` - Ghanaian Cedi + /// * `GHC` - Ghanaian Cedi (1979–2007) + /// * `GIP` - Gibraltar Pound + /// * `XAU` - Gold + /// * `GRD` - Greek Drachma + /// * `GTQ` - Guatemalan Quetzal + /// * `GWP` - Guinea-Bissau Peso + /// * `GNF` - Guinean Franc + /// * `GNS` - Guinean Syli + /// * `GYD` - Guyanaese Dollar + /// * `HTG` - Haitian Gourde + /// * `HNL` - Honduran Lempira + /// * `HKD` - Hong Kong Dollar + /// * `HUF` - Hungarian Forint + /// * `IMP` - IMP + /// * `ISK` - Icelandic Króna + /// * `ISJ` - Icelandic Króna (1918–1981) + /// * `INR` - Indian Rupee + /// * `IDR` - Indonesian Rupiah + /// * `IRR` - Iranian Rial + /// * `IQD` - Iraqi Dinar + /// * `IEP` - Irish Pound + /// * `ILS` - Israeli New Shekel + /// * `ILP` - Israeli Pound + /// * `ILR` - Israeli Shekel (1980–1985) + /// * `ITL` - Italian Lira + /// * `JMD` - Jamaican Dollar + /// * `JPY` - Japanese Yen + /// * `JOD` - Jordanian Dinar + /// * `KZT` - Kazakhstani Tenge + /// * `KES` - Kenyan Shilling + /// * `KWD` - Kuwaiti Dinar + /// * `KGS` - Kyrgystani Som + /// * `LAK` - Laotian Kip + /// * `LVL` - Latvian Lats + /// * `LVR` - Latvian Ruble + /// * `LBP` - Lebanese Pound + /// * `LSL` - Lesotho Loti + /// * `LRD` - Liberian Dollar + /// * `LYD` - Libyan Dinar + /// * `LTL` - Lithuanian Litas + /// * `LTT` - Lithuanian Talonas + /// * `LUL` - Luxembourg Financial Franc + /// * `LUC` - Luxembourgian Convertible Franc + /// * `LUF` - Luxembourgian Franc + /// * `MOP` - Macanese Pataca + /// * `MKD` - Macedonian Denar + /// * `MKN` - Macedonian Denar (1992–1993) + /// * `MGA` - Malagasy Ariary + /// * `MGF` - Malagasy Franc + /// * `MWK` - Malawian Kwacha + /// * `MYR` - Malaysian Ringgit + /// * `MVR` - Maldivian Rufiyaa + /// * `MVP` - Maldivian Rupee (1947–1981) + /// * `MLF` - Malian Franc + /// * `MTL` - Maltese Lira + /// * `MTP` - Maltese Pound + /// * `MRU` - Mauritanian Ouguiya + /// * `MRO` - Mauritanian Ouguiya (1973–2017) + /// * `MUR` - Mauritian Rupee + /// * `MXV` - Mexican Investment Unit + /// * `MXN` - Mexican Peso + /// * `MXP` - Mexican Silver Peso (1861–1992) + /// * `MDC` - Moldovan Cupon + /// * `MDL` - Moldovan Leu + /// * `MCF` - Monegasque Franc + /// * `MNT` - Mongolian Tugrik + /// * `MAD` - Moroccan Dirham + /// * `MAF` - Moroccan Franc + /// * `MZE` - Mozambican Escudo + /// * `MZN` - Mozambican Metical + /// * `MZM` - Mozambican Metical (1980–2006) + /// * `MMK` - Myanmar Kyat + /// * `NAD` - Namibian Dollar + /// * `NPR` - Nepalese Rupee + /// * `ANG` - Netherlands Antillean Guilder + /// * `TWD` - New Taiwan Dollar + /// * `NZD` - New Zealand Dollar + /// * `NIO` - Nicaraguan Córdoba + /// * `NIC` - Nicaraguan Córdoba (1988–1991) + /// * `NGN` - Nigerian Naira + /// * `KPW` - North Korean Won + /// * `NOK` - Norwegian Krone + /// * `OMR` - Omani Rial + /// * `PKR` - Pakistani Rupee + /// * `XPD` - Palladium + /// * `PAB` - Panamanian Balboa + /// * `PGK` - Papua New Guinean Kina + /// * `PYG` - Paraguayan Guarani + /// * `PEI` - Peruvian Inti + /// * `PEN` - Peruvian Sol + /// * `PES` - Peruvian Sol (1863–1965) + /// * `PHP` - Philippine Peso + /// * `XPT` - Platinum + /// * `PLN` - Polish Zloty + /// * `PLZ` - Polish Zloty (1950–1995) + /// * `PTE` - Portuguese Escudo + /// * `GWE` - Portuguese Guinea Escudo + /// * `QAR` - Qatari Rial + /// * `XRE` - RINET Funds + /// * `RHD` - Rhodesian Dollar + /// * `RON` - Romanian Leu + /// * `ROL` - Romanian Leu (1952–2006) + /// * `RUB` - Russian Ruble + /// * `RUR` - Russian Ruble (1991–1998) + /// * `RWF` - Rwandan Franc + /// * `SVC` - Salvadoran Colón + /// * `WST` - Samoan Tala + /// * `SAR` - Saudi Riyal + /// * `RSD` - Serbian Dinar + /// * `CSD` - Serbian Dinar (2002–2006) + /// * `SCR` - Seychellois Rupee + /// * `SLL` - Sierra Leonean Leone + /// * `XAG` - Silver + /// * `SGD` - Singapore Dollar + /// * `SKK` - Slovak Koruna + /// * `SIT` - Slovenian Tolar + /// * `SBD` - Solomon Islands Dollar + /// * `SOS` - Somali Shilling + /// * `ZAR` - South African Rand + /// * `ZAL` - South African Rand (financial) + /// * `KRH` - South Korean Hwan (1953–1962) + /// * `KRW` - South Korean Won + /// * `KRO` - South Korean Won (1945–1953) + /// * `SSP` - South Sudanese Pound + /// * `SUR` - Soviet Rouble + /// * `ESP` - Spanish Peseta + /// * `ESA` - Spanish Peseta (A account) + /// * `ESB` - Spanish Peseta (convertible account) + /// * `XDR` - Special Drawing Rights + /// * `LKR` - Sri Lankan Rupee + /// * `SHP` - St. Helena Pound + /// * `XSU` - Sucre + /// * `SDD` - Sudanese Dinar (1992–2007) + /// * `SDG` - Sudanese Pound + /// * `SDP` - Sudanese Pound (1957–1998) + /// * `SRD` - Surinamese Dollar + /// * `SRG` - Surinamese Guilder + /// * `SZL` - Swazi Lilangeni + /// * `SEK` - Swedish Krona + /// * `CHF` - Swiss Franc + /// * `SYP` - Syrian Pound + /// * `STN` - São Tomé & Príncipe Dobra + /// * `STD` - São Tomé & Príncipe Dobra (1977–2017) + /// * `TVD` - TVD + /// * `TJR` - Tajikistani Ruble + /// * `TJS` - Tajikistani Somoni + /// * `TZS` - Tanzanian Shilling + /// * `XTS` - Testing Currency Code + /// * `THB` - Thai Baht + /// * `XXX` - The codes assigned for transactions where no currency is involved + /// * `TPE` - Timorese Escudo + /// * `TOP` - Tongan Paʻanga + /// * `TTD` - Trinidad & Tobago Dollar + /// * `TND` - Tunisian Dinar + /// * `TRY` - Turkish Lira + /// * `TRL` - Turkish Lira (1922–2005) + /// * `TMT` - Turkmenistani Manat + /// * `TMM` - Turkmenistani Manat (1993–2009) + /// * `USD` - US Dollar + /// * `USN` - US Dollar (Next day) + /// * `USS` - US Dollar (Same day) + /// * `UGX` - Ugandan Shilling + /// * `UGS` - Ugandan Shilling (1966–1987) + /// * `UAH` - Ukrainian Hryvnia + /// * `UAK` - Ukrainian Karbovanets + /// * `AED` - United Arab Emirates Dirham + /// * `UYW` - Uruguayan Nominal Wage Index Unit + /// * `UYU` - Uruguayan Peso + /// * `UYP` - Uruguayan Peso (1975–1993) + /// * `UYI` - Uruguayan Peso (Indexed Units) + /// * `UZS` - Uzbekistani Som + /// * `VUV` - Vanuatu Vatu + /// * `VES` - Venezuelan Bolívar + /// * `VEB` - Venezuelan Bolívar (1871–2008) + /// * `VEF` - Venezuelan Bolívar (2008–2018) + /// * `VND` - Vietnamese Dong + /// * `VNN` - Vietnamese Dong (1978–1985) + /// * `CHE` - WIR Euro + /// * `CHW` - WIR Franc + /// * `XOF` - West African CFA Franc + /// * `YDD` - Yemeni Dinar + /// * `YER` - Yemeni Rial + /// * `YUN` - Yugoslavian Convertible Dinar (1990–1992) + /// * `YUD` - Yugoslavian Hard Dinar (1966–1990) + /// * `YUM` - Yugoslavian New Dinar (1994–2002) + /// * `YUR` - Yugoslavian Reformed Dinar (1992–1993) + /// * `ZWN` - ZWN + /// * `ZRN` - Zairean New Zaire (1993–1998) + /// * `ZRZ` - Zairean Zaire (1971–1993) + /// * `ZMW` - Zambian Kwacha + /// * `ZMK` - Zambian Kwacha (1968–2012) + /// * `ZWD` - Zimbabwean Dollar (1980–2008) + /// * `ZWR` - Zimbabwean Dollar (2008) + /// * `ZWL` - Zimbabwean Dollar (2009) /// [JsonPropertyName("currency")] public TransactionCurrencyEnum? Currency { get; set; } @@ -397,15 +412,29 @@ public record PurchaseOrderRequest [JsonPropertyName("line_items")] public IEnumerable? LineItems { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("integration_params")] public Dictionary? IntegrationParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("linked_account_params")] public Dictionary? LinkedAccountParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("remote_fields")] public IEnumerable? RemoteFields { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/PurchaseOrderResponse.cs b/src/Merge.Client/Accounting/Types/PurchaseOrderResponse.cs index 2ca90373..c9cdb085 100644 --- a/src/Merge.Client/Accounting/Types/PurchaseOrderResponse.cs +++ b/src/Merge.Client/Accounting/Types/PurchaseOrderResponse.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -19,6 +20,17 @@ public record PurchaseOrderResponse [JsonPropertyName("logs")] public IEnumerable? Logs { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/RemoteData.cs b/src/Merge.Client/Accounting/Types/RemoteData.cs index 0823a7bc..349d448f 100644 --- a/src/Merge.Client/Accounting/Types/RemoteData.cs +++ b/src/Merge.Client/Accounting/Types/RemoteData.cs @@ -1,8 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; +/// +/// # The RemoteData Object +/// ### Description +/// The `RemoteData` object is used to represent the full data pulled from the third-party API for an object. +/// +/// ### Usage Example +/// TODO +/// public record RemoteData { /// @@ -11,9 +20,21 @@ public record RemoteData [JsonPropertyName("path")] public required string Path { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("data")] public object? Data { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/RemoteEndpointInfo.cs b/src/Merge.Client/Accounting/Types/RemoteEndpointInfo.cs index 71c96802..f332556c 100644 --- a/src/Merge.Client/Accounting/Types/RemoteEndpointInfo.cs +++ b/src/Merge.Client/Accounting/Types/RemoteEndpointInfo.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record RemoteEndpointInfo [JsonPropertyName("field_traversal_path")] public IEnumerable FieldTraversalPath { get; set; } = new List(); + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/RemoteField.cs b/src/Merge.Client/Accounting/Types/RemoteField.cs index e84fce35..0f124883 100644 --- a/src/Merge.Client/Accounting/Types/RemoteField.cs +++ b/src/Merge.Client/Accounting/Types/RemoteField.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; @@ -10,8 +11,19 @@ public record RemoteField public required OneOf RemoteFieldClass { get; set; } [JsonPropertyName("value")] - public Dictionary? Value { get; set; } + public object? Value { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/RemoteFieldApi.cs b/src/Merge.Client/Accounting/Types/RemoteFieldApi.cs index 4211d84f..7c547fb3 100644 --- a/src/Merge.Client/Accounting/Types/RemoteFieldApi.cs +++ b/src/Merge.Client/Accounting/Types/RemoteFieldApi.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; @@ -21,9 +22,21 @@ public record RemoteFieldApi [JsonPropertyName("advanced_metadata")] public AdvancedMetadata? AdvancedMetadata { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("coverage")] public OneOf? Coverage { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/RemoteFieldApiResponse.cs b/src/Merge.Client/Accounting/Types/RemoteFieldApiResponse.cs index 0bab36d3..0cc65e3b 100644 --- a/src/Merge.Client/Accounting/Types/RemoteFieldApiResponse.cs +++ b/src/Merge.Client/Accounting/Types/RemoteFieldApiResponse.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -71,6 +72,23 @@ public record RemoteFieldApiResponse [JsonPropertyName("Employee")] public IEnumerable? Employee { get; set; } + [JsonPropertyName("PaymentMethod")] + public IEnumerable? PaymentMethod { get; set; } + + [JsonPropertyName("PaymentTerm")] + public IEnumerable? PaymentTerm { get; set; } + + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/RemoteFieldClass.cs b/src/Merge.Client/Accounting/Types/RemoteFieldClass.cs index 07812373..fc8a3279 100644 --- a/src/Merge.Client/Accounting/Types/RemoteFieldClass.cs +++ b/src/Merge.Client/Accounting/Types/RemoteFieldClass.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -35,6 +36,17 @@ public record RemoteFieldClass [JsonPropertyName("item_schema")] public ItemSchema? ItemSchema { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/RemoteFieldRequest.cs b/src/Merge.Client/Accounting/Types/RemoteFieldRequest.cs index 8c6b665b..fdadfe6d 100644 --- a/src/Merge.Client/Accounting/Types/RemoteFieldRequest.cs +++ b/src/Merge.Client/Accounting/Types/RemoteFieldRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; @@ -12,6 +13,17 @@ public record RemoteFieldRequest [JsonPropertyName("value")] public object? Value { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/RemoteKey.cs b/src/Merge.Client/Accounting/Types/RemoteKey.cs index 050cea65..9e7318fa 100644 --- a/src/Merge.Client/Accounting/Types/RemoteKey.cs +++ b/src/Merge.Client/Accounting/Types/RemoteKey.cs @@ -1,8 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; +/// +/// # The RemoteKey Object +/// ### Description +/// The `RemoteKey` object is used to represent a request for a new remote key. +/// +/// ### Usage Example +/// Post a `GenerateRemoteKey` to receive a new `RemoteKey`. +/// public record RemoteKey { [JsonPropertyName("name")] @@ -11,6 +20,17 @@ public record RemoteKey [JsonPropertyName("key")] public required string Key { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/RemoteResponse.cs b/src/Merge.Client/Accounting/Types/RemoteResponse.cs index 7dea8780..aeb9e329 100644 --- a/src/Merge.Client/Accounting/Types/RemoteResponse.cs +++ b/src/Merge.Client/Accounting/Types/RemoteResponse.cs @@ -1,8 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; +/// +/// # The RemoteResponse Object +/// ### Description +/// The `RemoteResponse` object is used to represent information returned from a third-party endpoint. +/// +/// ### Usage Example +/// View the `RemoteResponse` returned from your `DataPassthrough`. +/// public record RemoteResponse { [JsonPropertyName("method")] @@ -26,6 +35,17 @@ public record RemoteResponse [JsonPropertyName("headers")] public Dictionary? Headers { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/ReportItem.cs b/src/Merge.Client/Accounting/Types/ReportItem.cs index 3534fca1..bee62a32 100644 --- a/src/Merge.Client/Accounting/Types/ReportItem.cs +++ b/src/Merge.Client/Accounting/Types/ReportItem.cs @@ -1,8 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; +/// +/// # The ReportItem Object +/// ### Description +/// The `ReportItem` object is used to represent a report item for a Balance Sheet, Cash Flow Statement or Profit and Loss Report. +/// +/// ### Usage Example +/// Fetch from the `GET BalanceSheet` endpoint and view the balance sheet's report items. +/// public record ReportItem { /// @@ -14,12 +23,14 @@ public record ReportItem /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -35,6 +46,7 @@ public record ReportItem [JsonPropertyName("value")] public double? Value { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("sub_items")] public IEnumerable>? SubItems { get; set; } @@ -50,6 +62,17 @@ public record ReportItem [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/StatusFd5Enum.cs b/src/Merge.Client/Accounting/Types/StatusFd5Enum.cs new file mode 100644 index 00000000..fce2b9db --- /dev/null +++ b/src/Merge.Client/Accounting/Types/StatusFd5Enum.cs @@ -0,0 +1,27 @@ +using System.Runtime.Serialization; +using System.Text.Json.Serialization; +using Merge.Client.Core; + +namespace Merge.Client.Accounting; + +[JsonConverter(typeof(EnumSerializer))] +public enum StatusFd5Enum +{ + [EnumMember(Value = "SYNCING")] + Syncing, + + [EnumMember(Value = "DONE")] + Done, + + [EnumMember(Value = "FAILED")] + Failed, + + [EnumMember(Value = "DISABLED")] + Disabled, + + [EnumMember(Value = "PAUSED")] + Paused, + + [EnumMember(Value = "PARTIALLY_SYNCED")] + PartiallySynced, +} diff --git a/src/Merge.Client/Accounting/Types/SyncStatus.cs b/src/Merge.Client/Accounting/Types/SyncStatus.cs index 6c8cd346..134d0a0b 100644 --- a/src/Merge.Client/Accounting/Types/SyncStatus.cs +++ b/src/Merge.Client/Accounting/Types/SyncStatus.cs @@ -1,8 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; +/// +/// # The SyncStatus Object +/// ### Description +/// The `SyncStatus` object is used to represent the syncing state of an account +/// +/// ### Usage Example +/// View the `SyncStatus` for an account to see how recently its models were synced. +/// public record SyncStatus { [JsonPropertyName("model_name")] @@ -17,8 +26,14 @@ public record SyncStatus [JsonPropertyName("next_sync_start")] public DateTime? NextSyncStart { get; set; } + [JsonPropertyName("last_sync_result")] + public LastSyncResultEnum? LastSyncResult { get; set; } + + [JsonPropertyName("last_sync_finished")] + public DateTime? LastSyncFinished { get; set; } + [JsonPropertyName("status")] - public required SyncStatusStatusEnum Status { get; set; } + public required StatusFd5Enum Status { get; set; } [JsonPropertyName("is_initial_sync")] public required bool IsInitialSync { get; set; } @@ -26,6 +41,17 @@ public record SyncStatus [JsonPropertyName("selective_sync_configurations_usage")] public SelectiveSyncConfigurationsUsageEnum? SelectiveSyncConfigurationsUsage { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/TaxComponent.cs b/src/Merge.Client/Accounting/Types/TaxComponent.cs index 029ecb6a..8fb5ba89 100644 --- a/src/Merge.Client/Accounting/Types/TaxComponent.cs +++ b/src/Merge.Client/Accounting/Types/TaxComponent.cs @@ -1,10 +1,20 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; +/// +/// # The TaxRate Object +/// ### Description +/// The `TaxComponent` object is used to represent any sub-taxes that make up the `TaxRate`. +/// +/// ### Usage Example +/// Fetch from the `LIST TaxRates` endpoint and view tax components relevant to a tax rate. +/// public record TaxComponent { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -17,12 +27,14 @@ public record TaxComponent /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -47,8 +59,8 @@ public record TaxComponent /// /// Returns PURCHASE if the tax component corresponds to a purchase tax or SALES if the tax component corresponds to a sales tax. /// - /// - `SALES` - SALES - /// - `PURCHASE` - PURCHASE + /// * `SALES` - SALES + /// * `PURCHASE` - PURCHASE /// [JsonPropertyName("component_type")] public ComponentTypeEnum? ComponentType { get; set; } @@ -56,9 +68,21 @@ public record TaxComponent /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/TaxRate.cs b/src/Merge.Client/Accounting/Types/TaxRate.cs index 0fa57401..55ac48db 100644 --- a/src/Merge.Client/Accounting/Types/TaxRate.cs +++ b/src/Merge.Client/Accounting/Types/TaxRate.cs @@ -1,11 +1,21 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Accounting; +/// +/// # The TaxRate Object +/// ### Description +/// The `TaxRate` object is used to represent a tax rate. +/// +/// ### Usage Example +/// Fetch from the `LIST TaxRates` endpoint and view tax rates relevant to a company. +/// public record TaxRate { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -18,12 +28,14 @@ public record TaxRate /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -54,8 +66,8 @@ public record TaxRate /// /// The tax rate’s status - `ACTIVE` if an active tax rate, `ARCHIVED` if not active. /// - /// - `ACTIVE` - ACTIVE - /// - `ARCHIVED` - ARCHIVED + /// * `ACTIVE` - ACTIVE + /// * `ARCHIVED` - ARCHIVED /// [JsonPropertyName("status")] public Status7D1Enum? Status { get; set; } @@ -87,15 +99,29 @@ public record TaxRate /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/TrackingCategory.cs b/src/Merge.Client/Accounting/Types/TrackingCategory.cs index 9a597ce8..10445445 100644 --- a/src/Merge.Client/Accounting/Types/TrackingCategory.cs +++ b/src/Merge.Client/Accounting/Types/TrackingCategory.cs @@ -1,11 +1,21 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Accounting; +/// +/// # The TrackingCategory Object +/// ### Description +/// A `TrackingCategory` object represents a categorization method used to classify transactions within an accounting platform. They are often used to group records for reporting and analysis purposes. The most common types of `TrackingCategories` are Classes and Departments. +/// +/// ### Usage Example +/// Fetch from the `GET TrackingCategory` endpoint and view a company's tracking category. +/// public record TrackingCategory { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -18,12 +28,14 @@ public record TrackingCategory /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -36,8 +48,8 @@ public record TrackingCategory /// /// The tracking category's status. /// - /// - `ACTIVE` - ACTIVE - /// - `ARCHIVED` - ARCHIVED + /// * `ACTIVE` - ACTIVE + /// * `ARCHIVED` - ARCHIVED /// [JsonPropertyName("status")] public Status7D1Enum? Status { get; set; } @@ -45,8 +57,8 @@ public record TrackingCategory /// /// The tracking category’s type. /// - /// - `CLASS` - CLASS - /// - `DEPARTMENT` - DEPARTMENT + /// * `CLASS` - CLASS + /// * `DEPARTMENT` - DEPARTMENT /// [JsonPropertyName("category_type")] public CategoryTypeEnum? CategoryType { get; set; } @@ -63,12 +75,25 @@ public record TrackingCategory /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/Transaction.cs b/src/Merge.Client/Accounting/Types/Transaction.cs index 328eff8f..a69eb1ec 100644 --- a/src/Merge.Client/Accounting/Types/Transaction.cs +++ b/src/Merge.Client/Accounting/Types/Transaction.cs @@ -1,11 +1,28 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Accounting; +/// +/// # The Transaction Object +/// ### Description +/// The `Transaction` common model includes records of all types of transactions that do not appear in other common models. The type of transaction can be identified through the type field. More specifically, it will contain all types of transactions outside of: +/// * __Credit Notes__ +/// * __Expenses__ +/// * __Invoices__ +/// * __Journal Entries__ +/// * __Payments__ +/// * __Purchase Orders__ +/// * __Vendor Credits__ +/// +/// ### Usage Example +/// Fetch from the `GET Transaction` endpoint and view a company's transactions. +/// public record Transaction { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -18,12 +35,14 @@ public record Transaction /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -72,312 +91,312 @@ public record Transaction /// /// The transaction's currency. /// - /// - `XUA` - ADB Unit of Account - /// - `AFN` - Afghan Afghani - /// - `AFA` - Afghan Afghani (1927–2002) - /// - `ALL` - Albanian Lek - /// - `ALK` - Albanian Lek (1946–1965) - /// - `DZD` - Algerian Dinar - /// - `ADP` - Andorran Peseta - /// - `AOA` - Angolan Kwanza - /// - `AOK` - Angolan Kwanza (1977–1991) - /// - `AON` - Angolan New Kwanza (1990–2000) - /// - `AOR` - Angolan Readjusted Kwanza (1995–1999) - /// - `ARA` - Argentine Austral - /// - `ARS` - Argentine Peso - /// - `ARM` - Argentine Peso (1881–1970) - /// - `ARP` - Argentine Peso (1983–1985) - /// - `ARL` - Argentine Peso Ley (1970–1983) - /// - `AMD` - Armenian Dram - /// - `AWG` - Aruban Florin - /// - `AUD` - Australian Dollar - /// - `ATS` - Austrian Schilling - /// - `AZN` - Azerbaijani Manat - /// - `AZM` - Azerbaijani Manat (1993–2006) - /// - `BSD` - Bahamian Dollar - /// - `BHD` - Bahraini Dinar - /// - `BDT` - Bangladeshi Taka - /// - `BBD` - Barbadian Dollar - /// - `BYN` - Belarusian Ruble - /// - `BYB` - Belarusian Ruble (1994–1999) - /// - `BYR` - Belarusian Ruble (2000–2016) - /// - `BEF` - Belgian Franc - /// - `BEC` - Belgian Franc (convertible) - /// - `BEL` - Belgian Franc (financial) - /// - `BZD` - Belize Dollar - /// - `BMD` - Bermudan Dollar - /// - `BTN` - Bhutanese Ngultrum - /// - `BOB` - Bolivian Boliviano - /// - `BOL` - Bolivian Boliviano (1863–1963) - /// - `BOV` - Bolivian Mvdol - /// - `BOP` - Bolivian Peso - /// - `BAM` - Bosnia-Herzegovina Convertible Mark - /// - `BAD` - Bosnia-Herzegovina Dinar (1992–1994) - /// - `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) - /// - `BWP` - Botswanan Pula - /// - `BRC` - Brazilian Cruzado (1986–1989) - /// - `BRZ` - Brazilian Cruzeiro (1942–1967) - /// - `BRE` - Brazilian Cruzeiro (1990–1993) - /// - `BRR` - Brazilian Cruzeiro (1993–1994) - /// - `BRN` - Brazilian New Cruzado (1989–1990) - /// - `BRB` - Brazilian New Cruzeiro (1967–1986) - /// - `BRL` - Brazilian Real - /// - `GBP` - British Pound - /// - `BND` - Brunei Dollar - /// - `BGL` - Bulgarian Hard Lev - /// - `BGN` - Bulgarian Lev - /// - `BGO` - Bulgarian Lev (1879–1952) - /// - `BGM` - Bulgarian Socialist Lev - /// - `BUK` - Burmese Kyat - /// - `BIF` - Burundian Franc - /// - `XPF` - CFP Franc - /// - `KHR` - Cambodian Riel - /// - `CAD` - Canadian Dollar - /// - `CVE` - Cape Verdean Escudo - /// - `KYD` - Cayman Islands Dollar - /// - `XAF` - Central African CFA Franc - /// - `CLE` - Chilean Escudo - /// - `CLP` - Chilean Peso - /// - `CLF` - Chilean Unit of Account (UF) - /// - `CNX` - Chinese People’s Bank Dollar - /// - `CNY` - Chinese Yuan - /// - `CNH` - Chinese Yuan (offshore) - /// - `COP` - Colombian Peso - /// - `COU` - Colombian Real Value Unit - /// - `KMF` - Comorian Franc - /// - `CDF` - Congolese Franc - /// - `CRC` - Costa Rican Colón - /// - `HRD` - Croatian Dinar - /// - `HRK` - Croatian Kuna - /// - `CUC` - Cuban Convertible Peso - /// - `CUP` - Cuban Peso - /// - `CYP` - Cypriot Pound - /// - `CZK` - Czech Koruna - /// - `CSK` - Czechoslovak Hard Koruna - /// - `DKK` - Danish Krone - /// - `DJF` - Djiboutian Franc - /// - `DOP` - Dominican Peso - /// - `NLG` - Dutch Guilder - /// - `XCD` - East Caribbean Dollar - /// - `DDM` - East German Mark - /// - `ECS` - Ecuadorian Sucre - /// - `ECV` - Ecuadorian Unit of Constant Value - /// - `EGP` - Egyptian Pound - /// - `GQE` - Equatorial Guinean Ekwele - /// - `ERN` - Eritrean Nakfa - /// - `EEK` - Estonian Kroon - /// - `ETB` - Ethiopian Birr - /// - `EUR` - Euro - /// - `XBA` - European Composite Unit - /// - `XEU` - European Currency Unit - /// - `XBB` - European Monetary Unit - /// - `XBC` - European Unit of Account (XBC) - /// - `XBD` - European Unit of Account (XBD) - /// - `FKP` - Falkland Islands Pound - /// - `FJD` - Fijian Dollar - /// - `FIM` - Finnish Markka - /// - `FRF` - French Franc - /// - `XFO` - French Gold Franc - /// - `XFU` - French UIC-Franc - /// - `GMD` - Gambian Dalasi - /// - `GEK` - Georgian Kupon Larit - /// - `GEL` - Georgian Lari - /// - `DEM` - German Mark - /// - `GHS` - Ghanaian Cedi - /// - `GHC` - Ghanaian Cedi (1979–2007) - /// - `GIP` - Gibraltar Pound - /// - `XAU` - Gold - /// - `GRD` - Greek Drachma - /// - `GTQ` - Guatemalan Quetzal - /// - `GWP` - Guinea-Bissau Peso - /// - `GNF` - Guinean Franc - /// - `GNS` - Guinean Syli - /// - `GYD` - Guyanaese Dollar - /// - `HTG` - Haitian Gourde - /// - `HNL` - Honduran Lempira - /// - `HKD` - Hong Kong Dollar - /// - `HUF` - Hungarian Forint - /// - `IMP` - IMP - /// - `ISK` - Icelandic Króna - /// - `ISJ` - Icelandic Króna (1918–1981) - /// - `INR` - Indian Rupee - /// - `IDR` - Indonesian Rupiah - /// - `IRR` - Iranian Rial - /// - `IQD` - Iraqi Dinar - /// - `IEP` - Irish Pound - /// - `ILS` - Israeli New Shekel - /// - `ILP` - Israeli Pound - /// - `ILR` - Israeli Shekel (1980–1985) - /// - `ITL` - Italian Lira - /// - `JMD` - Jamaican Dollar - /// - `JPY` - Japanese Yen - /// - `JOD` - Jordanian Dinar - /// - `KZT` - Kazakhstani Tenge - /// - `KES` - Kenyan Shilling - /// - `KWD` - Kuwaiti Dinar - /// - `KGS` - Kyrgystani Som - /// - `LAK` - Laotian Kip - /// - `LVL` - Latvian Lats - /// - `LVR` - Latvian Ruble - /// - `LBP` - Lebanese Pound - /// - `LSL` - Lesotho Loti - /// - `LRD` - Liberian Dollar - /// - `LYD` - Libyan Dinar - /// - `LTL` - Lithuanian Litas - /// - `LTT` - Lithuanian Talonas - /// - `LUL` - Luxembourg Financial Franc - /// - `LUC` - Luxembourgian Convertible Franc - /// - `LUF` - Luxembourgian Franc - /// - `MOP` - Macanese Pataca - /// - `MKD` - Macedonian Denar - /// - `MKN` - Macedonian Denar (1992–1993) - /// - `MGA` - Malagasy Ariary - /// - `MGF` - Malagasy Franc - /// - `MWK` - Malawian Kwacha - /// - `MYR` - Malaysian Ringgit - /// - `MVR` - Maldivian Rufiyaa - /// - `MVP` - Maldivian Rupee (1947–1981) - /// - `MLF` - Malian Franc - /// - `MTL` - Maltese Lira - /// - `MTP` - Maltese Pound - /// - `MRU` - Mauritanian Ouguiya - /// - `MRO` - Mauritanian Ouguiya (1973–2017) - /// - `MUR` - Mauritian Rupee - /// - `MXV` - Mexican Investment Unit - /// - `MXN` - Mexican Peso - /// - `MXP` - Mexican Silver Peso (1861–1992) - /// - `MDC` - Moldovan Cupon - /// - `MDL` - Moldovan Leu - /// - `MCF` - Monegasque Franc - /// - `MNT` - Mongolian Tugrik - /// - `MAD` - Moroccan Dirham - /// - `MAF` - Moroccan Franc - /// - `MZE` - Mozambican Escudo - /// - `MZN` - Mozambican Metical - /// - `MZM` - Mozambican Metical (1980–2006) - /// - `MMK` - Myanmar Kyat - /// - `NAD` - Namibian Dollar - /// - `NPR` - Nepalese Rupee - /// - `ANG` - Netherlands Antillean Guilder - /// - `TWD` - New Taiwan Dollar - /// - `NZD` - New Zealand Dollar - /// - `NIO` - Nicaraguan Córdoba - /// - `NIC` - Nicaraguan Córdoba (1988–1991) - /// - `NGN` - Nigerian Naira - /// - `KPW` - North Korean Won - /// - `NOK` - Norwegian Krone - /// - `OMR` - Omani Rial - /// - `PKR` - Pakistani Rupee - /// - `XPD` - Palladium - /// - `PAB` - Panamanian Balboa - /// - `PGK` - Papua New Guinean Kina - /// - `PYG` - Paraguayan Guarani - /// - `PEI` - Peruvian Inti - /// - `PEN` - Peruvian Sol - /// - `PES` - Peruvian Sol (1863–1965) - /// - `PHP` - Philippine Peso - /// - `XPT` - Platinum - /// - `PLN` - Polish Zloty - /// - `PLZ` - Polish Zloty (1950–1995) - /// - `PTE` - Portuguese Escudo - /// - `GWE` - Portuguese Guinea Escudo - /// - `QAR` - Qatari Rial - /// - `XRE` - RINET Funds - /// - `RHD` - Rhodesian Dollar - /// - `RON` - Romanian Leu - /// - `ROL` - Romanian Leu (1952–2006) - /// - `RUB` - Russian Ruble - /// - `RUR` - Russian Ruble (1991–1998) - /// - `RWF` - Rwandan Franc - /// - `SVC` - Salvadoran Colón - /// - `WST` - Samoan Tala - /// - `SAR` - Saudi Riyal - /// - `RSD` - Serbian Dinar - /// - `CSD` - Serbian Dinar (2002–2006) - /// - `SCR` - Seychellois Rupee - /// - `SLL` - Sierra Leonean Leone - /// - `XAG` - Silver - /// - `SGD` - Singapore Dollar - /// - `SKK` - Slovak Koruna - /// - `SIT` - Slovenian Tolar - /// - `SBD` - Solomon Islands Dollar - /// - `SOS` - Somali Shilling - /// - `ZAR` - South African Rand - /// - `ZAL` - South African Rand (financial) - /// - `KRH` - South Korean Hwan (1953–1962) - /// - `KRW` - South Korean Won - /// - `KRO` - South Korean Won (1945–1953) - /// - `SSP` - South Sudanese Pound - /// - `SUR` - Soviet Rouble - /// - `ESP` - Spanish Peseta - /// - `ESA` - Spanish Peseta (A account) - /// - `ESB` - Spanish Peseta (convertible account) - /// - `XDR` - Special Drawing Rights - /// - `LKR` - Sri Lankan Rupee - /// - `SHP` - St. Helena Pound - /// - `XSU` - Sucre - /// - `SDD` - Sudanese Dinar (1992–2007) - /// - `SDG` - Sudanese Pound - /// - `SDP` - Sudanese Pound (1957–1998) - /// - `SRD` - Surinamese Dollar - /// - `SRG` - Surinamese Guilder - /// - `SZL` - Swazi Lilangeni - /// - `SEK` - Swedish Krona - /// - `CHF` - Swiss Franc - /// - `SYP` - Syrian Pound - /// - `STN` - São Tomé & Príncipe Dobra - /// - `STD` - São Tomé & Príncipe Dobra (1977–2017) - /// - `TVD` - TVD - /// - `TJR` - Tajikistani Ruble - /// - `TJS` - Tajikistani Somoni - /// - `TZS` - Tanzanian Shilling - /// - `XTS` - Testing Currency Code - /// - `THB` - Thai Baht - /// - `XXX` - The codes assigned for transactions where no currency is involved - /// - `TPE` - Timorese Escudo - /// - `TOP` - Tongan Paʻanga - /// - `TTD` - Trinidad & Tobago Dollar - /// - `TND` - Tunisian Dinar - /// - `TRY` - Turkish Lira - /// - `TRL` - Turkish Lira (1922–2005) - /// - `TMT` - Turkmenistani Manat - /// - `TMM` - Turkmenistani Manat (1993–2009) - /// - `USD` - US Dollar - /// - `USN` - US Dollar (Next day) - /// - `USS` - US Dollar (Same day) - /// - `UGX` - Ugandan Shilling - /// - `UGS` - Ugandan Shilling (1966–1987) - /// - `UAH` - Ukrainian Hryvnia - /// - `UAK` - Ukrainian Karbovanets - /// - `AED` - United Arab Emirates Dirham - /// - `UYW` - Uruguayan Nominal Wage Index Unit - /// - `UYU` - Uruguayan Peso - /// - `UYP` - Uruguayan Peso (1975–1993) - /// - `UYI` - Uruguayan Peso (Indexed Units) - /// - `UZS` - Uzbekistani Som - /// - `VUV` - Vanuatu Vatu - /// - `VES` - Venezuelan Bolívar - /// - `VEB` - Venezuelan Bolívar (1871–2008) - /// - `VEF` - Venezuelan Bolívar (2008–2018) - /// - `VND` - Vietnamese Dong - /// - `VNN` - Vietnamese Dong (1978–1985) - /// - `CHE` - WIR Euro - /// - `CHW` - WIR Franc - /// - `XOF` - West African CFA Franc - /// - `YDD` - Yemeni Dinar - /// - `YER` - Yemeni Rial - /// - `YUN` - Yugoslavian Convertible Dinar (1990–1992) - /// - `YUD` - Yugoslavian Hard Dinar (1966–1990) - /// - `YUM` - Yugoslavian New Dinar (1994–2002) - /// - `YUR` - Yugoslavian Reformed Dinar (1992–1993) - /// - `ZWN` - ZWN - /// - `ZRN` - Zairean New Zaire (1993–1998) - /// - `ZRZ` - Zairean Zaire (1971–1993) - /// - `ZMW` - Zambian Kwacha - /// - `ZMK` - Zambian Kwacha (1968–2012) - /// - `ZWD` - Zimbabwean Dollar (1980–2008) - /// - `ZWR` - Zimbabwean Dollar (2008) - /// - `ZWL` - Zimbabwean Dollar (2009) + /// * `XUA` - ADB Unit of Account + /// * `AFN` - Afghan Afghani + /// * `AFA` - Afghan Afghani (1927–2002) + /// * `ALL` - Albanian Lek + /// * `ALK` - Albanian Lek (1946–1965) + /// * `DZD` - Algerian Dinar + /// * `ADP` - Andorran Peseta + /// * `AOA` - Angolan Kwanza + /// * `AOK` - Angolan Kwanza (1977–1991) + /// * `AON` - Angolan New Kwanza (1990–2000) + /// * `AOR` - Angolan Readjusted Kwanza (1995–1999) + /// * `ARA` - Argentine Austral + /// * `ARS` - Argentine Peso + /// * `ARM` - Argentine Peso (1881–1970) + /// * `ARP` - Argentine Peso (1983–1985) + /// * `ARL` - Argentine Peso Ley (1970–1983) + /// * `AMD` - Armenian Dram + /// * `AWG` - Aruban Florin + /// * `AUD` - Australian Dollar + /// * `ATS` - Austrian Schilling + /// * `AZN` - Azerbaijani Manat + /// * `AZM` - Azerbaijani Manat (1993–2006) + /// * `BSD` - Bahamian Dollar + /// * `BHD` - Bahraini Dinar + /// * `BDT` - Bangladeshi Taka + /// * `BBD` - Barbadian Dollar + /// * `BYN` - Belarusian Ruble + /// * `BYB` - Belarusian Ruble (1994–1999) + /// * `BYR` - Belarusian Ruble (2000–2016) + /// * `BEF` - Belgian Franc + /// * `BEC` - Belgian Franc (convertible) + /// * `BEL` - Belgian Franc (financial) + /// * `BZD` - Belize Dollar + /// * `BMD` - Bermudan Dollar + /// * `BTN` - Bhutanese Ngultrum + /// * `BOB` - Bolivian Boliviano + /// * `BOL` - Bolivian Boliviano (1863–1963) + /// * `BOV` - Bolivian Mvdol + /// * `BOP` - Bolivian Peso + /// * `BAM` - Bosnia-Herzegovina Convertible Mark + /// * `BAD` - Bosnia-Herzegovina Dinar (1992–1994) + /// * `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) + /// * `BWP` - Botswanan Pula + /// * `BRC` - Brazilian Cruzado (1986–1989) + /// * `BRZ` - Brazilian Cruzeiro (1942–1967) + /// * `BRE` - Brazilian Cruzeiro (1990–1993) + /// * `BRR` - Brazilian Cruzeiro (1993–1994) + /// * `BRN` - Brazilian New Cruzado (1989–1990) + /// * `BRB` - Brazilian New Cruzeiro (1967–1986) + /// * `BRL` - Brazilian Real + /// * `GBP` - British Pound + /// * `BND` - Brunei Dollar + /// * `BGL` - Bulgarian Hard Lev + /// * `BGN` - Bulgarian Lev + /// * `BGO` - Bulgarian Lev (1879–1952) + /// * `BGM` - Bulgarian Socialist Lev + /// * `BUK` - Burmese Kyat + /// * `BIF` - Burundian Franc + /// * `XPF` - CFP Franc + /// * `KHR` - Cambodian Riel + /// * `CAD` - Canadian Dollar + /// * `CVE` - Cape Verdean Escudo + /// * `KYD` - Cayman Islands Dollar + /// * `XAF` - Central African CFA Franc + /// * `CLE` - Chilean Escudo + /// * `CLP` - Chilean Peso + /// * `CLF` - Chilean Unit of Account (UF) + /// * `CNX` - Chinese People’s Bank Dollar + /// * `CNY` - Chinese Yuan + /// * `CNH` - Chinese Yuan (offshore) + /// * `COP` - Colombian Peso + /// * `COU` - Colombian Real Value Unit + /// * `KMF` - Comorian Franc + /// * `CDF` - Congolese Franc + /// * `CRC` - Costa Rican Colón + /// * `HRD` - Croatian Dinar + /// * `HRK` - Croatian Kuna + /// * `CUC` - Cuban Convertible Peso + /// * `CUP` - Cuban Peso + /// * `CYP` - Cypriot Pound + /// * `CZK` - Czech Koruna + /// * `CSK` - Czechoslovak Hard Koruna + /// * `DKK` - Danish Krone + /// * `DJF` - Djiboutian Franc + /// * `DOP` - Dominican Peso + /// * `NLG` - Dutch Guilder + /// * `XCD` - East Caribbean Dollar + /// * `DDM` - East German Mark + /// * `ECS` - Ecuadorian Sucre + /// * `ECV` - Ecuadorian Unit of Constant Value + /// * `EGP` - Egyptian Pound + /// * `GQE` - Equatorial Guinean Ekwele + /// * `ERN` - Eritrean Nakfa + /// * `EEK` - Estonian Kroon + /// * `ETB` - Ethiopian Birr + /// * `EUR` - Euro + /// * `XBA` - European Composite Unit + /// * `XEU` - European Currency Unit + /// * `XBB` - European Monetary Unit + /// * `XBC` - European Unit of Account (XBC) + /// * `XBD` - European Unit of Account (XBD) + /// * `FKP` - Falkland Islands Pound + /// * `FJD` - Fijian Dollar + /// * `FIM` - Finnish Markka + /// * `FRF` - French Franc + /// * `XFO` - French Gold Franc + /// * `XFU` - French UIC-Franc + /// * `GMD` - Gambian Dalasi + /// * `GEK` - Georgian Kupon Larit + /// * `GEL` - Georgian Lari + /// * `DEM` - German Mark + /// * `GHS` - Ghanaian Cedi + /// * `GHC` - Ghanaian Cedi (1979–2007) + /// * `GIP` - Gibraltar Pound + /// * `XAU` - Gold + /// * `GRD` - Greek Drachma + /// * `GTQ` - Guatemalan Quetzal + /// * `GWP` - Guinea-Bissau Peso + /// * `GNF` - Guinean Franc + /// * `GNS` - Guinean Syli + /// * `GYD` - Guyanaese Dollar + /// * `HTG` - Haitian Gourde + /// * `HNL` - Honduran Lempira + /// * `HKD` - Hong Kong Dollar + /// * `HUF` - Hungarian Forint + /// * `IMP` - IMP + /// * `ISK` - Icelandic Króna + /// * `ISJ` - Icelandic Króna (1918–1981) + /// * `INR` - Indian Rupee + /// * `IDR` - Indonesian Rupiah + /// * `IRR` - Iranian Rial + /// * `IQD` - Iraqi Dinar + /// * `IEP` - Irish Pound + /// * `ILS` - Israeli New Shekel + /// * `ILP` - Israeli Pound + /// * `ILR` - Israeli Shekel (1980–1985) + /// * `ITL` - Italian Lira + /// * `JMD` - Jamaican Dollar + /// * `JPY` - Japanese Yen + /// * `JOD` - Jordanian Dinar + /// * `KZT` - Kazakhstani Tenge + /// * `KES` - Kenyan Shilling + /// * `KWD` - Kuwaiti Dinar + /// * `KGS` - Kyrgystani Som + /// * `LAK` - Laotian Kip + /// * `LVL` - Latvian Lats + /// * `LVR` - Latvian Ruble + /// * `LBP` - Lebanese Pound + /// * `LSL` - Lesotho Loti + /// * `LRD` - Liberian Dollar + /// * `LYD` - Libyan Dinar + /// * `LTL` - Lithuanian Litas + /// * `LTT` - Lithuanian Talonas + /// * `LUL` - Luxembourg Financial Franc + /// * `LUC` - Luxembourgian Convertible Franc + /// * `LUF` - Luxembourgian Franc + /// * `MOP` - Macanese Pataca + /// * `MKD` - Macedonian Denar + /// * `MKN` - Macedonian Denar (1992–1993) + /// * `MGA` - Malagasy Ariary + /// * `MGF` - Malagasy Franc + /// * `MWK` - Malawian Kwacha + /// * `MYR` - Malaysian Ringgit + /// * `MVR` - Maldivian Rufiyaa + /// * `MVP` - Maldivian Rupee (1947–1981) + /// * `MLF` - Malian Franc + /// * `MTL` - Maltese Lira + /// * `MTP` - Maltese Pound + /// * `MRU` - Mauritanian Ouguiya + /// * `MRO` - Mauritanian Ouguiya (1973–2017) + /// * `MUR` - Mauritian Rupee + /// * `MXV` - Mexican Investment Unit + /// * `MXN` - Mexican Peso + /// * `MXP` - Mexican Silver Peso (1861–1992) + /// * `MDC` - Moldovan Cupon + /// * `MDL` - Moldovan Leu + /// * `MCF` - Monegasque Franc + /// * `MNT` - Mongolian Tugrik + /// * `MAD` - Moroccan Dirham + /// * `MAF` - Moroccan Franc + /// * `MZE` - Mozambican Escudo + /// * `MZN` - Mozambican Metical + /// * `MZM` - Mozambican Metical (1980–2006) + /// * `MMK` - Myanmar Kyat + /// * `NAD` - Namibian Dollar + /// * `NPR` - Nepalese Rupee + /// * `ANG` - Netherlands Antillean Guilder + /// * `TWD` - New Taiwan Dollar + /// * `NZD` - New Zealand Dollar + /// * `NIO` - Nicaraguan Córdoba + /// * `NIC` - Nicaraguan Córdoba (1988–1991) + /// * `NGN` - Nigerian Naira + /// * `KPW` - North Korean Won + /// * `NOK` - Norwegian Krone + /// * `OMR` - Omani Rial + /// * `PKR` - Pakistani Rupee + /// * `XPD` - Palladium + /// * `PAB` - Panamanian Balboa + /// * `PGK` - Papua New Guinean Kina + /// * `PYG` - Paraguayan Guarani + /// * `PEI` - Peruvian Inti + /// * `PEN` - Peruvian Sol + /// * `PES` - Peruvian Sol (1863–1965) + /// * `PHP` - Philippine Peso + /// * `XPT` - Platinum + /// * `PLN` - Polish Zloty + /// * `PLZ` - Polish Zloty (1950–1995) + /// * `PTE` - Portuguese Escudo + /// * `GWE` - Portuguese Guinea Escudo + /// * `QAR` - Qatari Rial + /// * `XRE` - RINET Funds + /// * `RHD` - Rhodesian Dollar + /// * `RON` - Romanian Leu + /// * `ROL` - Romanian Leu (1952–2006) + /// * `RUB` - Russian Ruble + /// * `RUR` - Russian Ruble (1991–1998) + /// * `RWF` - Rwandan Franc + /// * `SVC` - Salvadoran Colón + /// * `WST` - Samoan Tala + /// * `SAR` - Saudi Riyal + /// * `RSD` - Serbian Dinar + /// * `CSD` - Serbian Dinar (2002–2006) + /// * `SCR` - Seychellois Rupee + /// * `SLL` - Sierra Leonean Leone + /// * `XAG` - Silver + /// * `SGD` - Singapore Dollar + /// * `SKK` - Slovak Koruna + /// * `SIT` - Slovenian Tolar + /// * `SBD` - Solomon Islands Dollar + /// * `SOS` - Somali Shilling + /// * `ZAR` - South African Rand + /// * `ZAL` - South African Rand (financial) + /// * `KRH` - South Korean Hwan (1953–1962) + /// * `KRW` - South Korean Won + /// * `KRO` - South Korean Won (1945–1953) + /// * `SSP` - South Sudanese Pound + /// * `SUR` - Soviet Rouble + /// * `ESP` - Spanish Peseta + /// * `ESA` - Spanish Peseta (A account) + /// * `ESB` - Spanish Peseta (convertible account) + /// * `XDR` - Special Drawing Rights + /// * `LKR` - Sri Lankan Rupee + /// * `SHP` - St. Helena Pound + /// * `XSU` - Sucre + /// * `SDD` - Sudanese Dinar (1992–2007) + /// * `SDG` - Sudanese Pound + /// * `SDP` - Sudanese Pound (1957–1998) + /// * `SRD` - Surinamese Dollar + /// * `SRG` - Surinamese Guilder + /// * `SZL` - Swazi Lilangeni + /// * `SEK` - Swedish Krona + /// * `CHF` - Swiss Franc + /// * `SYP` - Syrian Pound + /// * `STN` - São Tomé & Príncipe Dobra + /// * `STD` - São Tomé & Príncipe Dobra (1977–2017) + /// * `TVD` - TVD + /// * `TJR` - Tajikistani Ruble + /// * `TJS` - Tajikistani Somoni + /// * `TZS` - Tanzanian Shilling + /// * `XTS` - Testing Currency Code + /// * `THB` - Thai Baht + /// * `XXX` - The codes assigned for transactions where no currency is involved + /// * `TPE` - Timorese Escudo + /// * `TOP` - Tongan Paʻanga + /// * `TTD` - Trinidad & Tobago Dollar + /// * `TND` - Tunisian Dinar + /// * `TRY` - Turkish Lira + /// * `TRL` - Turkish Lira (1922–2005) + /// * `TMT` - Turkmenistani Manat + /// * `TMM` - Turkmenistani Manat (1993–2009) + /// * `USD` - US Dollar + /// * `USN` - US Dollar (Next day) + /// * `USS` - US Dollar (Same day) + /// * `UGX` - Ugandan Shilling + /// * `UGS` - Ugandan Shilling (1966–1987) + /// * `UAH` - Ukrainian Hryvnia + /// * `UAK` - Ukrainian Karbovanets + /// * `AED` - United Arab Emirates Dirham + /// * `UYW` - Uruguayan Nominal Wage Index Unit + /// * `UYU` - Uruguayan Peso + /// * `UYP` - Uruguayan Peso (1975–1993) + /// * `UYI` - Uruguayan Peso (Indexed Units) + /// * `UZS` - Uzbekistani Som + /// * `VUV` - Vanuatu Vatu + /// * `VES` - Venezuelan Bolívar + /// * `VEB` - Venezuelan Bolívar (1871–2008) + /// * `VEF` - Venezuelan Bolívar (2008–2018) + /// * `VND` - Vietnamese Dong + /// * `VNN` - Vietnamese Dong (1978–1985) + /// * `CHE` - WIR Euro + /// * `CHW` - WIR Franc + /// * `XOF` - West African CFA Franc + /// * `YDD` - Yemeni Dinar + /// * `YER` - Yemeni Rial + /// * `YUN` - Yugoslavian Convertible Dinar (1990–1992) + /// * `YUD` - Yugoslavian Hard Dinar (1966–1990) + /// * `YUM` - Yugoslavian New Dinar (1994–2002) + /// * `YUR` - Yugoslavian Reformed Dinar (1992–1993) + /// * `ZWN` - ZWN + /// * `ZRN` - Zairean New Zaire (1993–1998) + /// * `ZRZ` - Zairean Zaire (1971–1993) + /// * `ZMW` - Zambian Kwacha + /// * `ZMK` - Zambian Kwacha (1968–2012) + /// * `ZWD` - Zimbabwean Dollar (1980–2008) + /// * `ZWR` - Zimbabwean Dollar (2008) + /// * `ZWL` - Zimbabwean Dollar (2009) /// [JsonPropertyName("currency")] public TransactionCurrencyEnum? Currency { get; set; } @@ -397,12 +416,14 @@ public record Transaction [JsonPropertyName("tracking_categories")] public IEnumerable>? TrackingCategories { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("line_items")] public IEnumerable? LineItems { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } @@ -412,12 +433,25 @@ public record Transaction [JsonPropertyName("accounting_period")] public OneOf? AccountingPeriod { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/TransactionLineItem.cs b/src/Merge.Client/Accounting/Types/TransactionLineItem.cs index 6d56d23e..11babc8b 100644 --- a/src/Merge.Client/Accounting/Types/TransactionLineItem.cs +++ b/src/Merge.Client/Accounting/Types/TransactionLineItem.cs @@ -1,11 +1,21 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Accounting; +/// +/// # The TransactionLineItem Object +/// ### Description +/// The `TransactionLineItem` object is used to represent a transaction's line items. +/// +/// ### Usage Example +/// Fetch from the `GET TransactionLineItem` endpoint and view the transaction's line items. +/// public record TransactionLineItem { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -18,12 +28,14 @@ public record TransactionLineItem /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -81,312 +93,312 @@ public record TransactionLineItem /// /// The line item's currency. /// - /// - `XUA` - ADB Unit of Account - /// - `AFN` - Afghan Afghani - /// - `AFA` - Afghan Afghani (1927–2002) - /// - `ALL` - Albanian Lek - /// - `ALK` - Albanian Lek (1946–1965) - /// - `DZD` - Algerian Dinar - /// - `ADP` - Andorran Peseta - /// - `AOA` - Angolan Kwanza - /// - `AOK` - Angolan Kwanza (1977–1991) - /// - `AON` - Angolan New Kwanza (1990–2000) - /// - `AOR` - Angolan Readjusted Kwanza (1995–1999) - /// - `ARA` - Argentine Austral - /// - `ARS` - Argentine Peso - /// - `ARM` - Argentine Peso (1881–1970) - /// - `ARP` - Argentine Peso (1983–1985) - /// - `ARL` - Argentine Peso Ley (1970–1983) - /// - `AMD` - Armenian Dram - /// - `AWG` - Aruban Florin - /// - `AUD` - Australian Dollar - /// - `ATS` - Austrian Schilling - /// - `AZN` - Azerbaijani Manat - /// - `AZM` - Azerbaijani Manat (1993–2006) - /// - `BSD` - Bahamian Dollar - /// - `BHD` - Bahraini Dinar - /// - `BDT` - Bangladeshi Taka - /// - `BBD` - Barbadian Dollar - /// - `BYN` - Belarusian Ruble - /// - `BYB` - Belarusian Ruble (1994–1999) - /// - `BYR` - Belarusian Ruble (2000–2016) - /// - `BEF` - Belgian Franc - /// - `BEC` - Belgian Franc (convertible) - /// - `BEL` - Belgian Franc (financial) - /// - `BZD` - Belize Dollar - /// - `BMD` - Bermudan Dollar - /// - `BTN` - Bhutanese Ngultrum - /// - `BOB` - Bolivian Boliviano - /// - `BOL` - Bolivian Boliviano (1863–1963) - /// - `BOV` - Bolivian Mvdol - /// - `BOP` - Bolivian Peso - /// - `BAM` - Bosnia-Herzegovina Convertible Mark - /// - `BAD` - Bosnia-Herzegovina Dinar (1992–1994) - /// - `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) - /// - `BWP` - Botswanan Pula - /// - `BRC` - Brazilian Cruzado (1986–1989) - /// - `BRZ` - Brazilian Cruzeiro (1942–1967) - /// - `BRE` - Brazilian Cruzeiro (1990–1993) - /// - `BRR` - Brazilian Cruzeiro (1993–1994) - /// - `BRN` - Brazilian New Cruzado (1989–1990) - /// - `BRB` - Brazilian New Cruzeiro (1967–1986) - /// - `BRL` - Brazilian Real - /// - `GBP` - British Pound - /// - `BND` - Brunei Dollar - /// - `BGL` - Bulgarian Hard Lev - /// - `BGN` - Bulgarian Lev - /// - `BGO` - Bulgarian Lev (1879–1952) - /// - `BGM` - Bulgarian Socialist Lev - /// - `BUK` - Burmese Kyat - /// - `BIF` - Burundian Franc - /// - `XPF` - CFP Franc - /// - `KHR` - Cambodian Riel - /// - `CAD` - Canadian Dollar - /// - `CVE` - Cape Verdean Escudo - /// - `KYD` - Cayman Islands Dollar - /// - `XAF` - Central African CFA Franc - /// - `CLE` - Chilean Escudo - /// - `CLP` - Chilean Peso - /// - `CLF` - Chilean Unit of Account (UF) - /// - `CNX` - Chinese People’s Bank Dollar - /// - `CNY` - Chinese Yuan - /// - `CNH` - Chinese Yuan (offshore) - /// - `COP` - Colombian Peso - /// - `COU` - Colombian Real Value Unit - /// - `KMF` - Comorian Franc - /// - `CDF` - Congolese Franc - /// - `CRC` - Costa Rican Colón - /// - `HRD` - Croatian Dinar - /// - `HRK` - Croatian Kuna - /// - `CUC` - Cuban Convertible Peso - /// - `CUP` - Cuban Peso - /// - `CYP` - Cypriot Pound - /// - `CZK` - Czech Koruna - /// - `CSK` - Czechoslovak Hard Koruna - /// - `DKK` - Danish Krone - /// - `DJF` - Djiboutian Franc - /// - `DOP` - Dominican Peso - /// - `NLG` - Dutch Guilder - /// - `XCD` - East Caribbean Dollar - /// - `DDM` - East German Mark - /// - `ECS` - Ecuadorian Sucre - /// - `ECV` - Ecuadorian Unit of Constant Value - /// - `EGP` - Egyptian Pound - /// - `GQE` - Equatorial Guinean Ekwele - /// - `ERN` - Eritrean Nakfa - /// - `EEK` - Estonian Kroon - /// - `ETB` - Ethiopian Birr - /// - `EUR` - Euro - /// - `XBA` - European Composite Unit - /// - `XEU` - European Currency Unit - /// - `XBB` - European Monetary Unit - /// - `XBC` - European Unit of Account (XBC) - /// - `XBD` - European Unit of Account (XBD) - /// - `FKP` - Falkland Islands Pound - /// - `FJD` - Fijian Dollar - /// - `FIM` - Finnish Markka - /// - `FRF` - French Franc - /// - `XFO` - French Gold Franc - /// - `XFU` - French UIC-Franc - /// - `GMD` - Gambian Dalasi - /// - `GEK` - Georgian Kupon Larit - /// - `GEL` - Georgian Lari - /// - `DEM` - German Mark - /// - `GHS` - Ghanaian Cedi - /// - `GHC` - Ghanaian Cedi (1979–2007) - /// - `GIP` - Gibraltar Pound - /// - `XAU` - Gold - /// - `GRD` - Greek Drachma - /// - `GTQ` - Guatemalan Quetzal - /// - `GWP` - Guinea-Bissau Peso - /// - `GNF` - Guinean Franc - /// - `GNS` - Guinean Syli - /// - `GYD` - Guyanaese Dollar - /// - `HTG` - Haitian Gourde - /// - `HNL` - Honduran Lempira - /// - `HKD` - Hong Kong Dollar - /// - `HUF` - Hungarian Forint - /// - `IMP` - IMP - /// - `ISK` - Icelandic Króna - /// - `ISJ` - Icelandic Króna (1918–1981) - /// - `INR` - Indian Rupee - /// - `IDR` - Indonesian Rupiah - /// - `IRR` - Iranian Rial - /// - `IQD` - Iraqi Dinar - /// - `IEP` - Irish Pound - /// - `ILS` - Israeli New Shekel - /// - `ILP` - Israeli Pound - /// - `ILR` - Israeli Shekel (1980–1985) - /// - `ITL` - Italian Lira - /// - `JMD` - Jamaican Dollar - /// - `JPY` - Japanese Yen - /// - `JOD` - Jordanian Dinar - /// - `KZT` - Kazakhstani Tenge - /// - `KES` - Kenyan Shilling - /// - `KWD` - Kuwaiti Dinar - /// - `KGS` - Kyrgystani Som - /// - `LAK` - Laotian Kip - /// - `LVL` - Latvian Lats - /// - `LVR` - Latvian Ruble - /// - `LBP` - Lebanese Pound - /// - `LSL` - Lesotho Loti - /// - `LRD` - Liberian Dollar - /// - `LYD` - Libyan Dinar - /// - `LTL` - Lithuanian Litas - /// - `LTT` - Lithuanian Talonas - /// - `LUL` - Luxembourg Financial Franc - /// - `LUC` - Luxembourgian Convertible Franc - /// - `LUF` - Luxembourgian Franc - /// - `MOP` - Macanese Pataca - /// - `MKD` - Macedonian Denar - /// - `MKN` - Macedonian Denar (1992–1993) - /// - `MGA` - Malagasy Ariary - /// - `MGF` - Malagasy Franc - /// - `MWK` - Malawian Kwacha - /// - `MYR` - Malaysian Ringgit - /// - `MVR` - Maldivian Rufiyaa - /// - `MVP` - Maldivian Rupee (1947–1981) - /// - `MLF` - Malian Franc - /// - `MTL` - Maltese Lira - /// - `MTP` - Maltese Pound - /// - `MRU` - Mauritanian Ouguiya - /// - `MRO` - Mauritanian Ouguiya (1973–2017) - /// - `MUR` - Mauritian Rupee - /// - `MXV` - Mexican Investment Unit - /// - `MXN` - Mexican Peso - /// - `MXP` - Mexican Silver Peso (1861–1992) - /// - `MDC` - Moldovan Cupon - /// - `MDL` - Moldovan Leu - /// - `MCF` - Monegasque Franc - /// - `MNT` - Mongolian Tugrik - /// - `MAD` - Moroccan Dirham - /// - `MAF` - Moroccan Franc - /// - `MZE` - Mozambican Escudo - /// - `MZN` - Mozambican Metical - /// - `MZM` - Mozambican Metical (1980–2006) - /// - `MMK` - Myanmar Kyat - /// - `NAD` - Namibian Dollar - /// - `NPR` - Nepalese Rupee - /// - `ANG` - Netherlands Antillean Guilder - /// - `TWD` - New Taiwan Dollar - /// - `NZD` - New Zealand Dollar - /// - `NIO` - Nicaraguan Córdoba - /// - `NIC` - Nicaraguan Córdoba (1988–1991) - /// - `NGN` - Nigerian Naira - /// - `KPW` - North Korean Won - /// - `NOK` - Norwegian Krone - /// - `OMR` - Omani Rial - /// - `PKR` - Pakistani Rupee - /// - `XPD` - Palladium - /// - `PAB` - Panamanian Balboa - /// - `PGK` - Papua New Guinean Kina - /// - `PYG` - Paraguayan Guarani - /// - `PEI` - Peruvian Inti - /// - `PEN` - Peruvian Sol - /// - `PES` - Peruvian Sol (1863–1965) - /// - `PHP` - Philippine Peso - /// - `XPT` - Platinum - /// - `PLN` - Polish Zloty - /// - `PLZ` - Polish Zloty (1950–1995) - /// - `PTE` - Portuguese Escudo - /// - `GWE` - Portuguese Guinea Escudo - /// - `QAR` - Qatari Rial - /// - `XRE` - RINET Funds - /// - `RHD` - Rhodesian Dollar - /// - `RON` - Romanian Leu - /// - `ROL` - Romanian Leu (1952–2006) - /// - `RUB` - Russian Ruble - /// - `RUR` - Russian Ruble (1991–1998) - /// - `RWF` - Rwandan Franc - /// - `SVC` - Salvadoran Colón - /// - `WST` - Samoan Tala - /// - `SAR` - Saudi Riyal - /// - `RSD` - Serbian Dinar - /// - `CSD` - Serbian Dinar (2002–2006) - /// - `SCR` - Seychellois Rupee - /// - `SLL` - Sierra Leonean Leone - /// - `XAG` - Silver - /// - `SGD` - Singapore Dollar - /// - `SKK` - Slovak Koruna - /// - `SIT` - Slovenian Tolar - /// - `SBD` - Solomon Islands Dollar - /// - `SOS` - Somali Shilling - /// - `ZAR` - South African Rand - /// - `ZAL` - South African Rand (financial) - /// - `KRH` - South Korean Hwan (1953–1962) - /// - `KRW` - South Korean Won - /// - `KRO` - South Korean Won (1945–1953) - /// - `SSP` - South Sudanese Pound - /// - `SUR` - Soviet Rouble - /// - `ESP` - Spanish Peseta - /// - `ESA` - Spanish Peseta (A account) - /// - `ESB` - Spanish Peseta (convertible account) - /// - `XDR` - Special Drawing Rights - /// - `LKR` - Sri Lankan Rupee - /// - `SHP` - St. Helena Pound - /// - `XSU` - Sucre - /// - `SDD` - Sudanese Dinar (1992–2007) - /// - `SDG` - Sudanese Pound - /// - `SDP` - Sudanese Pound (1957–1998) - /// - `SRD` - Surinamese Dollar - /// - `SRG` - Surinamese Guilder - /// - `SZL` - Swazi Lilangeni - /// - `SEK` - Swedish Krona - /// - `CHF` - Swiss Franc - /// - `SYP` - Syrian Pound - /// - `STN` - São Tomé & Príncipe Dobra - /// - `STD` - São Tomé & Príncipe Dobra (1977–2017) - /// - `TVD` - TVD - /// - `TJR` - Tajikistani Ruble - /// - `TJS` - Tajikistani Somoni - /// - `TZS` - Tanzanian Shilling - /// - `XTS` - Testing Currency Code - /// - `THB` - Thai Baht - /// - `XXX` - The codes assigned for transactions where no currency is involved - /// - `TPE` - Timorese Escudo - /// - `TOP` - Tongan Paʻanga - /// - `TTD` - Trinidad & Tobago Dollar - /// - `TND` - Tunisian Dinar - /// - `TRY` - Turkish Lira - /// - `TRL` - Turkish Lira (1922–2005) - /// - `TMT` - Turkmenistani Manat - /// - `TMM` - Turkmenistani Manat (1993–2009) - /// - `USD` - US Dollar - /// - `USN` - US Dollar (Next day) - /// - `USS` - US Dollar (Same day) - /// - `UGX` - Ugandan Shilling - /// - `UGS` - Ugandan Shilling (1966–1987) - /// - `UAH` - Ukrainian Hryvnia - /// - `UAK` - Ukrainian Karbovanets - /// - `AED` - United Arab Emirates Dirham - /// - `UYW` - Uruguayan Nominal Wage Index Unit - /// - `UYU` - Uruguayan Peso - /// - `UYP` - Uruguayan Peso (1975–1993) - /// - `UYI` - Uruguayan Peso (Indexed Units) - /// - `UZS` - Uzbekistani Som - /// - `VUV` - Vanuatu Vatu - /// - `VES` - Venezuelan Bolívar - /// - `VEB` - Venezuelan Bolívar (1871–2008) - /// - `VEF` - Venezuelan Bolívar (2008–2018) - /// - `VND` - Vietnamese Dong - /// - `VNN` - Vietnamese Dong (1978–1985) - /// - `CHE` - WIR Euro - /// - `CHW` - WIR Franc - /// - `XOF` - West African CFA Franc - /// - `YDD` - Yemeni Dinar - /// - `YER` - Yemeni Rial - /// - `YUN` - Yugoslavian Convertible Dinar (1990–1992) - /// - `YUD` - Yugoslavian Hard Dinar (1966–1990) - /// - `YUM` - Yugoslavian New Dinar (1994–2002) - /// - `YUR` - Yugoslavian Reformed Dinar (1992–1993) - /// - `ZWN` - ZWN - /// - `ZRN` - Zairean New Zaire (1993–1998) - /// - `ZRZ` - Zairean Zaire (1971–1993) - /// - `ZMW` - Zambian Kwacha - /// - `ZMK` - Zambian Kwacha (1968–2012) - /// - `ZWD` - Zimbabwean Dollar (1980–2008) - /// - `ZWR` - Zimbabwean Dollar (2008) - /// - `ZWL` - Zimbabwean Dollar (2009) + /// * `XUA` - ADB Unit of Account + /// * `AFN` - Afghan Afghani + /// * `AFA` - Afghan Afghani (1927–2002) + /// * `ALL` - Albanian Lek + /// * `ALK` - Albanian Lek (1946–1965) + /// * `DZD` - Algerian Dinar + /// * `ADP` - Andorran Peseta + /// * `AOA` - Angolan Kwanza + /// * `AOK` - Angolan Kwanza (1977–1991) + /// * `AON` - Angolan New Kwanza (1990–2000) + /// * `AOR` - Angolan Readjusted Kwanza (1995–1999) + /// * `ARA` - Argentine Austral + /// * `ARS` - Argentine Peso + /// * `ARM` - Argentine Peso (1881–1970) + /// * `ARP` - Argentine Peso (1983–1985) + /// * `ARL` - Argentine Peso Ley (1970–1983) + /// * `AMD` - Armenian Dram + /// * `AWG` - Aruban Florin + /// * `AUD` - Australian Dollar + /// * `ATS` - Austrian Schilling + /// * `AZN` - Azerbaijani Manat + /// * `AZM` - Azerbaijani Manat (1993–2006) + /// * `BSD` - Bahamian Dollar + /// * `BHD` - Bahraini Dinar + /// * `BDT` - Bangladeshi Taka + /// * `BBD` - Barbadian Dollar + /// * `BYN` - Belarusian Ruble + /// * `BYB` - Belarusian Ruble (1994–1999) + /// * `BYR` - Belarusian Ruble (2000–2016) + /// * `BEF` - Belgian Franc + /// * `BEC` - Belgian Franc (convertible) + /// * `BEL` - Belgian Franc (financial) + /// * `BZD` - Belize Dollar + /// * `BMD` - Bermudan Dollar + /// * `BTN` - Bhutanese Ngultrum + /// * `BOB` - Bolivian Boliviano + /// * `BOL` - Bolivian Boliviano (1863–1963) + /// * `BOV` - Bolivian Mvdol + /// * `BOP` - Bolivian Peso + /// * `BAM` - Bosnia-Herzegovina Convertible Mark + /// * `BAD` - Bosnia-Herzegovina Dinar (1992–1994) + /// * `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) + /// * `BWP` - Botswanan Pula + /// * `BRC` - Brazilian Cruzado (1986–1989) + /// * `BRZ` - Brazilian Cruzeiro (1942–1967) + /// * `BRE` - Brazilian Cruzeiro (1990–1993) + /// * `BRR` - Brazilian Cruzeiro (1993–1994) + /// * `BRN` - Brazilian New Cruzado (1989–1990) + /// * `BRB` - Brazilian New Cruzeiro (1967–1986) + /// * `BRL` - Brazilian Real + /// * `GBP` - British Pound + /// * `BND` - Brunei Dollar + /// * `BGL` - Bulgarian Hard Lev + /// * `BGN` - Bulgarian Lev + /// * `BGO` - Bulgarian Lev (1879–1952) + /// * `BGM` - Bulgarian Socialist Lev + /// * `BUK` - Burmese Kyat + /// * `BIF` - Burundian Franc + /// * `XPF` - CFP Franc + /// * `KHR` - Cambodian Riel + /// * `CAD` - Canadian Dollar + /// * `CVE` - Cape Verdean Escudo + /// * `KYD` - Cayman Islands Dollar + /// * `XAF` - Central African CFA Franc + /// * `CLE` - Chilean Escudo + /// * `CLP` - Chilean Peso + /// * `CLF` - Chilean Unit of Account (UF) + /// * `CNX` - Chinese People’s Bank Dollar + /// * `CNY` - Chinese Yuan + /// * `CNH` - Chinese Yuan (offshore) + /// * `COP` - Colombian Peso + /// * `COU` - Colombian Real Value Unit + /// * `KMF` - Comorian Franc + /// * `CDF` - Congolese Franc + /// * `CRC` - Costa Rican Colón + /// * `HRD` - Croatian Dinar + /// * `HRK` - Croatian Kuna + /// * `CUC` - Cuban Convertible Peso + /// * `CUP` - Cuban Peso + /// * `CYP` - Cypriot Pound + /// * `CZK` - Czech Koruna + /// * `CSK` - Czechoslovak Hard Koruna + /// * `DKK` - Danish Krone + /// * `DJF` - Djiboutian Franc + /// * `DOP` - Dominican Peso + /// * `NLG` - Dutch Guilder + /// * `XCD` - East Caribbean Dollar + /// * `DDM` - East German Mark + /// * `ECS` - Ecuadorian Sucre + /// * `ECV` - Ecuadorian Unit of Constant Value + /// * `EGP` - Egyptian Pound + /// * `GQE` - Equatorial Guinean Ekwele + /// * `ERN` - Eritrean Nakfa + /// * `EEK` - Estonian Kroon + /// * `ETB` - Ethiopian Birr + /// * `EUR` - Euro + /// * `XBA` - European Composite Unit + /// * `XEU` - European Currency Unit + /// * `XBB` - European Monetary Unit + /// * `XBC` - European Unit of Account (XBC) + /// * `XBD` - European Unit of Account (XBD) + /// * `FKP` - Falkland Islands Pound + /// * `FJD` - Fijian Dollar + /// * `FIM` - Finnish Markka + /// * `FRF` - French Franc + /// * `XFO` - French Gold Franc + /// * `XFU` - French UIC-Franc + /// * `GMD` - Gambian Dalasi + /// * `GEK` - Georgian Kupon Larit + /// * `GEL` - Georgian Lari + /// * `DEM` - German Mark + /// * `GHS` - Ghanaian Cedi + /// * `GHC` - Ghanaian Cedi (1979–2007) + /// * `GIP` - Gibraltar Pound + /// * `XAU` - Gold + /// * `GRD` - Greek Drachma + /// * `GTQ` - Guatemalan Quetzal + /// * `GWP` - Guinea-Bissau Peso + /// * `GNF` - Guinean Franc + /// * `GNS` - Guinean Syli + /// * `GYD` - Guyanaese Dollar + /// * `HTG` - Haitian Gourde + /// * `HNL` - Honduran Lempira + /// * `HKD` - Hong Kong Dollar + /// * `HUF` - Hungarian Forint + /// * `IMP` - IMP + /// * `ISK` - Icelandic Króna + /// * `ISJ` - Icelandic Króna (1918–1981) + /// * `INR` - Indian Rupee + /// * `IDR` - Indonesian Rupiah + /// * `IRR` - Iranian Rial + /// * `IQD` - Iraqi Dinar + /// * `IEP` - Irish Pound + /// * `ILS` - Israeli New Shekel + /// * `ILP` - Israeli Pound + /// * `ILR` - Israeli Shekel (1980–1985) + /// * `ITL` - Italian Lira + /// * `JMD` - Jamaican Dollar + /// * `JPY` - Japanese Yen + /// * `JOD` - Jordanian Dinar + /// * `KZT` - Kazakhstani Tenge + /// * `KES` - Kenyan Shilling + /// * `KWD` - Kuwaiti Dinar + /// * `KGS` - Kyrgystani Som + /// * `LAK` - Laotian Kip + /// * `LVL` - Latvian Lats + /// * `LVR` - Latvian Ruble + /// * `LBP` - Lebanese Pound + /// * `LSL` - Lesotho Loti + /// * `LRD` - Liberian Dollar + /// * `LYD` - Libyan Dinar + /// * `LTL` - Lithuanian Litas + /// * `LTT` - Lithuanian Talonas + /// * `LUL` - Luxembourg Financial Franc + /// * `LUC` - Luxembourgian Convertible Franc + /// * `LUF` - Luxembourgian Franc + /// * `MOP` - Macanese Pataca + /// * `MKD` - Macedonian Denar + /// * `MKN` - Macedonian Denar (1992–1993) + /// * `MGA` - Malagasy Ariary + /// * `MGF` - Malagasy Franc + /// * `MWK` - Malawian Kwacha + /// * `MYR` - Malaysian Ringgit + /// * `MVR` - Maldivian Rufiyaa + /// * `MVP` - Maldivian Rupee (1947–1981) + /// * `MLF` - Malian Franc + /// * `MTL` - Maltese Lira + /// * `MTP` - Maltese Pound + /// * `MRU` - Mauritanian Ouguiya + /// * `MRO` - Mauritanian Ouguiya (1973–2017) + /// * `MUR` - Mauritian Rupee + /// * `MXV` - Mexican Investment Unit + /// * `MXN` - Mexican Peso + /// * `MXP` - Mexican Silver Peso (1861–1992) + /// * `MDC` - Moldovan Cupon + /// * `MDL` - Moldovan Leu + /// * `MCF` - Monegasque Franc + /// * `MNT` - Mongolian Tugrik + /// * `MAD` - Moroccan Dirham + /// * `MAF` - Moroccan Franc + /// * `MZE` - Mozambican Escudo + /// * `MZN` - Mozambican Metical + /// * `MZM` - Mozambican Metical (1980–2006) + /// * `MMK` - Myanmar Kyat + /// * `NAD` - Namibian Dollar + /// * `NPR` - Nepalese Rupee + /// * `ANG` - Netherlands Antillean Guilder + /// * `TWD` - New Taiwan Dollar + /// * `NZD` - New Zealand Dollar + /// * `NIO` - Nicaraguan Córdoba + /// * `NIC` - Nicaraguan Córdoba (1988–1991) + /// * `NGN` - Nigerian Naira + /// * `KPW` - North Korean Won + /// * `NOK` - Norwegian Krone + /// * `OMR` - Omani Rial + /// * `PKR` - Pakistani Rupee + /// * `XPD` - Palladium + /// * `PAB` - Panamanian Balboa + /// * `PGK` - Papua New Guinean Kina + /// * `PYG` - Paraguayan Guarani + /// * `PEI` - Peruvian Inti + /// * `PEN` - Peruvian Sol + /// * `PES` - Peruvian Sol (1863–1965) + /// * `PHP` - Philippine Peso + /// * `XPT` - Platinum + /// * `PLN` - Polish Zloty + /// * `PLZ` - Polish Zloty (1950–1995) + /// * `PTE` - Portuguese Escudo + /// * `GWE` - Portuguese Guinea Escudo + /// * `QAR` - Qatari Rial + /// * `XRE` - RINET Funds + /// * `RHD` - Rhodesian Dollar + /// * `RON` - Romanian Leu + /// * `ROL` - Romanian Leu (1952–2006) + /// * `RUB` - Russian Ruble + /// * `RUR` - Russian Ruble (1991–1998) + /// * `RWF` - Rwandan Franc + /// * `SVC` - Salvadoran Colón + /// * `WST` - Samoan Tala + /// * `SAR` - Saudi Riyal + /// * `RSD` - Serbian Dinar + /// * `CSD` - Serbian Dinar (2002–2006) + /// * `SCR` - Seychellois Rupee + /// * `SLL` - Sierra Leonean Leone + /// * `XAG` - Silver + /// * `SGD` - Singapore Dollar + /// * `SKK` - Slovak Koruna + /// * `SIT` - Slovenian Tolar + /// * `SBD` - Solomon Islands Dollar + /// * `SOS` - Somali Shilling + /// * `ZAR` - South African Rand + /// * `ZAL` - South African Rand (financial) + /// * `KRH` - South Korean Hwan (1953–1962) + /// * `KRW` - South Korean Won + /// * `KRO` - South Korean Won (1945–1953) + /// * `SSP` - South Sudanese Pound + /// * `SUR` - Soviet Rouble + /// * `ESP` - Spanish Peseta + /// * `ESA` - Spanish Peseta (A account) + /// * `ESB` - Spanish Peseta (convertible account) + /// * `XDR` - Special Drawing Rights + /// * `LKR` - Sri Lankan Rupee + /// * `SHP` - St. Helena Pound + /// * `XSU` - Sucre + /// * `SDD` - Sudanese Dinar (1992–2007) + /// * `SDG` - Sudanese Pound + /// * `SDP` - Sudanese Pound (1957–1998) + /// * `SRD` - Surinamese Dollar + /// * `SRG` - Surinamese Guilder + /// * `SZL` - Swazi Lilangeni + /// * `SEK` - Swedish Krona + /// * `CHF` - Swiss Franc + /// * `SYP` - Syrian Pound + /// * `STN` - São Tomé & Príncipe Dobra + /// * `STD` - São Tomé & Príncipe Dobra (1977–2017) + /// * `TVD` - TVD + /// * `TJR` - Tajikistani Ruble + /// * `TJS` - Tajikistani Somoni + /// * `TZS` - Tanzanian Shilling + /// * `XTS` - Testing Currency Code + /// * `THB` - Thai Baht + /// * `XXX` - The codes assigned for transactions where no currency is involved + /// * `TPE` - Timorese Escudo + /// * `TOP` - Tongan Paʻanga + /// * `TTD` - Trinidad & Tobago Dollar + /// * `TND` - Tunisian Dinar + /// * `TRY` - Turkish Lira + /// * `TRL` - Turkish Lira (1922–2005) + /// * `TMT` - Turkmenistani Manat + /// * `TMM` - Turkmenistani Manat (1993–2009) + /// * `USD` - US Dollar + /// * `USN` - US Dollar (Next day) + /// * `USS` - US Dollar (Same day) + /// * `UGX` - Ugandan Shilling + /// * `UGS` - Ugandan Shilling (1966–1987) + /// * `UAH` - Ukrainian Hryvnia + /// * `UAK` - Ukrainian Karbovanets + /// * `AED` - United Arab Emirates Dirham + /// * `UYW` - Uruguayan Nominal Wage Index Unit + /// * `UYU` - Uruguayan Peso + /// * `UYP` - Uruguayan Peso (1975–1993) + /// * `UYI` - Uruguayan Peso (Indexed Units) + /// * `UZS` - Uzbekistani Som + /// * `VUV` - Vanuatu Vatu + /// * `VES` - Venezuelan Bolívar + /// * `VEB` - Venezuelan Bolívar (1871–2008) + /// * `VEF` - Venezuelan Bolívar (2008–2018) + /// * `VND` - Vietnamese Dong + /// * `VNN` - Vietnamese Dong (1978–1985) + /// * `CHE` - WIR Euro + /// * `CHW` - WIR Franc + /// * `XOF` - West African CFA Franc + /// * `YDD` - Yemeni Dinar + /// * `YER` - Yemeni Rial + /// * `YUN` - Yugoslavian Convertible Dinar (1990–1992) + /// * `YUD` - Yugoslavian Hard Dinar (1966–1990) + /// * `YUM` - Yugoslavian New Dinar (1994–2002) + /// * `YUR` - Yugoslavian Reformed Dinar (1992–1993) + /// * `ZWN` - ZWN + /// * `ZRN` - Zairean New Zaire (1993–1998) + /// * `ZRZ` - Zairean Zaire (1971–1993) + /// * `ZMW` - Zambian Kwacha + /// * `ZMK` - Zambian Kwacha (1968–2012) + /// * `ZWD` - Zimbabwean Dollar (1980–2008) + /// * `ZWR` - Zimbabwean Dollar (2008) + /// * `ZWL` - Zimbabwean Dollar (2009) /// [JsonPropertyName("currency")] public TransactionCurrencyEnum? Currency { get; set; } @@ -406,9 +418,21 @@ public record TransactionLineItem /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/ValidationProblemSource.cs b/src/Merge.Client/Accounting/Types/ValidationProblemSource.cs index cecd4757..371c685b 100644 --- a/src/Merge.Client/Accounting/Types/ValidationProblemSource.cs +++ b/src/Merge.Client/Accounting/Types/ValidationProblemSource.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -8,6 +9,17 @@ public record ValidationProblemSource [JsonPropertyName("pointer")] public required string Pointer { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/VendorCredit.cs b/src/Merge.Client/Accounting/Types/VendorCredit.cs index 4ee5c81d..0271bc89 100644 --- a/src/Merge.Client/Accounting/Types/VendorCredit.cs +++ b/src/Merge.Client/Accounting/Types/VendorCredit.cs @@ -1,11 +1,21 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Accounting; +/// +/// # The VendorCredit Object +/// ### Description +/// A `VendorCredit` is transaction issued by a vendor to the accounting company, indicating a reduction or cancellation of the amount owed to the vendor. It is most generally used as an adjustment note used to rectify errors, returns, or overpayments related to a purchasing transaction. A `VendorCredit` can be applied to `Accounts Payable` Invoices to decrease the overall amount of the `Invoice`. +/// +/// ### Usage Example +/// Fetch from the `GET VendorCredit` endpoint and view a company's vendor credits. +/// public record VendorCredit { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -18,12 +28,14 @@ public record VendorCredit /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -54,312 +66,312 @@ public record VendorCredit /// /// The vendor credit's currency. /// - /// - `XUA` - ADB Unit of Account - /// - `AFN` - Afghan Afghani - /// - `AFA` - Afghan Afghani (1927–2002) - /// - `ALL` - Albanian Lek - /// - `ALK` - Albanian Lek (1946–1965) - /// - `DZD` - Algerian Dinar - /// - `ADP` - Andorran Peseta - /// - `AOA` - Angolan Kwanza - /// - `AOK` - Angolan Kwanza (1977–1991) - /// - `AON` - Angolan New Kwanza (1990–2000) - /// - `AOR` - Angolan Readjusted Kwanza (1995–1999) - /// - `ARA` - Argentine Austral - /// - `ARS` - Argentine Peso - /// - `ARM` - Argentine Peso (1881–1970) - /// - `ARP` - Argentine Peso (1983–1985) - /// - `ARL` - Argentine Peso Ley (1970–1983) - /// - `AMD` - Armenian Dram - /// - `AWG` - Aruban Florin - /// - `AUD` - Australian Dollar - /// - `ATS` - Austrian Schilling - /// - `AZN` - Azerbaijani Manat - /// - `AZM` - Azerbaijani Manat (1993–2006) - /// - `BSD` - Bahamian Dollar - /// - `BHD` - Bahraini Dinar - /// - `BDT` - Bangladeshi Taka - /// - `BBD` - Barbadian Dollar - /// - `BYN` - Belarusian Ruble - /// - `BYB` - Belarusian Ruble (1994–1999) - /// - `BYR` - Belarusian Ruble (2000–2016) - /// - `BEF` - Belgian Franc - /// - `BEC` - Belgian Franc (convertible) - /// - `BEL` - Belgian Franc (financial) - /// - `BZD` - Belize Dollar - /// - `BMD` - Bermudan Dollar - /// - `BTN` - Bhutanese Ngultrum - /// - `BOB` - Bolivian Boliviano - /// - `BOL` - Bolivian Boliviano (1863–1963) - /// - `BOV` - Bolivian Mvdol - /// - `BOP` - Bolivian Peso - /// - `BAM` - Bosnia-Herzegovina Convertible Mark - /// - `BAD` - Bosnia-Herzegovina Dinar (1992–1994) - /// - `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) - /// - `BWP` - Botswanan Pula - /// - `BRC` - Brazilian Cruzado (1986–1989) - /// - `BRZ` - Brazilian Cruzeiro (1942–1967) - /// - `BRE` - Brazilian Cruzeiro (1990–1993) - /// - `BRR` - Brazilian Cruzeiro (1993–1994) - /// - `BRN` - Brazilian New Cruzado (1989–1990) - /// - `BRB` - Brazilian New Cruzeiro (1967–1986) - /// - `BRL` - Brazilian Real - /// - `GBP` - British Pound - /// - `BND` - Brunei Dollar - /// - `BGL` - Bulgarian Hard Lev - /// - `BGN` - Bulgarian Lev - /// - `BGO` - Bulgarian Lev (1879–1952) - /// - `BGM` - Bulgarian Socialist Lev - /// - `BUK` - Burmese Kyat - /// - `BIF` - Burundian Franc - /// - `XPF` - CFP Franc - /// - `KHR` - Cambodian Riel - /// - `CAD` - Canadian Dollar - /// - `CVE` - Cape Verdean Escudo - /// - `KYD` - Cayman Islands Dollar - /// - `XAF` - Central African CFA Franc - /// - `CLE` - Chilean Escudo - /// - `CLP` - Chilean Peso - /// - `CLF` - Chilean Unit of Account (UF) - /// - `CNX` - Chinese People’s Bank Dollar - /// - `CNY` - Chinese Yuan - /// - `CNH` - Chinese Yuan (offshore) - /// - `COP` - Colombian Peso - /// - `COU` - Colombian Real Value Unit - /// - `KMF` - Comorian Franc - /// - `CDF` - Congolese Franc - /// - `CRC` - Costa Rican Colón - /// - `HRD` - Croatian Dinar - /// - `HRK` - Croatian Kuna - /// - `CUC` - Cuban Convertible Peso - /// - `CUP` - Cuban Peso - /// - `CYP` - Cypriot Pound - /// - `CZK` - Czech Koruna - /// - `CSK` - Czechoslovak Hard Koruna - /// - `DKK` - Danish Krone - /// - `DJF` - Djiboutian Franc - /// - `DOP` - Dominican Peso - /// - `NLG` - Dutch Guilder - /// - `XCD` - East Caribbean Dollar - /// - `DDM` - East German Mark - /// - `ECS` - Ecuadorian Sucre - /// - `ECV` - Ecuadorian Unit of Constant Value - /// - `EGP` - Egyptian Pound - /// - `GQE` - Equatorial Guinean Ekwele - /// - `ERN` - Eritrean Nakfa - /// - `EEK` - Estonian Kroon - /// - `ETB` - Ethiopian Birr - /// - `EUR` - Euro - /// - `XBA` - European Composite Unit - /// - `XEU` - European Currency Unit - /// - `XBB` - European Monetary Unit - /// - `XBC` - European Unit of Account (XBC) - /// - `XBD` - European Unit of Account (XBD) - /// - `FKP` - Falkland Islands Pound - /// - `FJD` - Fijian Dollar - /// - `FIM` - Finnish Markka - /// - `FRF` - French Franc - /// - `XFO` - French Gold Franc - /// - `XFU` - French UIC-Franc - /// - `GMD` - Gambian Dalasi - /// - `GEK` - Georgian Kupon Larit - /// - `GEL` - Georgian Lari - /// - `DEM` - German Mark - /// - `GHS` - Ghanaian Cedi - /// - `GHC` - Ghanaian Cedi (1979–2007) - /// - `GIP` - Gibraltar Pound - /// - `XAU` - Gold - /// - `GRD` - Greek Drachma - /// - `GTQ` - Guatemalan Quetzal - /// - `GWP` - Guinea-Bissau Peso - /// - `GNF` - Guinean Franc - /// - `GNS` - Guinean Syli - /// - `GYD` - Guyanaese Dollar - /// - `HTG` - Haitian Gourde - /// - `HNL` - Honduran Lempira - /// - `HKD` - Hong Kong Dollar - /// - `HUF` - Hungarian Forint - /// - `IMP` - IMP - /// - `ISK` - Icelandic Króna - /// - `ISJ` - Icelandic Króna (1918–1981) - /// - `INR` - Indian Rupee - /// - `IDR` - Indonesian Rupiah - /// - `IRR` - Iranian Rial - /// - `IQD` - Iraqi Dinar - /// - `IEP` - Irish Pound - /// - `ILS` - Israeli New Shekel - /// - `ILP` - Israeli Pound - /// - `ILR` - Israeli Shekel (1980–1985) - /// - `ITL` - Italian Lira - /// - `JMD` - Jamaican Dollar - /// - `JPY` - Japanese Yen - /// - `JOD` - Jordanian Dinar - /// - `KZT` - Kazakhstani Tenge - /// - `KES` - Kenyan Shilling - /// - `KWD` - Kuwaiti Dinar - /// - `KGS` - Kyrgystani Som - /// - `LAK` - Laotian Kip - /// - `LVL` - Latvian Lats - /// - `LVR` - Latvian Ruble - /// - `LBP` - Lebanese Pound - /// - `LSL` - Lesotho Loti - /// - `LRD` - Liberian Dollar - /// - `LYD` - Libyan Dinar - /// - `LTL` - Lithuanian Litas - /// - `LTT` - Lithuanian Talonas - /// - `LUL` - Luxembourg Financial Franc - /// - `LUC` - Luxembourgian Convertible Franc - /// - `LUF` - Luxembourgian Franc - /// - `MOP` - Macanese Pataca - /// - `MKD` - Macedonian Denar - /// - `MKN` - Macedonian Denar (1992–1993) - /// - `MGA` - Malagasy Ariary - /// - `MGF` - Malagasy Franc - /// - `MWK` - Malawian Kwacha - /// - `MYR` - Malaysian Ringgit - /// - `MVR` - Maldivian Rufiyaa - /// - `MVP` - Maldivian Rupee (1947–1981) - /// - `MLF` - Malian Franc - /// - `MTL` - Maltese Lira - /// - `MTP` - Maltese Pound - /// - `MRU` - Mauritanian Ouguiya - /// - `MRO` - Mauritanian Ouguiya (1973–2017) - /// - `MUR` - Mauritian Rupee - /// - `MXV` - Mexican Investment Unit - /// - `MXN` - Mexican Peso - /// - `MXP` - Mexican Silver Peso (1861–1992) - /// - `MDC` - Moldovan Cupon - /// - `MDL` - Moldovan Leu - /// - `MCF` - Monegasque Franc - /// - `MNT` - Mongolian Tugrik - /// - `MAD` - Moroccan Dirham - /// - `MAF` - Moroccan Franc - /// - `MZE` - Mozambican Escudo - /// - `MZN` - Mozambican Metical - /// - `MZM` - Mozambican Metical (1980–2006) - /// - `MMK` - Myanmar Kyat - /// - `NAD` - Namibian Dollar - /// - `NPR` - Nepalese Rupee - /// - `ANG` - Netherlands Antillean Guilder - /// - `TWD` - New Taiwan Dollar - /// - `NZD` - New Zealand Dollar - /// - `NIO` - Nicaraguan Córdoba - /// - `NIC` - Nicaraguan Córdoba (1988–1991) - /// - `NGN` - Nigerian Naira - /// - `KPW` - North Korean Won - /// - `NOK` - Norwegian Krone - /// - `OMR` - Omani Rial - /// - `PKR` - Pakistani Rupee - /// - `XPD` - Palladium - /// - `PAB` - Panamanian Balboa - /// - `PGK` - Papua New Guinean Kina - /// - `PYG` - Paraguayan Guarani - /// - `PEI` - Peruvian Inti - /// - `PEN` - Peruvian Sol - /// - `PES` - Peruvian Sol (1863–1965) - /// - `PHP` - Philippine Peso - /// - `XPT` - Platinum - /// - `PLN` - Polish Zloty - /// - `PLZ` - Polish Zloty (1950–1995) - /// - `PTE` - Portuguese Escudo - /// - `GWE` - Portuguese Guinea Escudo - /// - `QAR` - Qatari Rial - /// - `XRE` - RINET Funds - /// - `RHD` - Rhodesian Dollar - /// - `RON` - Romanian Leu - /// - `ROL` - Romanian Leu (1952–2006) - /// - `RUB` - Russian Ruble - /// - `RUR` - Russian Ruble (1991–1998) - /// - `RWF` - Rwandan Franc - /// - `SVC` - Salvadoran Colón - /// - `WST` - Samoan Tala - /// - `SAR` - Saudi Riyal - /// - `RSD` - Serbian Dinar - /// - `CSD` - Serbian Dinar (2002–2006) - /// - `SCR` - Seychellois Rupee - /// - `SLL` - Sierra Leonean Leone - /// - `XAG` - Silver - /// - `SGD` - Singapore Dollar - /// - `SKK` - Slovak Koruna - /// - `SIT` - Slovenian Tolar - /// - `SBD` - Solomon Islands Dollar - /// - `SOS` - Somali Shilling - /// - `ZAR` - South African Rand - /// - `ZAL` - South African Rand (financial) - /// - `KRH` - South Korean Hwan (1953–1962) - /// - `KRW` - South Korean Won - /// - `KRO` - South Korean Won (1945–1953) - /// - `SSP` - South Sudanese Pound - /// - `SUR` - Soviet Rouble - /// - `ESP` - Spanish Peseta - /// - `ESA` - Spanish Peseta (A account) - /// - `ESB` - Spanish Peseta (convertible account) - /// - `XDR` - Special Drawing Rights - /// - `LKR` - Sri Lankan Rupee - /// - `SHP` - St. Helena Pound - /// - `XSU` - Sucre - /// - `SDD` - Sudanese Dinar (1992–2007) - /// - `SDG` - Sudanese Pound - /// - `SDP` - Sudanese Pound (1957–1998) - /// - `SRD` - Surinamese Dollar - /// - `SRG` - Surinamese Guilder - /// - `SZL` - Swazi Lilangeni - /// - `SEK` - Swedish Krona - /// - `CHF` - Swiss Franc - /// - `SYP` - Syrian Pound - /// - `STN` - São Tomé & Príncipe Dobra - /// - `STD` - São Tomé & Príncipe Dobra (1977–2017) - /// - `TVD` - TVD - /// - `TJR` - Tajikistani Ruble - /// - `TJS` - Tajikistani Somoni - /// - `TZS` - Tanzanian Shilling - /// - `XTS` - Testing Currency Code - /// - `THB` - Thai Baht - /// - `XXX` - The codes assigned for transactions where no currency is involved - /// - `TPE` - Timorese Escudo - /// - `TOP` - Tongan Paʻanga - /// - `TTD` - Trinidad & Tobago Dollar - /// - `TND` - Tunisian Dinar - /// - `TRY` - Turkish Lira - /// - `TRL` - Turkish Lira (1922–2005) - /// - `TMT` - Turkmenistani Manat - /// - `TMM` - Turkmenistani Manat (1993–2009) - /// - `USD` - US Dollar - /// - `USN` - US Dollar (Next day) - /// - `USS` - US Dollar (Same day) - /// - `UGX` - Ugandan Shilling - /// - `UGS` - Ugandan Shilling (1966–1987) - /// - `UAH` - Ukrainian Hryvnia - /// - `UAK` - Ukrainian Karbovanets - /// - `AED` - United Arab Emirates Dirham - /// - `UYW` - Uruguayan Nominal Wage Index Unit - /// - `UYU` - Uruguayan Peso - /// - `UYP` - Uruguayan Peso (1975–1993) - /// - `UYI` - Uruguayan Peso (Indexed Units) - /// - `UZS` - Uzbekistani Som - /// - `VUV` - Vanuatu Vatu - /// - `VES` - Venezuelan Bolívar - /// - `VEB` - Venezuelan Bolívar (1871–2008) - /// - `VEF` - Venezuelan Bolívar (2008–2018) - /// - `VND` - Vietnamese Dong - /// - `VNN` - Vietnamese Dong (1978–1985) - /// - `CHE` - WIR Euro - /// - `CHW` - WIR Franc - /// - `XOF` - West African CFA Franc - /// - `YDD` - Yemeni Dinar - /// - `YER` - Yemeni Rial - /// - `YUN` - Yugoslavian Convertible Dinar (1990–1992) - /// - `YUD` - Yugoslavian Hard Dinar (1966–1990) - /// - `YUM` - Yugoslavian New Dinar (1994–2002) - /// - `YUR` - Yugoslavian Reformed Dinar (1992–1993) - /// - `ZWN` - ZWN - /// - `ZRN` - Zairean New Zaire (1993–1998) - /// - `ZRZ` - Zairean Zaire (1971–1993) - /// - `ZMW` - Zambian Kwacha - /// - `ZMK` - Zambian Kwacha (1968–2012) - /// - `ZWD` - Zimbabwean Dollar (1980–2008) - /// - `ZWR` - Zimbabwean Dollar (2008) - /// - `ZWL` - Zimbabwean Dollar (2009) + /// * `XUA` - ADB Unit of Account + /// * `AFN` - Afghan Afghani + /// * `AFA` - Afghan Afghani (1927–2002) + /// * `ALL` - Albanian Lek + /// * `ALK` - Albanian Lek (1946–1965) + /// * `DZD` - Algerian Dinar + /// * `ADP` - Andorran Peseta + /// * `AOA` - Angolan Kwanza + /// * `AOK` - Angolan Kwanza (1977–1991) + /// * `AON` - Angolan New Kwanza (1990–2000) + /// * `AOR` - Angolan Readjusted Kwanza (1995–1999) + /// * `ARA` - Argentine Austral + /// * `ARS` - Argentine Peso + /// * `ARM` - Argentine Peso (1881–1970) + /// * `ARP` - Argentine Peso (1983–1985) + /// * `ARL` - Argentine Peso Ley (1970–1983) + /// * `AMD` - Armenian Dram + /// * `AWG` - Aruban Florin + /// * `AUD` - Australian Dollar + /// * `ATS` - Austrian Schilling + /// * `AZN` - Azerbaijani Manat + /// * `AZM` - Azerbaijani Manat (1993–2006) + /// * `BSD` - Bahamian Dollar + /// * `BHD` - Bahraini Dinar + /// * `BDT` - Bangladeshi Taka + /// * `BBD` - Barbadian Dollar + /// * `BYN` - Belarusian Ruble + /// * `BYB` - Belarusian Ruble (1994–1999) + /// * `BYR` - Belarusian Ruble (2000–2016) + /// * `BEF` - Belgian Franc + /// * `BEC` - Belgian Franc (convertible) + /// * `BEL` - Belgian Franc (financial) + /// * `BZD` - Belize Dollar + /// * `BMD` - Bermudan Dollar + /// * `BTN` - Bhutanese Ngultrum + /// * `BOB` - Bolivian Boliviano + /// * `BOL` - Bolivian Boliviano (1863–1963) + /// * `BOV` - Bolivian Mvdol + /// * `BOP` - Bolivian Peso + /// * `BAM` - Bosnia-Herzegovina Convertible Mark + /// * `BAD` - Bosnia-Herzegovina Dinar (1992–1994) + /// * `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) + /// * `BWP` - Botswanan Pula + /// * `BRC` - Brazilian Cruzado (1986–1989) + /// * `BRZ` - Brazilian Cruzeiro (1942–1967) + /// * `BRE` - Brazilian Cruzeiro (1990–1993) + /// * `BRR` - Brazilian Cruzeiro (1993–1994) + /// * `BRN` - Brazilian New Cruzado (1989–1990) + /// * `BRB` - Brazilian New Cruzeiro (1967–1986) + /// * `BRL` - Brazilian Real + /// * `GBP` - British Pound + /// * `BND` - Brunei Dollar + /// * `BGL` - Bulgarian Hard Lev + /// * `BGN` - Bulgarian Lev + /// * `BGO` - Bulgarian Lev (1879–1952) + /// * `BGM` - Bulgarian Socialist Lev + /// * `BUK` - Burmese Kyat + /// * `BIF` - Burundian Franc + /// * `XPF` - CFP Franc + /// * `KHR` - Cambodian Riel + /// * `CAD` - Canadian Dollar + /// * `CVE` - Cape Verdean Escudo + /// * `KYD` - Cayman Islands Dollar + /// * `XAF` - Central African CFA Franc + /// * `CLE` - Chilean Escudo + /// * `CLP` - Chilean Peso + /// * `CLF` - Chilean Unit of Account (UF) + /// * `CNX` - Chinese People’s Bank Dollar + /// * `CNY` - Chinese Yuan + /// * `CNH` - Chinese Yuan (offshore) + /// * `COP` - Colombian Peso + /// * `COU` - Colombian Real Value Unit + /// * `KMF` - Comorian Franc + /// * `CDF` - Congolese Franc + /// * `CRC` - Costa Rican Colón + /// * `HRD` - Croatian Dinar + /// * `HRK` - Croatian Kuna + /// * `CUC` - Cuban Convertible Peso + /// * `CUP` - Cuban Peso + /// * `CYP` - Cypriot Pound + /// * `CZK` - Czech Koruna + /// * `CSK` - Czechoslovak Hard Koruna + /// * `DKK` - Danish Krone + /// * `DJF` - Djiboutian Franc + /// * `DOP` - Dominican Peso + /// * `NLG` - Dutch Guilder + /// * `XCD` - East Caribbean Dollar + /// * `DDM` - East German Mark + /// * `ECS` - Ecuadorian Sucre + /// * `ECV` - Ecuadorian Unit of Constant Value + /// * `EGP` - Egyptian Pound + /// * `GQE` - Equatorial Guinean Ekwele + /// * `ERN` - Eritrean Nakfa + /// * `EEK` - Estonian Kroon + /// * `ETB` - Ethiopian Birr + /// * `EUR` - Euro + /// * `XBA` - European Composite Unit + /// * `XEU` - European Currency Unit + /// * `XBB` - European Monetary Unit + /// * `XBC` - European Unit of Account (XBC) + /// * `XBD` - European Unit of Account (XBD) + /// * `FKP` - Falkland Islands Pound + /// * `FJD` - Fijian Dollar + /// * `FIM` - Finnish Markka + /// * `FRF` - French Franc + /// * `XFO` - French Gold Franc + /// * `XFU` - French UIC-Franc + /// * `GMD` - Gambian Dalasi + /// * `GEK` - Georgian Kupon Larit + /// * `GEL` - Georgian Lari + /// * `DEM` - German Mark + /// * `GHS` - Ghanaian Cedi + /// * `GHC` - Ghanaian Cedi (1979–2007) + /// * `GIP` - Gibraltar Pound + /// * `XAU` - Gold + /// * `GRD` - Greek Drachma + /// * `GTQ` - Guatemalan Quetzal + /// * `GWP` - Guinea-Bissau Peso + /// * `GNF` - Guinean Franc + /// * `GNS` - Guinean Syli + /// * `GYD` - Guyanaese Dollar + /// * `HTG` - Haitian Gourde + /// * `HNL` - Honduran Lempira + /// * `HKD` - Hong Kong Dollar + /// * `HUF` - Hungarian Forint + /// * `IMP` - IMP + /// * `ISK` - Icelandic Króna + /// * `ISJ` - Icelandic Króna (1918–1981) + /// * `INR` - Indian Rupee + /// * `IDR` - Indonesian Rupiah + /// * `IRR` - Iranian Rial + /// * `IQD` - Iraqi Dinar + /// * `IEP` - Irish Pound + /// * `ILS` - Israeli New Shekel + /// * `ILP` - Israeli Pound + /// * `ILR` - Israeli Shekel (1980–1985) + /// * `ITL` - Italian Lira + /// * `JMD` - Jamaican Dollar + /// * `JPY` - Japanese Yen + /// * `JOD` - Jordanian Dinar + /// * `KZT` - Kazakhstani Tenge + /// * `KES` - Kenyan Shilling + /// * `KWD` - Kuwaiti Dinar + /// * `KGS` - Kyrgystani Som + /// * `LAK` - Laotian Kip + /// * `LVL` - Latvian Lats + /// * `LVR` - Latvian Ruble + /// * `LBP` - Lebanese Pound + /// * `LSL` - Lesotho Loti + /// * `LRD` - Liberian Dollar + /// * `LYD` - Libyan Dinar + /// * `LTL` - Lithuanian Litas + /// * `LTT` - Lithuanian Talonas + /// * `LUL` - Luxembourg Financial Franc + /// * `LUC` - Luxembourgian Convertible Franc + /// * `LUF` - Luxembourgian Franc + /// * `MOP` - Macanese Pataca + /// * `MKD` - Macedonian Denar + /// * `MKN` - Macedonian Denar (1992–1993) + /// * `MGA` - Malagasy Ariary + /// * `MGF` - Malagasy Franc + /// * `MWK` - Malawian Kwacha + /// * `MYR` - Malaysian Ringgit + /// * `MVR` - Maldivian Rufiyaa + /// * `MVP` - Maldivian Rupee (1947–1981) + /// * `MLF` - Malian Franc + /// * `MTL` - Maltese Lira + /// * `MTP` - Maltese Pound + /// * `MRU` - Mauritanian Ouguiya + /// * `MRO` - Mauritanian Ouguiya (1973–2017) + /// * `MUR` - Mauritian Rupee + /// * `MXV` - Mexican Investment Unit + /// * `MXN` - Mexican Peso + /// * `MXP` - Mexican Silver Peso (1861–1992) + /// * `MDC` - Moldovan Cupon + /// * `MDL` - Moldovan Leu + /// * `MCF` - Monegasque Franc + /// * `MNT` - Mongolian Tugrik + /// * `MAD` - Moroccan Dirham + /// * `MAF` - Moroccan Franc + /// * `MZE` - Mozambican Escudo + /// * `MZN` - Mozambican Metical + /// * `MZM` - Mozambican Metical (1980–2006) + /// * `MMK` - Myanmar Kyat + /// * `NAD` - Namibian Dollar + /// * `NPR` - Nepalese Rupee + /// * `ANG` - Netherlands Antillean Guilder + /// * `TWD` - New Taiwan Dollar + /// * `NZD` - New Zealand Dollar + /// * `NIO` - Nicaraguan Córdoba + /// * `NIC` - Nicaraguan Córdoba (1988–1991) + /// * `NGN` - Nigerian Naira + /// * `KPW` - North Korean Won + /// * `NOK` - Norwegian Krone + /// * `OMR` - Omani Rial + /// * `PKR` - Pakistani Rupee + /// * `XPD` - Palladium + /// * `PAB` - Panamanian Balboa + /// * `PGK` - Papua New Guinean Kina + /// * `PYG` - Paraguayan Guarani + /// * `PEI` - Peruvian Inti + /// * `PEN` - Peruvian Sol + /// * `PES` - Peruvian Sol (1863–1965) + /// * `PHP` - Philippine Peso + /// * `XPT` - Platinum + /// * `PLN` - Polish Zloty + /// * `PLZ` - Polish Zloty (1950–1995) + /// * `PTE` - Portuguese Escudo + /// * `GWE` - Portuguese Guinea Escudo + /// * `QAR` - Qatari Rial + /// * `XRE` - RINET Funds + /// * `RHD` - Rhodesian Dollar + /// * `RON` - Romanian Leu + /// * `ROL` - Romanian Leu (1952–2006) + /// * `RUB` - Russian Ruble + /// * `RUR` - Russian Ruble (1991–1998) + /// * `RWF` - Rwandan Franc + /// * `SVC` - Salvadoran Colón + /// * `WST` - Samoan Tala + /// * `SAR` - Saudi Riyal + /// * `RSD` - Serbian Dinar + /// * `CSD` - Serbian Dinar (2002–2006) + /// * `SCR` - Seychellois Rupee + /// * `SLL` - Sierra Leonean Leone + /// * `XAG` - Silver + /// * `SGD` - Singapore Dollar + /// * `SKK` - Slovak Koruna + /// * `SIT` - Slovenian Tolar + /// * `SBD` - Solomon Islands Dollar + /// * `SOS` - Somali Shilling + /// * `ZAR` - South African Rand + /// * `ZAL` - South African Rand (financial) + /// * `KRH` - South Korean Hwan (1953–1962) + /// * `KRW` - South Korean Won + /// * `KRO` - South Korean Won (1945–1953) + /// * `SSP` - South Sudanese Pound + /// * `SUR` - Soviet Rouble + /// * `ESP` - Spanish Peseta + /// * `ESA` - Spanish Peseta (A account) + /// * `ESB` - Spanish Peseta (convertible account) + /// * `XDR` - Special Drawing Rights + /// * `LKR` - Sri Lankan Rupee + /// * `SHP` - St. Helena Pound + /// * `XSU` - Sucre + /// * `SDD` - Sudanese Dinar (1992–2007) + /// * `SDG` - Sudanese Pound + /// * `SDP` - Sudanese Pound (1957–1998) + /// * `SRD` - Surinamese Dollar + /// * `SRG` - Surinamese Guilder + /// * `SZL` - Swazi Lilangeni + /// * `SEK` - Swedish Krona + /// * `CHF` - Swiss Franc + /// * `SYP` - Syrian Pound + /// * `STN` - São Tomé & Príncipe Dobra + /// * `STD` - São Tomé & Príncipe Dobra (1977–2017) + /// * `TVD` - TVD + /// * `TJR` - Tajikistani Ruble + /// * `TJS` - Tajikistani Somoni + /// * `TZS` - Tanzanian Shilling + /// * `XTS` - Testing Currency Code + /// * `THB` - Thai Baht + /// * `XXX` - The codes assigned for transactions where no currency is involved + /// * `TPE` - Timorese Escudo + /// * `TOP` - Tongan Paʻanga + /// * `TTD` - Trinidad & Tobago Dollar + /// * `TND` - Tunisian Dinar + /// * `TRY` - Turkish Lira + /// * `TRL` - Turkish Lira (1922–2005) + /// * `TMT` - Turkmenistani Manat + /// * `TMM` - Turkmenistani Manat (1993–2009) + /// * `USD` - US Dollar + /// * `USN` - US Dollar (Next day) + /// * `USS` - US Dollar (Same day) + /// * `UGX` - Ugandan Shilling + /// * `UGS` - Ugandan Shilling (1966–1987) + /// * `UAH` - Ukrainian Hryvnia + /// * `UAK` - Ukrainian Karbovanets + /// * `AED` - United Arab Emirates Dirham + /// * `UYW` - Uruguayan Nominal Wage Index Unit + /// * `UYU` - Uruguayan Peso + /// * `UYP` - Uruguayan Peso (1975–1993) + /// * `UYI` - Uruguayan Peso (Indexed Units) + /// * `UZS` - Uzbekistani Som + /// * `VUV` - Vanuatu Vatu + /// * `VES` - Venezuelan Bolívar + /// * `VEB` - Venezuelan Bolívar (1871–2008) + /// * `VEF` - Venezuelan Bolívar (2008–2018) + /// * `VND` - Vietnamese Dong + /// * `VNN` - Vietnamese Dong (1978–1985) + /// * `CHE` - WIR Euro + /// * `CHW` - WIR Franc + /// * `XOF` - West African CFA Franc + /// * `YDD` - Yemeni Dinar + /// * `YER` - Yemeni Rial + /// * `YUN` - Yugoslavian Convertible Dinar (1990–1992) + /// * `YUD` - Yugoslavian Hard Dinar (1966–1990) + /// * `YUM` - Yugoslavian New Dinar (1994–2002) + /// * `YUR` - Yugoslavian Reformed Dinar (1992–1993) + /// * `ZWN` - ZWN + /// * `ZRN` - Zairean New Zaire (1993–1998) + /// * `ZRZ` - Zairean Zaire (1971–1993) + /// * `ZMW` - Zambian Kwacha + /// * `ZMK` - Zambian Kwacha (1968–2012) + /// * `ZWD` - Zimbabwean Dollar (1980–2008) + /// * `ZWR` - Zimbabwean Dollar (2008) + /// * `ZWL` - Zimbabwean Dollar (2009) /// [JsonPropertyName("currency")] public TransactionCurrencyEnum? Currency { get; set; } @@ -382,6 +394,7 @@ public record VendorCredit [JsonPropertyName("company")] public OneOf? Company { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("lines")] public IEnumerable? Lines { get; set; } @@ -397,6 +410,7 @@ public record VendorCredit /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } @@ -406,12 +420,25 @@ public record VendorCredit [JsonPropertyName("accounting_period")] public OneOf? AccountingPeriod { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/VendorCreditApplyLineForInvoice.cs b/src/Merge.Client/Accounting/Types/VendorCreditApplyLineForInvoice.cs index a609c55a..296953f1 100644 --- a/src/Merge.Client/Accounting/Types/VendorCreditApplyLineForInvoice.cs +++ b/src/Merge.Client/Accounting/Types/VendorCreditApplyLineForInvoice.cs @@ -1,9 +1,18 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Accounting; +/// +/// # The VendorCreditApplyLine Object +/// ### Description +/// The `VendorCreditApplyLine` object is used to represent a applied vendor credit. +/// +/// ### Usage Example +/// Fetch from the `GET VendorCredit` endpoint and view the vendor credit's applied to lines. +/// public record VendorCreditApplyLineForInvoice { /// @@ -15,12 +24,14 @@ public record VendorCreditApplyLineForInvoice /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -42,9 +53,21 @@ public record VendorCreditApplyLineForInvoice /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/VendorCreditApplyLineForVendorCredit.cs b/src/Merge.Client/Accounting/Types/VendorCreditApplyLineForVendorCredit.cs index 0d410f71..d9d862f7 100644 --- a/src/Merge.Client/Accounting/Types/VendorCreditApplyLineForVendorCredit.cs +++ b/src/Merge.Client/Accounting/Types/VendorCreditApplyLineForVendorCredit.cs @@ -1,9 +1,18 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Accounting; +/// +/// # The VendorCreditApplyLine Object +/// ### Description +/// The `VendorCreditApplyLine` object is used to represent a applied vendor credit. +/// +/// ### Usage Example +/// Fetch from the `GET VendorCredit` endpoint and view the vendor credit's applied to lines. +/// public record VendorCreditApplyLineForVendorCredit { /// @@ -15,12 +24,14 @@ public record VendorCreditApplyLineForVendorCredit /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -42,9 +53,21 @@ public record VendorCreditApplyLineForVendorCredit /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/VendorCreditApplyLineForVendorCreditRequest.cs b/src/Merge.Client/Accounting/Types/VendorCreditApplyLineForVendorCreditRequest.cs index 60474828..5fc4ad30 100644 --- a/src/Merge.Client/Accounting/Types/VendorCreditApplyLineForVendorCreditRequest.cs +++ b/src/Merge.Client/Accounting/Types/VendorCreditApplyLineForVendorCreditRequest.cs @@ -1,9 +1,18 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Accounting; +/// +/// # The VendorCreditApplyLine Object +/// ### Description +/// The `VendorCreditApplyLine` object is used to represent a applied vendor credit. +/// +/// ### Usage Example +/// Fetch from the `GET VendorCredit` endpoint and view the vendor credit's applied to lines. +/// public record VendorCreditApplyLineForVendorCreditRequest { /// @@ -27,12 +36,25 @@ public record VendorCreditApplyLineForVendorCreditRequest [JsonPropertyName("applied_amount")] public string? AppliedAmount { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("integration_params")] public Dictionary? IntegrationParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("linked_account_params")] public Dictionary? LinkedAccountParams { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/VendorCreditLine.cs b/src/Merge.Client/Accounting/Types/VendorCreditLine.cs index 850b3a81..6c72f2a2 100644 --- a/src/Merge.Client/Accounting/Types/VendorCreditLine.cs +++ b/src/Merge.Client/Accounting/Types/VendorCreditLine.cs @@ -1,11 +1,21 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Accounting; +/// +/// # The VendorCreditLine Object +/// ### Description +/// The `VendorCreditLine` object is used to represent a vendor credit's line items. +/// +/// ### Usage Example +/// Fetch from the `GET VendorCredit` endpoint and view the vendor credit's line items. +/// public record VendorCreditLine { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -18,12 +28,14 @@ public record VendorCreditLine /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -78,9 +90,21 @@ public record VendorCreditLine /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/VendorCreditLineRequest.cs b/src/Merge.Client/Accounting/Types/VendorCreditLineRequest.cs index 50783f69..c29dbaa5 100644 --- a/src/Merge.Client/Accounting/Types/VendorCreditLineRequest.cs +++ b/src/Merge.Client/Accounting/Types/VendorCreditLineRequest.cs @@ -1,9 +1,18 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Accounting; +/// +/// # The VendorCreditLine Object +/// ### Description +/// The `VendorCreditLine` object is used to represent a vendor credit's line items. +/// +/// ### Usage Example +/// Fetch from the `GET VendorCredit` endpoint and view the vendor credit's line items. +/// public record VendorCreditLineRequest { /// @@ -60,12 +69,25 @@ public record VendorCreditLineRequest [JsonPropertyName("exchange_rate")] public string? ExchangeRate { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("integration_params")] public Dictionary? IntegrationParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("linked_account_params")] public Dictionary? LinkedAccountParams { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/VendorCreditRequest.cs b/src/Merge.Client/Accounting/Types/VendorCreditRequest.cs index ff2e602e..7bc501d7 100644 --- a/src/Merge.Client/Accounting/Types/VendorCreditRequest.cs +++ b/src/Merge.Client/Accounting/Types/VendorCreditRequest.cs @@ -1,9 +1,18 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Accounting; +/// +/// # The VendorCredit Object +/// ### Description +/// A `VendorCredit` is transaction issued by a vendor to the accounting company, indicating a reduction or cancellation of the amount owed to the vendor. It is most generally used as an adjustment note used to rectify errors, returns, or overpayments related to a purchasing transaction. A `VendorCredit` can be applied to `Accounts Payable` Invoices to decrease the overall amount of the `Invoice`. +/// +/// ### Usage Example +/// Fetch from the `GET VendorCredit` endpoint and view a company's vendor credits. +/// public record VendorCreditRequest { /// @@ -33,312 +42,312 @@ public record VendorCreditRequest /// /// The vendor credit's currency. /// - /// - `XUA` - ADB Unit of Account - /// - `AFN` - Afghan Afghani - /// - `AFA` - Afghan Afghani (1927–2002) - /// - `ALL` - Albanian Lek - /// - `ALK` - Albanian Lek (1946–1965) - /// - `DZD` - Algerian Dinar - /// - `ADP` - Andorran Peseta - /// - `AOA` - Angolan Kwanza - /// - `AOK` - Angolan Kwanza (1977–1991) - /// - `AON` - Angolan New Kwanza (1990–2000) - /// - `AOR` - Angolan Readjusted Kwanza (1995–1999) - /// - `ARA` - Argentine Austral - /// - `ARS` - Argentine Peso - /// - `ARM` - Argentine Peso (1881–1970) - /// - `ARP` - Argentine Peso (1983–1985) - /// - `ARL` - Argentine Peso Ley (1970–1983) - /// - `AMD` - Armenian Dram - /// - `AWG` - Aruban Florin - /// - `AUD` - Australian Dollar - /// - `ATS` - Austrian Schilling - /// - `AZN` - Azerbaijani Manat - /// - `AZM` - Azerbaijani Manat (1993–2006) - /// - `BSD` - Bahamian Dollar - /// - `BHD` - Bahraini Dinar - /// - `BDT` - Bangladeshi Taka - /// - `BBD` - Barbadian Dollar - /// - `BYN` - Belarusian Ruble - /// - `BYB` - Belarusian Ruble (1994–1999) - /// - `BYR` - Belarusian Ruble (2000–2016) - /// - `BEF` - Belgian Franc - /// - `BEC` - Belgian Franc (convertible) - /// - `BEL` - Belgian Franc (financial) - /// - `BZD` - Belize Dollar - /// - `BMD` - Bermudan Dollar - /// - `BTN` - Bhutanese Ngultrum - /// - `BOB` - Bolivian Boliviano - /// - `BOL` - Bolivian Boliviano (1863–1963) - /// - `BOV` - Bolivian Mvdol - /// - `BOP` - Bolivian Peso - /// - `BAM` - Bosnia-Herzegovina Convertible Mark - /// - `BAD` - Bosnia-Herzegovina Dinar (1992–1994) - /// - `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) - /// - `BWP` - Botswanan Pula - /// - `BRC` - Brazilian Cruzado (1986–1989) - /// - `BRZ` - Brazilian Cruzeiro (1942–1967) - /// - `BRE` - Brazilian Cruzeiro (1990–1993) - /// - `BRR` - Brazilian Cruzeiro (1993–1994) - /// - `BRN` - Brazilian New Cruzado (1989–1990) - /// - `BRB` - Brazilian New Cruzeiro (1967–1986) - /// - `BRL` - Brazilian Real - /// - `GBP` - British Pound - /// - `BND` - Brunei Dollar - /// - `BGL` - Bulgarian Hard Lev - /// - `BGN` - Bulgarian Lev - /// - `BGO` - Bulgarian Lev (1879–1952) - /// - `BGM` - Bulgarian Socialist Lev - /// - `BUK` - Burmese Kyat - /// - `BIF` - Burundian Franc - /// - `XPF` - CFP Franc - /// - `KHR` - Cambodian Riel - /// - `CAD` - Canadian Dollar - /// - `CVE` - Cape Verdean Escudo - /// - `KYD` - Cayman Islands Dollar - /// - `XAF` - Central African CFA Franc - /// - `CLE` - Chilean Escudo - /// - `CLP` - Chilean Peso - /// - `CLF` - Chilean Unit of Account (UF) - /// - `CNX` - Chinese People’s Bank Dollar - /// - `CNY` - Chinese Yuan - /// - `CNH` - Chinese Yuan (offshore) - /// - `COP` - Colombian Peso - /// - `COU` - Colombian Real Value Unit - /// - `KMF` - Comorian Franc - /// - `CDF` - Congolese Franc - /// - `CRC` - Costa Rican Colón - /// - `HRD` - Croatian Dinar - /// - `HRK` - Croatian Kuna - /// - `CUC` - Cuban Convertible Peso - /// - `CUP` - Cuban Peso - /// - `CYP` - Cypriot Pound - /// - `CZK` - Czech Koruna - /// - `CSK` - Czechoslovak Hard Koruna - /// - `DKK` - Danish Krone - /// - `DJF` - Djiboutian Franc - /// - `DOP` - Dominican Peso - /// - `NLG` - Dutch Guilder - /// - `XCD` - East Caribbean Dollar - /// - `DDM` - East German Mark - /// - `ECS` - Ecuadorian Sucre - /// - `ECV` - Ecuadorian Unit of Constant Value - /// - `EGP` - Egyptian Pound - /// - `GQE` - Equatorial Guinean Ekwele - /// - `ERN` - Eritrean Nakfa - /// - `EEK` - Estonian Kroon - /// - `ETB` - Ethiopian Birr - /// - `EUR` - Euro - /// - `XBA` - European Composite Unit - /// - `XEU` - European Currency Unit - /// - `XBB` - European Monetary Unit - /// - `XBC` - European Unit of Account (XBC) - /// - `XBD` - European Unit of Account (XBD) - /// - `FKP` - Falkland Islands Pound - /// - `FJD` - Fijian Dollar - /// - `FIM` - Finnish Markka - /// - `FRF` - French Franc - /// - `XFO` - French Gold Franc - /// - `XFU` - French UIC-Franc - /// - `GMD` - Gambian Dalasi - /// - `GEK` - Georgian Kupon Larit - /// - `GEL` - Georgian Lari - /// - `DEM` - German Mark - /// - `GHS` - Ghanaian Cedi - /// - `GHC` - Ghanaian Cedi (1979–2007) - /// - `GIP` - Gibraltar Pound - /// - `XAU` - Gold - /// - `GRD` - Greek Drachma - /// - `GTQ` - Guatemalan Quetzal - /// - `GWP` - Guinea-Bissau Peso - /// - `GNF` - Guinean Franc - /// - `GNS` - Guinean Syli - /// - `GYD` - Guyanaese Dollar - /// - `HTG` - Haitian Gourde - /// - `HNL` - Honduran Lempira - /// - `HKD` - Hong Kong Dollar - /// - `HUF` - Hungarian Forint - /// - `IMP` - IMP - /// - `ISK` - Icelandic Króna - /// - `ISJ` - Icelandic Króna (1918–1981) - /// - `INR` - Indian Rupee - /// - `IDR` - Indonesian Rupiah - /// - `IRR` - Iranian Rial - /// - `IQD` - Iraqi Dinar - /// - `IEP` - Irish Pound - /// - `ILS` - Israeli New Shekel - /// - `ILP` - Israeli Pound - /// - `ILR` - Israeli Shekel (1980–1985) - /// - `ITL` - Italian Lira - /// - `JMD` - Jamaican Dollar - /// - `JPY` - Japanese Yen - /// - `JOD` - Jordanian Dinar - /// - `KZT` - Kazakhstani Tenge - /// - `KES` - Kenyan Shilling - /// - `KWD` - Kuwaiti Dinar - /// - `KGS` - Kyrgystani Som - /// - `LAK` - Laotian Kip - /// - `LVL` - Latvian Lats - /// - `LVR` - Latvian Ruble - /// - `LBP` - Lebanese Pound - /// - `LSL` - Lesotho Loti - /// - `LRD` - Liberian Dollar - /// - `LYD` - Libyan Dinar - /// - `LTL` - Lithuanian Litas - /// - `LTT` - Lithuanian Talonas - /// - `LUL` - Luxembourg Financial Franc - /// - `LUC` - Luxembourgian Convertible Franc - /// - `LUF` - Luxembourgian Franc - /// - `MOP` - Macanese Pataca - /// - `MKD` - Macedonian Denar - /// - `MKN` - Macedonian Denar (1992–1993) - /// - `MGA` - Malagasy Ariary - /// - `MGF` - Malagasy Franc - /// - `MWK` - Malawian Kwacha - /// - `MYR` - Malaysian Ringgit - /// - `MVR` - Maldivian Rufiyaa - /// - `MVP` - Maldivian Rupee (1947–1981) - /// - `MLF` - Malian Franc - /// - `MTL` - Maltese Lira - /// - `MTP` - Maltese Pound - /// - `MRU` - Mauritanian Ouguiya - /// - `MRO` - Mauritanian Ouguiya (1973–2017) - /// - `MUR` - Mauritian Rupee - /// - `MXV` - Mexican Investment Unit - /// - `MXN` - Mexican Peso - /// - `MXP` - Mexican Silver Peso (1861–1992) - /// - `MDC` - Moldovan Cupon - /// - `MDL` - Moldovan Leu - /// - `MCF` - Monegasque Franc - /// - `MNT` - Mongolian Tugrik - /// - `MAD` - Moroccan Dirham - /// - `MAF` - Moroccan Franc - /// - `MZE` - Mozambican Escudo - /// - `MZN` - Mozambican Metical - /// - `MZM` - Mozambican Metical (1980–2006) - /// - `MMK` - Myanmar Kyat - /// - `NAD` - Namibian Dollar - /// - `NPR` - Nepalese Rupee - /// - `ANG` - Netherlands Antillean Guilder - /// - `TWD` - New Taiwan Dollar - /// - `NZD` - New Zealand Dollar - /// - `NIO` - Nicaraguan Córdoba - /// - `NIC` - Nicaraguan Córdoba (1988–1991) - /// - `NGN` - Nigerian Naira - /// - `KPW` - North Korean Won - /// - `NOK` - Norwegian Krone - /// - `OMR` - Omani Rial - /// - `PKR` - Pakistani Rupee - /// - `XPD` - Palladium - /// - `PAB` - Panamanian Balboa - /// - `PGK` - Papua New Guinean Kina - /// - `PYG` - Paraguayan Guarani - /// - `PEI` - Peruvian Inti - /// - `PEN` - Peruvian Sol - /// - `PES` - Peruvian Sol (1863–1965) - /// - `PHP` - Philippine Peso - /// - `XPT` - Platinum - /// - `PLN` - Polish Zloty - /// - `PLZ` - Polish Zloty (1950–1995) - /// - `PTE` - Portuguese Escudo - /// - `GWE` - Portuguese Guinea Escudo - /// - `QAR` - Qatari Rial - /// - `XRE` - RINET Funds - /// - `RHD` - Rhodesian Dollar - /// - `RON` - Romanian Leu - /// - `ROL` - Romanian Leu (1952–2006) - /// - `RUB` - Russian Ruble - /// - `RUR` - Russian Ruble (1991–1998) - /// - `RWF` - Rwandan Franc - /// - `SVC` - Salvadoran Colón - /// - `WST` - Samoan Tala - /// - `SAR` - Saudi Riyal - /// - `RSD` - Serbian Dinar - /// - `CSD` - Serbian Dinar (2002–2006) - /// - `SCR` - Seychellois Rupee - /// - `SLL` - Sierra Leonean Leone - /// - `XAG` - Silver - /// - `SGD` - Singapore Dollar - /// - `SKK` - Slovak Koruna - /// - `SIT` - Slovenian Tolar - /// - `SBD` - Solomon Islands Dollar - /// - `SOS` - Somali Shilling - /// - `ZAR` - South African Rand - /// - `ZAL` - South African Rand (financial) - /// - `KRH` - South Korean Hwan (1953–1962) - /// - `KRW` - South Korean Won - /// - `KRO` - South Korean Won (1945–1953) - /// - `SSP` - South Sudanese Pound - /// - `SUR` - Soviet Rouble - /// - `ESP` - Spanish Peseta - /// - `ESA` - Spanish Peseta (A account) - /// - `ESB` - Spanish Peseta (convertible account) - /// - `XDR` - Special Drawing Rights - /// - `LKR` - Sri Lankan Rupee - /// - `SHP` - St. Helena Pound - /// - `XSU` - Sucre - /// - `SDD` - Sudanese Dinar (1992–2007) - /// - `SDG` - Sudanese Pound - /// - `SDP` - Sudanese Pound (1957–1998) - /// - `SRD` - Surinamese Dollar - /// - `SRG` - Surinamese Guilder - /// - `SZL` - Swazi Lilangeni - /// - `SEK` - Swedish Krona - /// - `CHF` - Swiss Franc - /// - `SYP` - Syrian Pound - /// - `STN` - São Tomé & Príncipe Dobra - /// - `STD` - São Tomé & Príncipe Dobra (1977–2017) - /// - `TVD` - TVD - /// - `TJR` - Tajikistani Ruble - /// - `TJS` - Tajikistani Somoni - /// - `TZS` - Tanzanian Shilling - /// - `XTS` - Testing Currency Code - /// - `THB` - Thai Baht - /// - `XXX` - The codes assigned for transactions where no currency is involved - /// - `TPE` - Timorese Escudo - /// - `TOP` - Tongan Paʻanga - /// - `TTD` - Trinidad & Tobago Dollar - /// - `TND` - Tunisian Dinar - /// - `TRY` - Turkish Lira - /// - `TRL` - Turkish Lira (1922–2005) - /// - `TMT` - Turkmenistani Manat - /// - `TMM` - Turkmenistani Manat (1993–2009) - /// - `USD` - US Dollar - /// - `USN` - US Dollar (Next day) - /// - `USS` - US Dollar (Same day) - /// - `UGX` - Ugandan Shilling - /// - `UGS` - Ugandan Shilling (1966–1987) - /// - `UAH` - Ukrainian Hryvnia - /// - `UAK` - Ukrainian Karbovanets - /// - `AED` - United Arab Emirates Dirham - /// - `UYW` - Uruguayan Nominal Wage Index Unit - /// - `UYU` - Uruguayan Peso - /// - `UYP` - Uruguayan Peso (1975–1993) - /// - `UYI` - Uruguayan Peso (Indexed Units) - /// - `UZS` - Uzbekistani Som - /// - `VUV` - Vanuatu Vatu - /// - `VES` - Venezuelan Bolívar - /// - `VEB` - Venezuelan Bolívar (1871–2008) - /// - `VEF` - Venezuelan Bolívar (2008–2018) - /// - `VND` - Vietnamese Dong - /// - `VNN` - Vietnamese Dong (1978–1985) - /// - `CHE` - WIR Euro - /// - `CHW` - WIR Franc - /// - `XOF` - West African CFA Franc - /// - `YDD` - Yemeni Dinar - /// - `YER` - Yemeni Rial - /// - `YUN` - Yugoslavian Convertible Dinar (1990–1992) - /// - `YUD` - Yugoslavian Hard Dinar (1966–1990) - /// - `YUM` - Yugoslavian New Dinar (1994–2002) - /// - `YUR` - Yugoslavian Reformed Dinar (1992–1993) - /// - `ZWN` - ZWN - /// - `ZRN` - Zairean New Zaire (1993–1998) - /// - `ZRZ` - Zairean Zaire (1971–1993) - /// - `ZMW` - Zambian Kwacha - /// - `ZMK` - Zambian Kwacha (1968–2012) - /// - `ZWD` - Zimbabwean Dollar (1980–2008) - /// - `ZWR` - Zimbabwean Dollar (2008) - /// - `ZWL` - Zimbabwean Dollar (2009) + /// * `XUA` - ADB Unit of Account + /// * `AFN` - Afghan Afghani + /// * `AFA` - Afghan Afghani (1927–2002) + /// * `ALL` - Albanian Lek + /// * `ALK` - Albanian Lek (1946–1965) + /// * `DZD` - Algerian Dinar + /// * `ADP` - Andorran Peseta + /// * `AOA` - Angolan Kwanza + /// * `AOK` - Angolan Kwanza (1977–1991) + /// * `AON` - Angolan New Kwanza (1990–2000) + /// * `AOR` - Angolan Readjusted Kwanza (1995–1999) + /// * `ARA` - Argentine Austral + /// * `ARS` - Argentine Peso + /// * `ARM` - Argentine Peso (1881–1970) + /// * `ARP` - Argentine Peso (1983–1985) + /// * `ARL` - Argentine Peso Ley (1970–1983) + /// * `AMD` - Armenian Dram + /// * `AWG` - Aruban Florin + /// * `AUD` - Australian Dollar + /// * `ATS` - Austrian Schilling + /// * `AZN` - Azerbaijani Manat + /// * `AZM` - Azerbaijani Manat (1993–2006) + /// * `BSD` - Bahamian Dollar + /// * `BHD` - Bahraini Dinar + /// * `BDT` - Bangladeshi Taka + /// * `BBD` - Barbadian Dollar + /// * `BYN` - Belarusian Ruble + /// * `BYB` - Belarusian Ruble (1994–1999) + /// * `BYR` - Belarusian Ruble (2000–2016) + /// * `BEF` - Belgian Franc + /// * `BEC` - Belgian Franc (convertible) + /// * `BEL` - Belgian Franc (financial) + /// * `BZD` - Belize Dollar + /// * `BMD` - Bermudan Dollar + /// * `BTN` - Bhutanese Ngultrum + /// * `BOB` - Bolivian Boliviano + /// * `BOL` - Bolivian Boliviano (1863–1963) + /// * `BOV` - Bolivian Mvdol + /// * `BOP` - Bolivian Peso + /// * `BAM` - Bosnia-Herzegovina Convertible Mark + /// * `BAD` - Bosnia-Herzegovina Dinar (1992–1994) + /// * `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) + /// * `BWP` - Botswanan Pula + /// * `BRC` - Brazilian Cruzado (1986–1989) + /// * `BRZ` - Brazilian Cruzeiro (1942–1967) + /// * `BRE` - Brazilian Cruzeiro (1990–1993) + /// * `BRR` - Brazilian Cruzeiro (1993–1994) + /// * `BRN` - Brazilian New Cruzado (1989–1990) + /// * `BRB` - Brazilian New Cruzeiro (1967–1986) + /// * `BRL` - Brazilian Real + /// * `GBP` - British Pound + /// * `BND` - Brunei Dollar + /// * `BGL` - Bulgarian Hard Lev + /// * `BGN` - Bulgarian Lev + /// * `BGO` - Bulgarian Lev (1879–1952) + /// * `BGM` - Bulgarian Socialist Lev + /// * `BUK` - Burmese Kyat + /// * `BIF` - Burundian Franc + /// * `XPF` - CFP Franc + /// * `KHR` - Cambodian Riel + /// * `CAD` - Canadian Dollar + /// * `CVE` - Cape Verdean Escudo + /// * `KYD` - Cayman Islands Dollar + /// * `XAF` - Central African CFA Franc + /// * `CLE` - Chilean Escudo + /// * `CLP` - Chilean Peso + /// * `CLF` - Chilean Unit of Account (UF) + /// * `CNX` - Chinese People’s Bank Dollar + /// * `CNY` - Chinese Yuan + /// * `CNH` - Chinese Yuan (offshore) + /// * `COP` - Colombian Peso + /// * `COU` - Colombian Real Value Unit + /// * `KMF` - Comorian Franc + /// * `CDF` - Congolese Franc + /// * `CRC` - Costa Rican Colón + /// * `HRD` - Croatian Dinar + /// * `HRK` - Croatian Kuna + /// * `CUC` - Cuban Convertible Peso + /// * `CUP` - Cuban Peso + /// * `CYP` - Cypriot Pound + /// * `CZK` - Czech Koruna + /// * `CSK` - Czechoslovak Hard Koruna + /// * `DKK` - Danish Krone + /// * `DJF` - Djiboutian Franc + /// * `DOP` - Dominican Peso + /// * `NLG` - Dutch Guilder + /// * `XCD` - East Caribbean Dollar + /// * `DDM` - East German Mark + /// * `ECS` - Ecuadorian Sucre + /// * `ECV` - Ecuadorian Unit of Constant Value + /// * `EGP` - Egyptian Pound + /// * `GQE` - Equatorial Guinean Ekwele + /// * `ERN` - Eritrean Nakfa + /// * `EEK` - Estonian Kroon + /// * `ETB` - Ethiopian Birr + /// * `EUR` - Euro + /// * `XBA` - European Composite Unit + /// * `XEU` - European Currency Unit + /// * `XBB` - European Monetary Unit + /// * `XBC` - European Unit of Account (XBC) + /// * `XBD` - European Unit of Account (XBD) + /// * `FKP` - Falkland Islands Pound + /// * `FJD` - Fijian Dollar + /// * `FIM` - Finnish Markka + /// * `FRF` - French Franc + /// * `XFO` - French Gold Franc + /// * `XFU` - French UIC-Franc + /// * `GMD` - Gambian Dalasi + /// * `GEK` - Georgian Kupon Larit + /// * `GEL` - Georgian Lari + /// * `DEM` - German Mark + /// * `GHS` - Ghanaian Cedi + /// * `GHC` - Ghanaian Cedi (1979–2007) + /// * `GIP` - Gibraltar Pound + /// * `XAU` - Gold + /// * `GRD` - Greek Drachma + /// * `GTQ` - Guatemalan Quetzal + /// * `GWP` - Guinea-Bissau Peso + /// * `GNF` - Guinean Franc + /// * `GNS` - Guinean Syli + /// * `GYD` - Guyanaese Dollar + /// * `HTG` - Haitian Gourde + /// * `HNL` - Honduran Lempira + /// * `HKD` - Hong Kong Dollar + /// * `HUF` - Hungarian Forint + /// * `IMP` - IMP + /// * `ISK` - Icelandic Króna + /// * `ISJ` - Icelandic Króna (1918–1981) + /// * `INR` - Indian Rupee + /// * `IDR` - Indonesian Rupiah + /// * `IRR` - Iranian Rial + /// * `IQD` - Iraqi Dinar + /// * `IEP` - Irish Pound + /// * `ILS` - Israeli New Shekel + /// * `ILP` - Israeli Pound + /// * `ILR` - Israeli Shekel (1980–1985) + /// * `ITL` - Italian Lira + /// * `JMD` - Jamaican Dollar + /// * `JPY` - Japanese Yen + /// * `JOD` - Jordanian Dinar + /// * `KZT` - Kazakhstani Tenge + /// * `KES` - Kenyan Shilling + /// * `KWD` - Kuwaiti Dinar + /// * `KGS` - Kyrgystani Som + /// * `LAK` - Laotian Kip + /// * `LVL` - Latvian Lats + /// * `LVR` - Latvian Ruble + /// * `LBP` - Lebanese Pound + /// * `LSL` - Lesotho Loti + /// * `LRD` - Liberian Dollar + /// * `LYD` - Libyan Dinar + /// * `LTL` - Lithuanian Litas + /// * `LTT` - Lithuanian Talonas + /// * `LUL` - Luxembourg Financial Franc + /// * `LUC` - Luxembourgian Convertible Franc + /// * `LUF` - Luxembourgian Franc + /// * `MOP` - Macanese Pataca + /// * `MKD` - Macedonian Denar + /// * `MKN` - Macedonian Denar (1992–1993) + /// * `MGA` - Malagasy Ariary + /// * `MGF` - Malagasy Franc + /// * `MWK` - Malawian Kwacha + /// * `MYR` - Malaysian Ringgit + /// * `MVR` - Maldivian Rufiyaa + /// * `MVP` - Maldivian Rupee (1947–1981) + /// * `MLF` - Malian Franc + /// * `MTL` - Maltese Lira + /// * `MTP` - Maltese Pound + /// * `MRU` - Mauritanian Ouguiya + /// * `MRO` - Mauritanian Ouguiya (1973–2017) + /// * `MUR` - Mauritian Rupee + /// * `MXV` - Mexican Investment Unit + /// * `MXN` - Mexican Peso + /// * `MXP` - Mexican Silver Peso (1861–1992) + /// * `MDC` - Moldovan Cupon + /// * `MDL` - Moldovan Leu + /// * `MCF` - Monegasque Franc + /// * `MNT` - Mongolian Tugrik + /// * `MAD` - Moroccan Dirham + /// * `MAF` - Moroccan Franc + /// * `MZE` - Mozambican Escudo + /// * `MZN` - Mozambican Metical + /// * `MZM` - Mozambican Metical (1980–2006) + /// * `MMK` - Myanmar Kyat + /// * `NAD` - Namibian Dollar + /// * `NPR` - Nepalese Rupee + /// * `ANG` - Netherlands Antillean Guilder + /// * `TWD` - New Taiwan Dollar + /// * `NZD` - New Zealand Dollar + /// * `NIO` - Nicaraguan Córdoba + /// * `NIC` - Nicaraguan Córdoba (1988–1991) + /// * `NGN` - Nigerian Naira + /// * `KPW` - North Korean Won + /// * `NOK` - Norwegian Krone + /// * `OMR` - Omani Rial + /// * `PKR` - Pakistani Rupee + /// * `XPD` - Palladium + /// * `PAB` - Panamanian Balboa + /// * `PGK` - Papua New Guinean Kina + /// * `PYG` - Paraguayan Guarani + /// * `PEI` - Peruvian Inti + /// * `PEN` - Peruvian Sol + /// * `PES` - Peruvian Sol (1863–1965) + /// * `PHP` - Philippine Peso + /// * `XPT` - Platinum + /// * `PLN` - Polish Zloty + /// * `PLZ` - Polish Zloty (1950–1995) + /// * `PTE` - Portuguese Escudo + /// * `GWE` - Portuguese Guinea Escudo + /// * `QAR` - Qatari Rial + /// * `XRE` - RINET Funds + /// * `RHD` - Rhodesian Dollar + /// * `RON` - Romanian Leu + /// * `ROL` - Romanian Leu (1952–2006) + /// * `RUB` - Russian Ruble + /// * `RUR` - Russian Ruble (1991–1998) + /// * `RWF` - Rwandan Franc + /// * `SVC` - Salvadoran Colón + /// * `WST` - Samoan Tala + /// * `SAR` - Saudi Riyal + /// * `RSD` - Serbian Dinar + /// * `CSD` - Serbian Dinar (2002–2006) + /// * `SCR` - Seychellois Rupee + /// * `SLL` - Sierra Leonean Leone + /// * `XAG` - Silver + /// * `SGD` - Singapore Dollar + /// * `SKK` - Slovak Koruna + /// * `SIT` - Slovenian Tolar + /// * `SBD` - Solomon Islands Dollar + /// * `SOS` - Somali Shilling + /// * `ZAR` - South African Rand + /// * `ZAL` - South African Rand (financial) + /// * `KRH` - South Korean Hwan (1953–1962) + /// * `KRW` - South Korean Won + /// * `KRO` - South Korean Won (1945–1953) + /// * `SSP` - South Sudanese Pound + /// * `SUR` - Soviet Rouble + /// * `ESP` - Spanish Peseta + /// * `ESA` - Spanish Peseta (A account) + /// * `ESB` - Spanish Peseta (convertible account) + /// * `XDR` - Special Drawing Rights + /// * `LKR` - Sri Lankan Rupee + /// * `SHP` - St. Helena Pound + /// * `XSU` - Sucre + /// * `SDD` - Sudanese Dinar (1992–2007) + /// * `SDG` - Sudanese Pound + /// * `SDP` - Sudanese Pound (1957–1998) + /// * `SRD` - Surinamese Dollar + /// * `SRG` - Surinamese Guilder + /// * `SZL` - Swazi Lilangeni + /// * `SEK` - Swedish Krona + /// * `CHF` - Swiss Franc + /// * `SYP` - Syrian Pound + /// * `STN` - São Tomé & Príncipe Dobra + /// * `STD` - São Tomé & Príncipe Dobra (1977–2017) + /// * `TVD` - TVD + /// * `TJR` - Tajikistani Ruble + /// * `TJS` - Tajikistani Somoni + /// * `TZS` - Tanzanian Shilling + /// * `XTS` - Testing Currency Code + /// * `THB` - Thai Baht + /// * `XXX` - The codes assigned for transactions where no currency is involved + /// * `TPE` - Timorese Escudo + /// * `TOP` - Tongan Paʻanga + /// * `TTD` - Trinidad & Tobago Dollar + /// * `TND` - Tunisian Dinar + /// * `TRY` - Turkish Lira + /// * `TRL` - Turkish Lira (1922–2005) + /// * `TMT` - Turkmenistani Manat + /// * `TMM` - Turkmenistani Manat (1993–2009) + /// * `USD` - US Dollar + /// * `USN` - US Dollar (Next day) + /// * `USS` - US Dollar (Same day) + /// * `UGX` - Ugandan Shilling + /// * `UGS` - Ugandan Shilling (1966–1987) + /// * `UAH` - Ukrainian Hryvnia + /// * `UAK` - Ukrainian Karbovanets + /// * `AED` - United Arab Emirates Dirham + /// * `UYW` - Uruguayan Nominal Wage Index Unit + /// * `UYU` - Uruguayan Peso + /// * `UYP` - Uruguayan Peso (1975–1993) + /// * `UYI` - Uruguayan Peso (Indexed Units) + /// * `UZS` - Uzbekistani Som + /// * `VUV` - Vanuatu Vatu + /// * `VES` - Venezuelan Bolívar + /// * `VEB` - Venezuelan Bolívar (1871–2008) + /// * `VEF` - Venezuelan Bolívar (2008–2018) + /// * `VND` - Vietnamese Dong + /// * `VNN` - Vietnamese Dong (1978–1985) + /// * `CHE` - WIR Euro + /// * `CHW` - WIR Franc + /// * `XOF` - West African CFA Franc + /// * `YDD` - Yemeni Dinar + /// * `YER` - Yemeni Rial + /// * `YUN` - Yugoslavian Convertible Dinar (1990–1992) + /// * `YUD` - Yugoslavian Hard Dinar (1966–1990) + /// * `YUM` - Yugoslavian New Dinar (1994–2002) + /// * `YUR` - Yugoslavian Reformed Dinar (1992–1993) + /// * `ZWN` - ZWN + /// * `ZRN` - Zairean New Zaire (1993–1998) + /// * `ZRZ` - Zairean Zaire (1971–1993) + /// * `ZMW` - Zambian Kwacha + /// * `ZMK` - Zambian Kwacha (1968–2012) + /// * `ZWD` - Zimbabwean Dollar (1980–2008) + /// * `ZWR` - Zimbabwean Dollar (2008) + /// * `ZWL` - Zimbabwean Dollar (2009) /// [JsonPropertyName("currency")] public TransactionCurrencyEnum? Currency { get; set; } @@ -376,12 +385,25 @@ public record VendorCreditRequest [JsonPropertyName("accounting_period")] public OneOf? AccountingPeriod { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("integration_params")] public Dictionary? IntegrationParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("linked_account_params")] public Dictionary? LinkedAccountParams { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/VendorCreditResponse.cs b/src/Merge.Client/Accounting/Types/VendorCreditResponse.cs index d5132731..977af836 100644 --- a/src/Merge.Client/Accounting/Types/VendorCreditResponse.cs +++ b/src/Merge.Client/Accounting/Types/VendorCreditResponse.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -19,6 +20,17 @@ public record VendorCreditResponse [JsonPropertyName("logs")] public IEnumerable? Logs { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/WarningValidationProblem.cs b/src/Merge.Client/Accounting/Types/WarningValidationProblem.cs index 9a3778ff..af4bb054 100644 --- a/src/Merge.Client/Accounting/Types/WarningValidationProblem.cs +++ b/src/Merge.Client/Accounting/Types/WarningValidationProblem.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -17,6 +18,17 @@ public record WarningValidationProblem [JsonPropertyName("problem_type")] public required string ProblemType { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/Types/WebhookReceiver.cs b/src/Merge.Client/Accounting/Types/WebhookReceiver.cs index b73d75f2..7114bb0c 100644 --- a/src/Merge.Client/Accounting/Types/WebhookReceiver.cs +++ b/src/Merge.Client/Accounting/Types/WebhookReceiver.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record WebhookReceiver [JsonPropertyName("key")] public string? Key { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/VendorCredits/Requests/VendorCreditEndpointRequest.cs b/src/Merge.Client/Accounting/VendorCredits/Requests/VendorCreditEndpointRequest.cs index 8ad811cd..f45edca9 100644 --- a/src/Merge.Client/Accounting/VendorCredits/Requests/VendorCreditEndpointRequest.cs +++ b/src/Merge.Client/Accounting/VendorCredits/Requests/VendorCreditEndpointRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,15 +8,19 @@ public record VendorCreditEndpointRequest /// /// Whether to include debug fields (such as log file links) in the response. /// + [JsonIgnore] public bool? IsDebugMode { get; set; } /// /// Whether or not third-party updates should be run asynchronously. /// + [JsonIgnore] public bool? RunAsync { get; set; } + [JsonPropertyName("model")] public required VendorCreditRequest Model { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/VendorCredits/Requests/VendorCreditsListRequest.cs b/src/Merge.Client/Accounting/VendorCredits/Requests/VendorCreditsListRequest.cs index 14019b9a..4dfaf736 100644 --- a/src/Merge.Client/Accounting/VendorCredits/Requests/VendorCreditsListRequest.cs +++ b/src/Merge.Client/Accounting/VendorCredits/Requests/VendorCreditsListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,73 +8,88 @@ public record VendorCreditsListRequest /// /// If provided, will only return vendor credits for this company. /// + [JsonIgnore] public string? CompanyId { get; set; } /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public VendorCreditsListRequestExpand? Expand { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? TransactionDateAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? TransactionDateBefore { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/VendorCredits/Requests/VendorCreditsRetrieveRequest.cs b/src/Merge.Client/Accounting/VendorCredits/Requests/VendorCreditsRetrieveRequest.cs index e073251a..06dc7f72 100644 --- a/src/Merge.Client/Accounting/VendorCredits/Requests/VendorCreditsRetrieveRequest.cs +++ b/src/Merge.Client/Accounting/VendorCredits/Requests/VendorCreditsRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Accounting; @@ -7,13 +8,22 @@ public record VendorCreditsRetrieveRequest /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public VendorCreditsRetrieveRequestExpand? Expand { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/VendorCredits/VendorCreditsClient.cs b/src/Merge.Client/Accounting/VendorCredits/VendorCreditsClient.cs index 19921866..7d28802b 100644 --- a/src/Merge.Client/Accounting/VendorCredits/VendorCreditsClient.cs +++ b/src/Merge.Client/Accounting/VendorCredits/VendorCreditsClient.cs @@ -17,12 +17,10 @@ internal VendorCreditsClient(RawClient client) /// /// Returns a list of `VendorCredit` objects. /// - /// - /// + /// /// await client.Accounting.VendorCredits.ListAsync(new VendorCreditsListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( VendorCreditsListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -96,8 +94,8 @@ public async System.Threading.Tasks.Task ListAsync( ); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -108,37 +106,38 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Creates a `VendorCredit` object with the given values. /// - /// - /// + /// /// await client.Accounting.VendorCredits.CreateAsync( /// new VendorCreditEndpointRequest { Model = new VendorCreditRequest() } /// ); - /// - /// - public async System.Threading.Tasks.Task CreateAsync( + /// + public async Task CreateAsync( VendorCreditEndpointRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -153,15 +152,14 @@ public async System.Threading.Tasks.Task CreateAsync( { _query["run_async"] = JsonUtils.Serialize(request.RunAsync.Value); } - var requestBody = new Dictionary() { { "model", request.Model } }; var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, Path = "accounting/v1/vendor-credits", - Body = requestBody, + Body = request, Query = _query, ContentType = "application/json", Options = options, @@ -169,35 +167,36 @@ public async System.Threading.Tasks.Task CreateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a `VendorCredit` object with the given `id`. /// - /// - /// + /// /// await client.Accounting.VendorCredits.RetrieveAsync("id", new VendorCreditsRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, VendorCreditsRetrieveRequest request, RequestOptions? options = null, @@ -213,55 +212,63 @@ public async System.Threading.Tasks.Task RetrieveAsync( { _query["include_remote_data"] = JsonUtils.Serialize(request.IncludeRemoteData.Value); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"accounting/v1/vendor-credits/{id}", + Path = string.Format( + "accounting/v1/vendor-credits/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns metadata for `VendorCredit` POSTs. /// - /// - /// + /// /// await client.Accounting.VendorCredits.MetaPostRetrieveAsync(); - /// - /// - public async System.Threading.Tasks.Task MetaPostRetrieveAsync( + /// + public async Task MetaPostRetrieveAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -271,23 +278,26 @@ public async System.Threading.Tasks.Task MetaPostRetrieveAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Accounting/WebhookReceivers/Requests/WebhookReceiverRequest.cs b/src/Merge.Client/Accounting/WebhookReceivers/Requests/WebhookReceiverRequest.cs index 97712036..3fb5c55d 100644 --- a/src/Merge.Client/Accounting/WebhookReceivers/Requests/WebhookReceiverRequest.cs +++ b/src/Merge.Client/Accounting/WebhookReceivers/Requests/WebhookReceiverRequest.cs @@ -14,6 +14,7 @@ public record WebhookReceiverRequest [JsonPropertyName("key")] public string? Key { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Accounting/WebhookReceivers/WebhookReceiversClient.cs b/src/Merge.Client/Accounting/WebhookReceivers/WebhookReceiversClient.cs index 75bfed4c..b1694be7 100644 --- a/src/Merge.Client/Accounting/WebhookReceivers/WebhookReceiversClient.cs +++ b/src/Merge.Client/Accounting/WebhookReceivers/WebhookReceiversClient.cs @@ -17,19 +17,17 @@ internal WebhookReceiversClient(RawClient client) /// /// Returns a list of `WebhookReceiver` objects. /// - /// - /// + /// /// await client.Accounting.WebhookReceivers.ListAsync(); - /// - /// - public async System.Threading.Tasks.Task> ListAsync( + /// + public async Task> ListAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -39,45 +37,46 @@ public async System.Threading.Tasks.Task> ListAsync cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize>(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Creates a `WebhookReceiver` object with the given values. /// - /// - /// + /// /// await client.Accounting.WebhookReceivers.CreateAsync( /// new WebhookReceiverRequest { Event = "event", IsActive = true } /// ); - /// - /// - public async System.Threading.Tasks.Task CreateAsync( + /// + public async Task CreateAsync( WebhookReceiverRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, @@ -89,23 +88,26 @@ public async System.Threading.Tasks.Task CreateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Ats/AccountDetails/AccountDetailsClient.cs b/src/Merge.Client/Ats/AccountDetails/AccountDetailsClient.cs index 5e2e8d42..3089e0f9 100644 --- a/src/Merge.Client/Ats/AccountDetails/AccountDetailsClient.cs +++ b/src/Merge.Client/Ats/AccountDetails/AccountDetailsClient.cs @@ -17,19 +17,17 @@ internal AccountDetailsClient(RawClient client) /// /// Get details for a linked account. /// - /// - /// + /// /// await client.Ats.AccountDetails.RetrieveAsync(); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -39,23 +37,26 @@ public async System.Threading.Tasks.Task RetrieveAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Ats/AccountToken/AccountTokenClient.cs b/src/Merge.Client/Ats/AccountToken/AccountTokenClient.cs index 2a11225f..cfa92595 100644 --- a/src/Merge.Client/Ats/AccountToken/AccountTokenClient.cs +++ b/src/Merge.Client/Ats/AccountToken/AccountTokenClient.cs @@ -17,46 +17,50 @@ internal AccountTokenClient(RawClient client) /// /// Returns the account token for the end user with the provided public token. /// - /// - /// + /// /// await client.Ats.AccountToken.RetrieveAsync("public_token"); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string publicToken, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"ats/v1/account-token/{publicToken}", + Path = string.Format( + "ats/v1/account-token/{0}", + ValueConvert.ToPathParameterString(publicToken) + ), Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Ats/Activities/ActivitiesClient.cs b/src/Merge.Client/Ats/Activities/ActivitiesClient.cs index fec218c1..cc915038 100644 --- a/src/Merge.Client/Ats/Activities/ActivitiesClient.cs +++ b/src/Merge.Client/Ats/Activities/ActivitiesClient.cs @@ -17,12 +17,10 @@ internal ActivitiesClient(RawClient client) /// /// Returns a list of `Activity` objects. /// - /// - /// + /// /// await client.Ats.Activities.ListAsync(new ActivitiesListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( ActivitiesListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -92,8 +90,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["user_id"] = request.UserId; } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -104,37 +102,38 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Creates an `Activity` object with the given values. /// - /// - /// + /// /// await client.Ats.Activities.CreateAsync( /// new ActivityEndpointRequest { Model = new ActivityRequest(), RemoteUserId = "remote_user_id" } /// ); - /// - /// - public async System.Threading.Tasks.Task CreateAsync( + /// + public async Task CreateAsync( ActivityEndpointRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -149,19 +148,14 @@ public async System.Threading.Tasks.Task CreateAsync( { _query["run_async"] = JsonUtils.Serialize(request.RunAsync.Value); } - var requestBody = new Dictionary() - { - { "model", request.Model }, - { "remote_user_id", request.RemoteUserId }, - }; var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, Path = "ats/v1/activities", - Body = requestBody, + Body = request, Query = _query, ContentType = "application/json", Options = options, @@ -169,35 +163,36 @@ public async System.Threading.Tasks.Task CreateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns an `Activity` object with the given `id`. /// - /// - /// + /// /// await client.Ats.Activities.RetrieveAsync("id", new ActivitiesRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, ActivitiesRetrieveRequest request, RequestOptions? options = null, @@ -213,6 +208,10 @@ public async System.Threading.Tasks.Task RetrieveAsync( { _query["include_remote_data"] = JsonUtils.Serialize(request.IncludeRemoteData.Value); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } if (request.RemoteFields != null) { _query["remote_fields"] = request.RemoteFields.Value.Stringify(); @@ -222,54 +221,58 @@ public async System.Threading.Tasks.Task RetrieveAsync( _query["show_enum_origins"] = request.ShowEnumOrigins.Value.Stringify(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"ats/v1/activities/{id}", + Path = string.Format( + "ats/v1/activities/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns metadata for `Activity` POSTs. /// - /// - /// + /// /// await client.Ats.Activities.MetaPostRetrieveAsync(); - /// - /// - public async System.Threading.Tasks.Task MetaPostRetrieveAsync( + /// + public async Task MetaPostRetrieveAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -279,23 +282,26 @@ public async System.Threading.Tasks.Task MetaPostRetrieveAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Ats/Activities/Requests/ActivitiesListRequest.cs b/src/Merge.Client/Ats/Activities/Requests/ActivitiesListRequest.cs index 5a2b6f59..9bd38c5c 100644 --- a/src/Merge.Client/Ats/Activities/Requests/ActivitiesListRequest.cs +++ b/src/Merge.Client/Ats/Activities/Requests/ActivitiesListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ats; @@ -7,73 +8,88 @@ public record ActivitiesListRequest /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public string? Expand { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// Deprecated. Use show_enum_origins. /// + [JsonIgnore] public ActivitiesListRequestRemoteFields? RemoteFields { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } /// /// A comma separated list of enum field names for which you'd like the original values to be returned, instead of Merge's normalized enum values. [Learn more](https://help.merge.dev/en/articles/8950958-show_enum_origins-query-parameter) /// + [JsonIgnore] public ActivitiesListRequestShowEnumOrigins? ShowEnumOrigins { get; set; } /// /// If provided, will only return activities done by this user. /// + [JsonIgnore] public string? UserId { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Activities/Requests/ActivitiesRetrieveRequest.cs b/src/Merge.Client/Ats/Activities/Requests/ActivitiesRetrieveRequest.cs index e485f5da..0e38696e 100644 --- a/src/Merge.Client/Ats/Activities/Requests/ActivitiesRetrieveRequest.cs +++ b/src/Merge.Client/Ats/Activities/Requests/ActivitiesRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ats; @@ -7,23 +8,34 @@ public record ActivitiesRetrieveRequest /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public string? Expand { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + /// /// Deprecated. Use show_enum_origins. /// + [JsonIgnore] public ActivitiesRetrieveRequestRemoteFields? RemoteFields { get; set; } /// /// A comma separated list of enum field names for which you'd like the original values to be returned, instead of Merge's normalized enum values. [Learn more](https://help.merge.dev/en/articles/8950958-show_enum_origins-query-parameter) /// + [JsonIgnore] public ActivitiesRetrieveRequestShowEnumOrigins? ShowEnumOrigins { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Activities/Requests/ActivityEndpointRequest.cs b/src/Merge.Client/Ats/Activities/Requests/ActivityEndpointRequest.cs index e6ab0195..1d6e4173 100644 --- a/src/Merge.Client/Ats/Activities/Requests/ActivityEndpointRequest.cs +++ b/src/Merge.Client/Ats/Activities/Requests/ActivityEndpointRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ats; @@ -7,17 +8,22 @@ public record ActivityEndpointRequest /// /// Whether to include debug fields (such as log file links) in the response. /// + [JsonIgnore] public bool? IsDebugMode { get; set; } /// /// Whether or not third-party updates should be run asynchronously. /// + [JsonIgnore] public bool? RunAsync { get; set; } + [JsonPropertyName("model")] public required ActivityRequest Model { get; set; } + [JsonPropertyName("remote_user_id")] public required string RemoteUserId { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Applications/ApplicationsClient.cs b/src/Merge.Client/Ats/Applications/ApplicationsClient.cs index f0079e4e..791e8d10 100644 --- a/src/Merge.Client/Ats/Applications/ApplicationsClient.cs +++ b/src/Merge.Client/Ats/Applications/ApplicationsClient.cs @@ -17,12 +17,10 @@ internal ApplicationsClient(RawClient client) /// /// Returns a list of `Application` objects. /// - /// - /// + /// /// await client.Ats.Applications.ListAsync(new ApplicationsListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( ApplicationsListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -104,8 +102,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["source"] = request.Source; } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -116,24 +114,27 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// @@ -142,8 +143,7 @@ public async System.Threading.Tasks.Task ListAsync( /// /// See our [Help Center article](https://help.merge.dev/en/articles/10012366-updates-to-post-applications-oct-2024) for detailed support per integration. /// - /// - /// + /// /// await client.Ats.Applications.CreateAsync( /// new ApplicationEndpointRequest /// { @@ -151,9 +151,8 @@ public async System.Threading.Tasks.Task ListAsync( /// RemoteUserId = "remote_user_id", /// } /// ); - /// - /// - public async System.Threading.Tasks.Task CreateAsync( + /// + public async Task CreateAsync( ApplicationEndpointRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -168,19 +167,14 @@ public async System.Threading.Tasks.Task CreateAsync( { _query["run_async"] = JsonUtils.Serialize(request.RunAsync.Value); } - var requestBody = new Dictionary() - { - { "model", request.Model }, - { "remote_user_id", request.RemoteUserId }, - }; var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, Path = "ats/v1/applications", - Body = requestBody, + Body = request, Query = _query, ContentType = "application/json", Options = options, @@ -188,35 +182,36 @@ public async System.Threading.Tasks.Task CreateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns an `Application` object with the given `id`. /// - /// - /// + /// /// await client.Ats.Applications.RetrieveAsync("id", new ApplicationsRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, ApplicationsRetrieveRequest request, RequestOptions? options = null, @@ -232,48 +227,56 @@ public async System.Threading.Tasks.Task RetrieveAsync( { _query["include_remote_data"] = JsonUtils.Serialize(request.IncludeRemoteData.Value); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"ats/v1/applications/{id}", + Path = string.Format( + "ats/v1/applications/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Updates the `current_stage` field of an `Application` object /// - /// - /// + /// /// await client.Ats.Applications.ChangeStageCreateAsync("id", new UpdateApplicationStageRequest()); - /// - /// - public async System.Threading.Tasks.Task ChangeStageCreateAsync( + /// + public async Task ChangeStageCreateAsync( string id, UpdateApplicationStageRequest request, RequestOptions? options = null, @@ -289,19 +292,17 @@ public async System.Threading.Tasks.Task ChangeStageCreateA { _query["run_async"] = JsonUtils.Serialize(request.RunAsync.Value); } - var requestBody = new Dictionary() - { - { "job_interview_stage", request.JobInterviewStage }, - { "remote_user_id", request.RemoteUserId }, - }; var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, - Path = $"ats/v1/applications/{id}/change-stage", - Body = requestBody, + Path = string.Format( + "ats/v1/applications/{0}/change-stage", + ValueConvert.ToPathParameterString(id) + ), + Body = request, Query = _query, ContentType = "application/json", Options = options, @@ -309,35 +310,36 @@ public async System.Threading.Tasks.Task ChangeStageCreateA cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns metadata for `Application` POSTs. /// - /// - /// + /// /// await client.Ats.Applications.MetaPostRetrieveAsync(new ApplicationsMetaPostRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task MetaPostRetrieveAsync( + /// + public async Task MetaPostRetrieveAsync( ApplicationsMetaPostRetrieveRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -349,8 +351,8 @@ public async System.Threading.Tasks.Task MetaPostRetrieveAsync( _query["application_remote_template_id"] = request.ApplicationRemoteTemplateId; } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -361,23 +363,26 @@ public async System.Threading.Tasks.Task MetaPostRetrieveAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Ats/Applications/Requests/ApplicationEndpointRequest.cs b/src/Merge.Client/Ats/Applications/Requests/ApplicationEndpointRequest.cs index 1921e06a..f9747f98 100644 --- a/src/Merge.Client/Ats/Applications/Requests/ApplicationEndpointRequest.cs +++ b/src/Merge.Client/Ats/Applications/Requests/ApplicationEndpointRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ats; @@ -7,17 +8,22 @@ public record ApplicationEndpointRequest /// /// Whether to include debug fields (such as log file links) in the response. /// + [JsonIgnore] public bool? IsDebugMode { get; set; } /// /// Whether or not third-party updates should be run asynchronously. /// + [JsonIgnore] public bool? RunAsync { get; set; } + [JsonPropertyName("model")] public required ApplicationRequest Model { get; set; } + [JsonPropertyName("remote_user_id")] public required string RemoteUserId { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Applications/Requests/ApplicationsListRequest.cs b/src/Merge.Client/Ats/Applications/Requests/ApplicationsListRequest.cs index 885603f3..03e634b8 100644 --- a/src/Merge.Client/Ats/Applications/Requests/ApplicationsListRequest.cs +++ b/src/Merge.Client/Ats/Applications/Requests/ApplicationsListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ats; @@ -7,88 +8,106 @@ public record ApplicationsListRequest /// /// If provided, will only return applications for this candidate. /// + [JsonIgnore] public string? CandidateId { get; set; } /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// If provided, will only return applications credited to this user. /// + [JsonIgnore] public string? CreditedToId { get; set; } /// /// If provided, will only return applications at this interview stage. /// + [JsonIgnore] public string? CurrentStageId { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public ApplicationsListRequestExpand? Expand { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, will only return applications for this job. /// + [JsonIgnore] public string? JobId { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// If provided, will only return applications with this reject reason. /// + [JsonIgnore] public string? RejectReasonId { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } /// /// If provided, will only return applications with this source. /// + [JsonIgnore] public string? Source { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Applications/Requests/ApplicationsMetaPostRetrieveRequest.cs b/src/Merge.Client/Ats/Applications/Requests/ApplicationsMetaPostRetrieveRequest.cs index a7e53fc8..a8b4c486 100644 --- a/src/Merge.Client/Ats/Applications/Requests/ApplicationsMetaPostRetrieveRequest.cs +++ b/src/Merge.Client/Ats/Applications/Requests/ApplicationsMetaPostRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ats; @@ -7,8 +8,10 @@ public record ApplicationsMetaPostRetrieveRequest /// /// The template ID associated with the nested application in the request. /// + [JsonIgnore] public string? ApplicationRemoteTemplateId { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Applications/Requests/ApplicationsRetrieveRequest.cs b/src/Merge.Client/Ats/Applications/Requests/ApplicationsRetrieveRequest.cs index 7b1c1d43..465fd286 100644 --- a/src/Merge.Client/Ats/Applications/Requests/ApplicationsRetrieveRequest.cs +++ b/src/Merge.Client/Ats/Applications/Requests/ApplicationsRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ats; @@ -7,13 +8,22 @@ public record ApplicationsRetrieveRequest /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public ApplicationsRetrieveRequestExpand? Expand { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Applications/Requests/UpdateApplicationStageRequest.cs b/src/Merge.Client/Ats/Applications/Requests/UpdateApplicationStageRequest.cs index e0ca8f5e..66d3301f 100644 --- a/src/Merge.Client/Ats/Applications/Requests/UpdateApplicationStageRequest.cs +++ b/src/Merge.Client/Ats/Applications/Requests/UpdateApplicationStageRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ats; @@ -7,20 +8,25 @@ public record UpdateApplicationStageRequest /// /// Whether to include debug fields (such as log file links) in the response. /// + [JsonIgnore] public bool? IsDebugMode { get; set; } /// /// Whether or not third-party updates should be run asynchronously. /// + [JsonIgnore] public bool? RunAsync { get; set; } /// /// The interview stage to move the application to. /// + [JsonPropertyName("job_interview_stage")] public string? JobInterviewStage { get; set; } + [JsonPropertyName("remote_user_id")] public string? RemoteUserId { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/AsyncPassthrough/AsyncPassthroughClient.cs b/src/Merge.Client/Ats/AsyncPassthrough/AsyncPassthroughClient.cs index ea8b1526..5c8ac38b 100644 --- a/src/Merge.Client/Ats/AsyncPassthrough/AsyncPassthroughClient.cs +++ b/src/Merge.Client/Ats/AsyncPassthrough/AsyncPassthroughClient.cs @@ -18,8 +18,7 @@ internal AsyncPassthroughClient(RawClient client) /// /// Asynchronously pull data from an endpoint not currently supported by Merge. /// - /// - /// + /// /// await client.Ats.AsyncPassthrough.CreateAsync( /// new Merge.Client.Ats.DataPassthroughRequest /// { @@ -27,17 +26,16 @@ internal AsyncPassthroughClient(RawClient client) /// Path = "/scooters", /// } /// ); - /// - /// - public async System.Threading.Tasks.Task CreateAsync( + /// + public async Task CreateAsync( DataPassthroughRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, @@ -49,69 +47,76 @@ public async System.Threading.Tasks.Task CreateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Retrieves data from earlier async-passthrough POST request /// - /// - /// + /// /// await client.Ats.AsyncPassthrough.RetrieveAsync("async_passthrough_receipt_id"); - /// - /// - public async System.Threading.Tasks.Task> RetrieveAsync( + /// + public async Task> RetrieveAsync( string asyncPassthroughReceiptId, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"ats/v1/async-passthrough/{asyncPassthroughReceiptId}", + Path = string.Format( + "ats/v1/async-passthrough/{0}", + ValueConvert.ToPathParameterString(asyncPassthroughReceiptId) + ), Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize>(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Ats/Attachments/AttachmentsClient.cs b/src/Merge.Client/Ats/Attachments/AttachmentsClient.cs index 3007b540..7cb837d6 100644 --- a/src/Merge.Client/Ats/Attachments/AttachmentsClient.cs +++ b/src/Merge.Client/Ats/Attachments/AttachmentsClient.cs @@ -17,12 +17,10 @@ internal AttachmentsClient(RawClient client) /// /// Returns a list of `Attachment` objects. /// - /// - /// + /// /// await client.Ats.Attachments.ListAsync(new AttachmentsListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( AttachmentsListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -92,8 +90,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["show_enum_origins"] = request.ShowEnumOrigins.ToString(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -104,31 +102,33 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Creates an `Attachment` object with the given values. /// - /// - /// + /// /// await client.Ats.Attachments.CreateAsync( /// new AttachmentEndpointRequest /// { @@ -136,9 +136,8 @@ public async System.Threading.Tasks.Task ListAsync( /// RemoteUserId = "remote_user_id", /// } /// ); - /// - /// - public async System.Threading.Tasks.Task CreateAsync( + /// + public async Task CreateAsync( AttachmentEndpointRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -153,19 +152,14 @@ public async System.Threading.Tasks.Task CreateAsync( { _query["run_async"] = JsonUtils.Serialize(request.RunAsync.Value); } - var requestBody = new Dictionary() - { - { "model", request.Model }, - { "remote_user_id", request.RemoteUserId }, - }; var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, Path = "ats/v1/attachments", - Body = requestBody, + Body = request, Query = _query, ContentType = "application/json", Options = options, @@ -173,35 +167,36 @@ public async System.Threading.Tasks.Task CreateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns an `Attachment` object with the given `id`. /// - /// - /// + /// /// await client.Ats.Attachments.RetrieveAsync("id", new AttachmentsRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, AttachmentsRetrieveRequest request, RequestOptions? options = null, @@ -217,6 +212,10 @@ public async System.Threading.Tasks.Task RetrieveAsync( { _query["include_remote_data"] = JsonUtils.Serialize(request.IncludeRemoteData.Value); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } if (request.RemoteFields != null) { _query["remote_fields"] = request.RemoteFields.ToString(); @@ -226,54 +225,58 @@ public async System.Threading.Tasks.Task RetrieveAsync( _query["show_enum_origins"] = request.ShowEnumOrigins.ToString(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"ats/v1/attachments/{id}", + Path = string.Format( + "ats/v1/attachments/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns metadata for `Attachment` POSTs. /// - /// - /// + /// /// await client.Ats.Attachments.MetaPostRetrieveAsync(); - /// - /// - public async System.Threading.Tasks.Task MetaPostRetrieveAsync( + /// + public async Task MetaPostRetrieveAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -283,23 +286,26 @@ public async System.Threading.Tasks.Task MetaPostRetrieveAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Ats/Attachments/Requests/AttachmentEndpointRequest.cs b/src/Merge.Client/Ats/Attachments/Requests/AttachmentEndpointRequest.cs index 3f936d97..96ae2e41 100644 --- a/src/Merge.Client/Ats/Attachments/Requests/AttachmentEndpointRequest.cs +++ b/src/Merge.Client/Ats/Attachments/Requests/AttachmentEndpointRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ats; @@ -7,17 +8,22 @@ public record AttachmentEndpointRequest /// /// Whether to include debug fields (such as log file links) in the response. /// + [JsonIgnore] public bool? IsDebugMode { get; set; } /// /// Whether or not third-party updates should be run asynchronously. /// + [JsonIgnore] public bool? RunAsync { get; set; } + [JsonPropertyName("model")] public required AttachmentRequest Model { get; set; } + [JsonPropertyName("remote_user_id")] public required string RemoteUserId { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Attachments/Requests/AttachmentsListRequest.cs b/src/Merge.Client/Ats/Attachments/Requests/AttachmentsListRequest.cs index 1cebd471..ec290c98 100644 --- a/src/Merge.Client/Ats/Attachments/Requests/AttachmentsListRequest.cs +++ b/src/Merge.Client/Ats/Attachments/Requests/AttachmentsListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ats; @@ -7,73 +8,88 @@ public record AttachmentsListRequest /// /// If provided, will only return attachments for this candidate. /// + [JsonIgnore] public string? CandidateId { get; set; } /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public string? Expand { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// Deprecated. Use show_enum_origins. /// + [JsonIgnore] public string? RemoteFields { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } /// /// A comma separated list of enum field names for which you'd like the original values to be returned, instead of Merge's normalized enum values. [Learn more](https://help.merge.dev/en/articles/8950958-show_enum_origins-query-parameter) /// + [JsonIgnore] public string? ShowEnumOrigins { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Attachments/Requests/AttachmentsRetrieveRequest.cs b/src/Merge.Client/Ats/Attachments/Requests/AttachmentsRetrieveRequest.cs index c79f3718..1d1cc7ae 100644 --- a/src/Merge.Client/Ats/Attachments/Requests/AttachmentsRetrieveRequest.cs +++ b/src/Merge.Client/Ats/Attachments/Requests/AttachmentsRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ats; @@ -7,23 +8,34 @@ public record AttachmentsRetrieveRequest /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public string? Expand { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + /// /// Deprecated. Use show_enum_origins. /// + [JsonIgnore] public string? RemoteFields { get; set; } /// /// A comma separated list of enum field names for which you'd like the original values to be returned, instead of Merge's normalized enum values. [Learn more](https://help.merge.dev/en/articles/8950958-show_enum_origins-query-parameter) /// + [JsonIgnore] public string? ShowEnumOrigins { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/AuditTrail/AuditTrailClient.cs b/src/Merge.Client/Ats/AuditTrail/AuditTrailClient.cs index 2919909f..22668864 100644 --- a/src/Merge.Client/Ats/AuditTrail/AuditTrailClient.cs +++ b/src/Merge.Client/Ats/AuditTrail/AuditTrailClient.cs @@ -17,12 +17,10 @@ internal AuditTrailClient(RawClient client) /// /// Gets a list of audit trail events. /// - /// - /// + /// /// await client.Ats.AuditTrail.ListAsync(new AuditTrailListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( AuditTrailListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -54,8 +52,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["user_email"] = request.UserEmail; } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -66,23 +64,26 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Ats/AuditTrail/Requests/AuditTrailListRequest.cs b/src/Merge.Client/Ats/AuditTrail/Requests/AuditTrailListRequest.cs index 75771c9e..31121087 100644 --- a/src/Merge.Client/Ats/AuditTrail/Requests/AuditTrailListRequest.cs +++ b/src/Merge.Client/Ats/AuditTrail/Requests/AuditTrailListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ats; @@ -7,33 +8,40 @@ public record AuditTrailListRequest /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// If included, will only include audit trail events that occurred before this time /// + [JsonIgnore] public string? EndDate { get; set; } /// - /// If included, will only include events with the given event type. Possible values include: `CREATED_REMOTE_PRODUCTION_API_KEY`, `DELETED_REMOTE_PRODUCTION_API_KEY`, `CREATED_TEST_API_KEY`, `DELETED_TEST_API_KEY`, `REGENERATED_PRODUCTION_API_KEY`, `INVITED_USER`, `TWO_FACTOR_AUTH_ENABLED`, `TWO_FACTOR_AUTH_DISABLED`, `DELETED_LINKED_ACCOUNT`, `CREATED_DESTINATION`, `DELETED_DESTINATION`, `CHANGED_DESTINATION`, `CHANGED_SCOPES`, `CHANGED_PERSONAL_INFORMATION`, `CHANGED_ORGANIZATION_SETTINGS`, `ENABLED_INTEGRATION`, `DISABLED_INTEGRATION`, `ENABLED_CATEGORY`, `DISABLED_CATEGORY`, `CHANGED_PASSWORD`, `RESET_PASSWORD`, `ENABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION`, `ENABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT`, `DISABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION`, `DISABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT`, `CREATED_INTEGRATION_WIDE_FIELD_MAPPING`, `CREATED_LINKED_ACCOUNT_FIELD_MAPPING`, `CHANGED_INTEGRATION_WIDE_FIELD_MAPPING`, `CHANGED_LINKED_ACCOUNT_FIELD_MAPPING`, `DELETED_INTEGRATION_WIDE_FIELD_MAPPING`, `DELETED_LINKED_ACCOUNT_FIELD_MAPPING`, `CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE`, `CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE`, `DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE`, `FORCED_LINKED_ACCOUNT_RESYNC`, `MUTED_ISSUE`, `GENERATED_MAGIC_LINK`, `ENABLED_MERGE_WEBHOOK`, `DISABLED_MERGE_WEBHOOK`, `MERGE_WEBHOOK_TARGET_CHANGED`, `END_USER_CREDENTIALS_ACCESSED` + /// If included, will only include events with the given event type. Possible values include: `CREATED_REMOTE_PRODUCTION_API_KEY`, `DELETED_REMOTE_PRODUCTION_API_KEY`, `CREATED_TEST_API_KEY`, `DELETED_TEST_API_KEY`, `REGENERATED_PRODUCTION_API_KEY`, `INVITED_USER`, `TWO_FACTOR_AUTH_ENABLED`, `TWO_FACTOR_AUTH_DISABLED`, `DELETED_LINKED_ACCOUNT`, `DELETED_ALL_COMMON_MODELS_FOR_LINKED_ACCOUNT`, `CREATED_DESTINATION`, `DELETED_DESTINATION`, `CHANGED_DESTINATION`, `CHANGED_SCOPES`, `CHANGED_PERSONAL_INFORMATION`, `CHANGED_ORGANIZATION_SETTINGS`, `ENABLED_INTEGRATION`, `DISABLED_INTEGRATION`, `ENABLED_CATEGORY`, `DISABLED_CATEGORY`, `CHANGED_PASSWORD`, `RESET_PASSWORD`, `ENABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION`, `ENABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT`, `DISABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION`, `DISABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT`, `CREATED_INTEGRATION_WIDE_FIELD_MAPPING`, `CREATED_LINKED_ACCOUNT_FIELD_MAPPING`, `CHANGED_INTEGRATION_WIDE_FIELD_MAPPING`, `CHANGED_LINKED_ACCOUNT_FIELD_MAPPING`, `DELETED_INTEGRATION_WIDE_FIELD_MAPPING`, `DELETED_LINKED_ACCOUNT_FIELD_MAPPING`, `CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE`, `CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE`, `DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE`, `FORCED_LINKED_ACCOUNT_RESYNC`, `MUTED_ISSUE`, `GENERATED_MAGIC_LINK`, `ENABLED_MERGE_WEBHOOK`, `DISABLED_MERGE_WEBHOOK`, `MERGE_WEBHOOK_TARGET_CHANGED`, `END_USER_CREDENTIALS_ACCESSED` /// + [JsonIgnore] public string? EventType { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// If included, will only include audit trail events that occurred after this time /// + [JsonIgnore] public string? StartDate { get; set; } /// /// If provided, this will return events associated with the specified user email. Please note that the email address reflects the user's email at the time of the event, and may not be their current email. /// + [JsonIgnore] public string? UserEmail { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/AvailableActions/AvailableActionsClient.cs b/src/Merge.Client/Ats/AvailableActions/AvailableActionsClient.cs index a3f6be17..803f869a 100644 --- a/src/Merge.Client/Ats/AvailableActions/AvailableActionsClient.cs +++ b/src/Merge.Client/Ats/AvailableActions/AvailableActionsClient.cs @@ -17,19 +17,17 @@ internal AvailableActionsClient(RawClient client) /// /// Returns a list of models and actions available for an account. /// - /// - /// + /// /// await client.Ats.AvailableActions.RetrieveAsync(); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -39,23 +37,26 @@ public async System.Threading.Tasks.Task RetrieveAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Ats/Candidates/CandidatesClient.cs b/src/Merge.Client/Ats/Candidates/CandidatesClient.cs index d0bb2965..e8c2a9b8 100644 --- a/src/Merge.Client/Ats/Candidates/CandidatesClient.cs +++ b/src/Merge.Client/Ats/Candidates/CandidatesClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using global::System.Threading.Tasks; using Merge.Client.Core; namespace Merge.Client.Ats; @@ -17,12 +18,10 @@ internal CandidatesClient(RawClient client) /// /// Returns a list of `Candidate` objects. /// - /// - /// + /// /// await client.Ats.Candidates.ListAsync(new CandidatesListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( CandidatesListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -96,8 +95,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["tags"] = request.Tags; } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -108,37 +107,38 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Creates a `Candidate` object with the given values. /// - /// - /// + /// /// await client.Ats.Candidates.CreateAsync( /// new CandidateEndpointRequest { Model = new CandidateRequest(), RemoteUserId = "remote_user_id" } /// ); - /// - /// - public async System.Threading.Tasks.Task CreateAsync( + /// + public async Task CreateAsync( CandidateEndpointRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -153,19 +153,14 @@ public async System.Threading.Tasks.Task CreateAsync( { _query["run_async"] = JsonUtils.Serialize(request.RunAsync.Value); } - var requestBody = new Dictionary() - { - { "model", request.Model }, - { "remote_user_id", request.RemoteUserId }, - }; var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, Path = "ats/v1/candidates", - Body = requestBody, + Body = request, Query = _query, ContentType = "application/json", Options = options, @@ -173,35 +168,36 @@ public async System.Threading.Tasks.Task CreateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a `Candidate` object with the given `id`. /// - /// - /// + /// /// await client.Ats.Candidates.RetrieveAsync("id", new CandidatesRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, CandidatesRetrieveRequest request, RequestOptions? options = null, @@ -217,44 +213,53 @@ public async System.Threading.Tasks.Task RetrieveAsync( { _query["include_remote_data"] = JsonUtils.Serialize(request.IncludeRemoteData.Value); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"ats/v1/candidates/{id}", + Path = string.Format( + "ats/v1/candidates/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Updates a `Candidate` object with the given `id`. /// - /// - /// + /// /// await client.Ats.Candidates.PartialUpdateAsync( /// "id", /// new PatchedCandidateEndpointRequest @@ -263,9 +268,8 @@ public async System.Threading.Tasks.Task RetrieveAsync( /// RemoteUserId = "remote_user_id", /// } /// ); - /// - /// - public async System.Threading.Tasks.Task PartialUpdateAsync( + /// + public async Task PartialUpdateAsync( string id, PatchedCandidateEndpointRequest request, RequestOptions? options = null, @@ -281,19 +285,17 @@ public async System.Threading.Tasks.Task PartialUpdateAsync( { _query["run_async"] = JsonUtils.Serialize(request.RunAsync.Value); } - var requestBody = new Dictionary() - { - { "model", request.Model }, - { "remote_user_id", request.RemoteUserId }, - }; var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethodExtensions.Patch, - Path = $"ats/v1/candidates/{id}", - Body = requestBody, + Path = string.Format( + "ats/v1/candidates/{0}", + ValueConvert.ToPathParameterString(id) + ), + Body = request, Query = _query, ContentType = "application/json", Options = options, @@ -301,31 +303,33 @@ public async System.Threading.Tasks.Task PartialUpdateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Ignores a specific row based on the `model_id` in the url. These records will have their properties set to null, and will not be updated in future syncs. The "reason" and "message" fields in the request body will be stored for audit purposes. /// - /// - /// + /// /// await client.Ats.Candidates.IgnoreCreateAsync( /// "model_id", /// new Merge.Client.Ats.IgnoreCommonModelRequest @@ -333,9 +337,8 @@ public async System.Threading.Tasks.Task PartialUpdateAsync( /// Reason = Merge.Client.Ats.ReasonEnum.GeneralCustomerRequest, /// } /// ); - /// - /// - public async System.Threading.Tasks.Task IgnoreCreateAsync( + /// + public async global::System.Threading.Tasks.Task IgnoreCreateAsync( string modelId, IgnoreCommonModelRequest request, RequestOptions? options = null, @@ -343,12 +346,15 @@ public async System.Threading.Tasks.Task IgnoreCreateAsync( ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, - Path = $"ats/v1/candidates/ignore/{modelId}", + Path = string.Format( + "ats/v1/candidates/ignore/{0}", + ValueConvert.ToPathParameterString(modelId) + ), Body = request, ContentType = "application/json", Options = options, @@ -360,76 +366,80 @@ public async System.Threading.Tasks.Task IgnoreCreateAsync( { return; } - var responseBody = await response.Raw.Content.ReadAsStringAsync(); - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns metadata for `Candidate` PATCHs. /// - /// - /// + /// /// await client.Ats.Candidates.MetaPatchRetrieveAsync("id"); - /// - /// - public async System.Threading.Tasks.Task MetaPatchRetrieveAsync( + /// + public async Task MetaPatchRetrieveAsync( string id, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"ats/v1/candidates/meta/patch/{id}", + Path = string.Format( + "ats/v1/candidates/meta/patch/{0}", + ValueConvert.ToPathParameterString(id) + ), Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns metadata for `Candidate` POSTs. /// - /// - /// + /// /// await client.Ats.Candidates.MetaPostRetrieveAsync(); - /// - /// - public async System.Threading.Tasks.Task MetaPostRetrieveAsync( + /// + public async Task MetaPostRetrieveAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -439,23 +449,26 @@ public async System.Threading.Tasks.Task MetaPostRetrieveAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Ats/Candidates/Requests/CandidateEndpointRequest.cs b/src/Merge.Client/Ats/Candidates/Requests/CandidateEndpointRequest.cs index 7fe9da29..d7bab164 100644 --- a/src/Merge.Client/Ats/Candidates/Requests/CandidateEndpointRequest.cs +++ b/src/Merge.Client/Ats/Candidates/Requests/CandidateEndpointRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ats; @@ -7,17 +8,22 @@ public record CandidateEndpointRequest /// /// Whether to include debug fields (such as log file links) in the response. /// + [JsonIgnore] public bool? IsDebugMode { get; set; } /// /// Whether or not third-party updates should be run asynchronously. /// + [JsonIgnore] public bool? RunAsync { get; set; } + [JsonPropertyName("model")] public required CandidateRequest Model { get; set; } + [JsonPropertyName("remote_user_id")] public required string RemoteUserId { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Candidates/Requests/CandidatesListRequest.cs b/src/Merge.Client/Ats/Candidates/Requests/CandidatesListRequest.cs index a3ec3b5b..2bd75d56 100644 --- a/src/Merge.Client/Ats/Candidates/Requests/CandidatesListRequest.cs +++ b/src/Merge.Client/Ats/Candidates/Requests/CandidatesListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ats; @@ -7,78 +8,94 @@ public record CandidatesListRequest /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// If provided, will only return candidates with these email addresses; multiple addresses can be separated by commas. /// + [JsonIgnore] public string? EmailAddresses { get; set; } /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public CandidatesListRequestExpand? Expand { get; set; } /// /// If provided, will only return candidates with this first name. /// + [JsonIgnore] public string? FirstName { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, will only return candidates with this last name. /// + [JsonIgnore] public string? LastName { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } /// /// If provided, will only return candidates with these tags; multiple tags can be separated by commas. /// + [JsonIgnore] public string? Tags { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Candidates/Requests/CandidatesRetrieveRequest.cs b/src/Merge.Client/Ats/Candidates/Requests/CandidatesRetrieveRequest.cs index c8616887..600675af 100644 --- a/src/Merge.Client/Ats/Candidates/Requests/CandidatesRetrieveRequest.cs +++ b/src/Merge.Client/Ats/Candidates/Requests/CandidatesRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ats; @@ -7,13 +8,22 @@ public record CandidatesRetrieveRequest /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public CandidatesRetrieveRequestExpand? Expand { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Candidates/Requests/IgnoreCommonModelRequest.cs b/src/Merge.Client/Ats/Candidates/Requests/IgnoreCommonModelRequest.cs index dbed412b..87f22ddc 100644 --- a/src/Merge.Client/Ats/Candidates/Requests/IgnoreCommonModelRequest.cs +++ b/src/Merge.Client/Ats/Candidates/Requests/IgnoreCommonModelRequest.cs @@ -11,6 +11,7 @@ public record IgnoreCommonModelRequest [JsonPropertyName("message")] public string? Message { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Candidates/Requests/PatchedCandidateEndpointRequest.cs b/src/Merge.Client/Ats/Candidates/Requests/PatchedCandidateEndpointRequest.cs index 2d854152..12430d8d 100644 --- a/src/Merge.Client/Ats/Candidates/Requests/PatchedCandidateEndpointRequest.cs +++ b/src/Merge.Client/Ats/Candidates/Requests/PatchedCandidateEndpointRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ats; @@ -7,17 +8,22 @@ public record PatchedCandidateEndpointRequest /// /// Whether to include debug fields (such as log file links) in the response. /// + [JsonIgnore] public bool? IsDebugMode { get; set; } /// /// Whether or not third-party updates should be run asynchronously. /// + [JsonIgnore] public bool? RunAsync { get; set; } + [JsonPropertyName("model")] public required PatchedCandidateRequest Model { get; set; } + [JsonPropertyName("remote_user_id")] public required string RemoteUserId { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/DeleteAccount/DeleteAccountClient.cs b/src/Merge.Client/Ats/DeleteAccount/DeleteAccountClient.cs index 1dae323d..8f4f6120 100644 --- a/src/Merge.Client/Ats/DeleteAccount/DeleteAccountClient.cs +++ b/src/Merge.Client/Ats/DeleteAccount/DeleteAccountClient.cs @@ -1,5 +1,6 @@ using System.Net.Http; using System.Threading; +using global::System.Threading.Tasks; using Merge.Client.Core; namespace Merge.Client.Ats; @@ -16,19 +17,17 @@ internal DeleteAccountClient(RawClient client) /// /// Delete a linked account. /// - /// - /// + /// /// await client.Ats.DeleteAccount.DeleteAsync(); - /// - /// - public async System.Threading.Tasks.Task DeleteAsync( + /// + public async global::System.Threading.Tasks.Task DeleteAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, @@ -42,11 +41,13 @@ public async System.Threading.Tasks.Task DeleteAsync( { return; } - var responseBody = await response.Raw.Content.ReadAsStringAsync(); - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Ats/Departments/DepartmentsClient.cs b/src/Merge.Client/Ats/Departments/DepartmentsClient.cs index 819e47e8..6164cd67 100644 --- a/src/Merge.Client/Ats/Departments/DepartmentsClient.cs +++ b/src/Merge.Client/Ats/Departments/DepartmentsClient.cs @@ -17,12 +17,10 @@ internal DepartmentsClient(RawClient client) /// /// Returns a list of `Department` objects. /// - /// - /// + /// /// await client.Ats.Departments.ListAsync(new DepartmentsListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( DepartmentsListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -76,8 +74,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["remote_id"] = request.RemoteId; } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -88,35 +86,36 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a `Department` object with the given `id`. /// - /// - /// + /// /// await client.Ats.Departments.RetrieveAsync("id", new DepartmentsRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, DepartmentsRetrieveRequest request, RequestOptions? options = null, @@ -128,36 +127,46 @@ public async System.Threading.Tasks.Task RetrieveAsync( { _query["include_remote_data"] = JsonUtils.Serialize(request.IncludeRemoteData.Value); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"ats/v1/departments/{id}", + Path = string.Format( + "ats/v1/departments/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Ats/Departments/Requests/DepartmentsListRequest.cs b/src/Merge.Client/Ats/Departments/Requests/DepartmentsListRequest.cs index 035220cb..58228a8f 100644 --- a/src/Merge.Client/Ats/Departments/Requests/DepartmentsListRequest.cs +++ b/src/Merge.Client/Ats/Departments/Requests/DepartmentsListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ats; @@ -7,53 +8,64 @@ public record DepartmentsListRequest /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Departments/Requests/DepartmentsRetrieveRequest.cs b/src/Merge.Client/Ats/Departments/Requests/DepartmentsRetrieveRequest.cs index e737b282..60e80668 100644 --- a/src/Merge.Client/Ats/Departments/Requests/DepartmentsRetrieveRequest.cs +++ b/src/Merge.Client/Ats/Departments/Requests/DepartmentsRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ats; @@ -7,8 +8,16 @@ public record DepartmentsRetrieveRequest /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Eeocs/EeocsClient.cs b/src/Merge.Client/Ats/Eeocs/EeocsClient.cs index faa8d122..6c86fa33 100644 --- a/src/Merge.Client/Ats/Eeocs/EeocsClient.cs +++ b/src/Merge.Client/Ats/Eeocs/EeocsClient.cs @@ -17,12 +17,10 @@ internal EeocsClient(RawClient client) /// /// Returns a list of `EEOC` objects. /// - /// - /// + /// /// await client.Ats.Eeocs.ListAsync(new EeocsListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( EeocsListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -92,8 +90,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["show_enum_origins"] = request.ShowEnumOrigins.Value.Stringify(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -104,35 +102,36 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns an `EEOC` object with the given `id`. /// - /// - /// + /// /// await client.Ats.Eeocs.RetrieveAsync("id", new EeocsRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, EeocsRetrieveRequest request, RequestOptions? options = null, @@ -148,6 +147,10 @@ public async System.Threading.Tasks.Task RetrieveAsync( { _query["include_remote_data"] = JsonUtils.Serialize(request.IncludeRemoteData.Value); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } if (request.RemoteFields != null) { _query["remote_fields"] = request.RemoteFields.Value.Stringify(); @@ -157,35 +160,41 @@ public async System.Threading.Tasks.Task RetrieveAsync( _query["show_enum_origins"] = request.ShowEnumOrigins.Value.Stringify(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"ats/v1/eeocs/{id}", + Path = string.Format( + "ats/v1/eeocs/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Ats/Eeocs/Requests/EeocsListRequest.cs b/src/Merge.Client/Ats/Eeocs/Requests/EeocsListRequest.cs index 047f7de8..a4985d01 100644 --- a/src/Merge.Client/Ats/Eeocs/Requests/EeocsListRequest.cs +++ b/src/Merge.Client/Ats/Eeocs/Requests/EeocsListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ats; @@ -7,73 +8,88 @@ public record EeocsListRequest /// /// If provided, will only return EEOC info for this candidate. /// + [JsonIgnore] public string? CandidateId { get; set; } /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public string? Expand { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// Deprecated. Use show_enum_origins. /// + [JsonIgnore] public EeocsListRequestRemoteFields? RemoteFields { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } /// /// A comma separated list of enum field names for which you'd like the original values to be returned, instead of Merge's normalized enum values. [Learn more](https://help.merge.dev/en/articles/8950958-show_enum_origins-query-parameter) /// + [JsonIgnore] public EeocsListRequestShowEnumOrigins? ShowEnumOrigins { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Eeocs/Requests/EeocsRetrieveRequest.cs b/src/Merge.Client/Ats/Eeocs/Requests/EeocsRetrieveRequest.cs index 02d05544..705a9b43 100644 --- a/src/Merge.Client/Ats/Eeocs/Requests/EeocsRetrieveRequest.cs +++ b/src/Merge.Client/Ats/Eeocs/Requests/EeocsRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ats; @@ -7,23 +8,34 @@ public record EeocsRetrieveRequest /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public string? Expand { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + /// /// Deprecated. Use show_enum_origins. /// + [JsonIgnore] public EeocsRetrieveRequestRemoteFields? RemoteFields { get; set; } /// /// A comma separated list of enum field names for which you'd like the original values to be returned, instead of Merge's normalized enum values. [Learn more](https://help.merge.dev/en/articles/8950958-show_enum_origins-query-parameter) /// + [JsonIgnore] public EeocsRetrieveRequestShowEnumOrigins? ShowEnumOrigins { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/FieldMapping/FieldMappingClient.cs b/src/Merge.Client/Ats/FieldMapping/FieldMappingClient.cs index 8a272925..d20d08ad 100644 --- a/src/Merge.Client/Ats/FieldMapping/FieldMappingClient.cs +++ b/src/Merge.Client/Ats/FieldMapping/FieldMappingClient.cs @@ -17,12 +17,10 @@ internal FieldMappingClient(RawClient client) /// /// Get all Field Mappings for this Linked Account. Field Mappings are mappings between third-party Remote Fields and user defined Merge fields. [Learn more](https://docs.merge.dev/supplemental-data/field-mappings/overview/). /// - /// - /// + /// /// await client.Ats.FieldMapping.FieldMappingsRetrieveAsync(new FieldMappingsRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task FieldMappingsRetrieveAsync( + /// + public async Task FieldMappingsRetrieveAsync( FieldMappingsRetrieveRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -36,8 +34,8 @@ public async System.Threading.Tasks.Task FieldM ); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -48,31 +46,33 @@ public async System.Threading.Tasks.Task FieldM cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Create new Field Mappings that will be available after the next scheduled sync. This will cause the next sync for this Linked Account to sync **ALL** data from start. /// - /// - /// + /// /// await client.Ats.FieldMapping.FieldMappingsCreateAsync( /// new CreateFieldMappingRequest /// { @@ -84,9 +84,8 @@ public async System.Threading.Tasks.Task FieldM /// CommonModelName = "ExampleCommonModel", /// } /// ); - /// - /// - public async System.Threading.Tasks.Task FieldMappingsCreateAsync( + /// + public async Task FieldMappingsCreateAsync( CreateFieldMappingRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -99,23 +98,14 @@ public async System.Threading.Tasks.Task FieldMapp request.ExcludeRemoteFieldMetadata.Value ); } - var requestBody = new Dictionary() - { - { "target_field_name", request.TargetFieldName }, - { "target_field_description", request.TargetFieldDescription }, - { "remote_field_traversal_path", request.RemoteFieldTraversalPath }, - { "remote_method", request.RemoteMethod }, - { "remote_url_path", request.RemoteUrlPath }, - { "common_model_name", request.CommonModelName }, - }; var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, Path = "ats/v1/field-mappings", - Body = requestBody, + Body = request, Query = _query, ContentType = "application/json", Options = options, @@ -123,84 +113,89 @@ public async System.Threading.Tasks.Task FieldMapp cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Deletes Field Mappings for a Linked Account. All data related to this Field Mapping will be deleted and these changes will be reflected after the next scheduled sync. This will cause the next sync for this Linked Account to sync **ALL** data from start. /// - /// - /// + /// /// await client.Ats.FieldMapping.FieldMappingsDestroyAsync("field_mapping_id"); - /// - /// - public async System.Threading.Tasks.Task FieldMappingsDestroyAsync( + /// + public async Task FieldMappingsDestroyAsync( string fieldMappingId, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Delete, - Path = $"ats/v1/field-mappings/{fieldMappingId}", + Path = string.Format( + "ats/v1/field-mappings/{0}", + ValueConvert.ToPathParameterString(fieldMappingId) + ), Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Create or update existing Field Mappings for a Linked Account. Changes will be reflected after the next scheduled sync. This will cause the next sync for this Linked Account to sync **ALL** data from start. /// - /// - /// + /// /// await client.Ats.FieldMapping.FieldMappingsPartialUpdateAsync( /// "field_mapping_id", /// new PatchedEditFieldMappingRequest() /// ); - /// - /// - public async System.Threading.Tasks.Task FieldMappingsPartialUpdateAsync( + /// + public async Task FieldMappingsPartialUpdateAsync( string fieldMappingId, PatchedEditFieldMappingRequest request, RequestOptions? options = null, @@ -208,12 +203,15 @@ public async System.Threading.Tasks.Task FieldMapp ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethodExtensions.Patch, - Path = $"ats/v1/field-mappings/{fieldMappingId}", + Path = string.Format( + "ats/v1/field-mappings/{0}", + ValueConvert.ToPathParameterString(fieldMappingId) + ), Body = request, ContentType = "application/json", Options = options, @@ -221,35 +219,36 @@ public async System.Threading.Tasks.Task FieldMapp cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Get all remote fields for a Linked Account. Remote fields are third-party fields that are accessible after initial sync if remote_data is enabled. You can use remote fields to override existing Merge fields or map a new Merge field. [Learn more](https://docs.merge.dev/supplemental-data/field-mappings/overview/). /// - /// - /// + /// /// await client.Ats.FieldMapping.RemoteFieldsRetrieveAsync(new RemoteFieldsRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RemoteFieldsRetrieveAsync( + /// + public async Task RemoteFieldsRetrieveAsync( RemoteFieldsRetrieveRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -265,8 +264,8 @@ public async System.Threading.Tasks.Task RemoteFieldsRet _query["include_example_values"] = request.IncludeExampleValues; } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -277,42 +276,43 @@ public async System.Threading.Tasks.Task RemoteFieldsRet cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Get all organization-wide Target Fields, this will not include any Linked Account specific Target Fields. Organization-wide Target Fields are additional fields appended to the Merge Common Model for all Linked Accounts in a category. [Learn more](https://docs.merge.dev/supplemental-data/field-mappings/target-fields/). /// - /// - /// + /// /// await client.Ats.FieldMapping.TargetFieldsRetrieveAsync(); - /// - /// - public async System.Threading.Tasks.Task TargetFieldsRetrieveAsync( + /// + public async Task TargetFieldsRetrieveAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -322,23 +322,26 @@ public async System.Threading.Tasks.Task TargetF cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Ats/FieldMapping/Requests/CreateFieldMappingRequest.cs b/src/Merge.Client/Ats/FieldMapping/Requests/CreateFieldMappingRequest.cs index 8808815d..c159dae3 100644 --- a/src/Merge.Client/Ats/FieldMapping/Requests/CreateFieldMappingRequest.cs +++ b/src/Merge.Client/Ats/FieldMapping/Requests/CreateFieldMappingRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ats; @@ -7,38 +8,46 @@ public record CreateFieldMappingRequest /// /// If `true`, remote fields metadata is excluded from each field mapping instance (i.e. `remote_fields.remote_key_name` and `remote_fields.schema` will be null). This will increase the speed of the request since these fields require some calculations. /// + [JsonIgnore] public bool? ExcludeRemoteFieldMetadata { get; set; } /// /// The name of the target field you want this remote field to map to. /// + [JsonPropertyName("target_field_name")] public required string TargetFieldName { get; set; } /// /// The description of the target field you want this remote field to map to. /// + [JsonPropertyName("target_field_description")] public required string TargetFieldDescription { get; set; } /// /// The field traversal path of the remote field listed when you hit the GET /remote-fields endpoint. /// + [JsonPropertyName("remote_field_traversal_path")] public IEnumerable RemoteFieldTraversalPath { get; set; } = new List(); /// /// The method of the remote endpoint where the remote field is coming from. /// + [JsonPropertyName("remote_method")] public required string RemoteMethod { get; set; } /// /// The path of the remote endpoint where the remote field is coming from. /// + [JsonPropertyName("remote_url_path")] public required string RemoteUrlPath { get; set; } /// /// The name of the Common Model that the remote field corresponds to in a given category. /// + [JsonPropertyName("common_model_name")] public required string CommonModelName { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/FieldMapping/Requests/FieldMappingsRetrieveRequest.cs b/src/Merge.Client/Ats/FieldMapping/Requests/FieldMappingsRetrieveRequest.cs index c697220d..3e831489 100644 --- a/src/Merge.Client/Ats/FieldMapping/Requests/FieldMappingsRetrieveRequest.cs +++ b/src/Merge.Client/Ats/FieldMapping/Requests/FieldMappingsRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ats; @@ -7,8 +8,10 @@ public record FieldMappingsRetrieveRequest /// /// If `true`, remote fields metadata is excluded from each field mapping instance (i.e. `remote_fields.remote_key_name` and `remote_fields.schema` will be null). This will increase the speed of the request since these fields require some calculations. /// + [JsonIgnore] public bool? ExcludeRemoteFieldMetadata { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/FieldMapping/Requests/PatchedEditFieldMappingRequest.cs b/src/Merge.Client/Ats/FieldMapping/Requests/PatchedEditFieldMappingRequest.cs index 0b3b2305..442a6efd 100644 --- a/src/Merge.Client/Ats/FieldMapping/Requests/PatchedEditFieldMappingRequest.cs +++ b/src/Merge.Client/Ats/FieldMapping/Requests/PatchedEditFieldMappingRequest.cs @@ -23,6 +23,7 @@ public record PatchedEditFieldMappingRequest [JsonPropertyName("remote_url_path")] public string? RemoteUrlPath { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/FieldMapping/Requests/RemoteFieldsRetrieveRequest.cs b/src/Merge.Client/Ats/FieldMapping/Requests/RemoteFieldsRetrieveRequest.cs index f40c015b..b4952fe8 100644 --- a/src/Merge.Client/Ats/FieldMapping/Requests/RemoteFieldsRetrieveRequest.cs +++ b/src/Merge.Client/Ats/FieldMapping/Requests/RemoteFieldsRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ats; @@ -7,13 +8,16 @@ public record RemoteFieldsRetrieveRequest /// /// A comma seperated list of Common Model names. If included, will only return Remote Fields for those Common Models. /// + [JsonIgnore] public string? CommonModels { get; set; } /// /// If true, will include example values, where available, for remote fields in the 3rd party platform. These examples come from active data from your customers. /// + [JsonIgnore] public string? IncludeExampleValues { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/ForceResync/ForceResyncClient.cs b/src/Merge.Client/Ats/ForceResync/ForceResyncClient.cs index aefde2e7..60d32c18 100644 --- a/src/Merge.Client/Ats/ForceResync/ForceResyncClient.cs +++ b/src/Merge.Client/Ats/ForceResync/ForceResyncClient.cs @@ -15,21 +15,19 @@ internal ForceResyncClient(RawClient client) } /// - /// Force re-sync of all models. This is available for all organizations via the dashboard. Force re-sync is also available programmatically via API for monthly, quarterly, and highest sync frequency customers on the Professional or Enterprise plans. Doing so will consume a sync credit for the relevant linked account. + /// Force re-sync of all models. This endpoint is available for monthly, quarterly, and highest sync frequency customers on the Professional or Enterprise plans. Doing so will consume a sync credit for the relevant linked account. Force re-syncs can also be triggered manually in the Merge Dashboard and is available for all customers. /// - /// - /// + /// /// await client.Ats.ForceResync.SyncStatusResyncCreateAsync(); - /// - /// - public async System.Threading.Tasks.Task> SyncStatusResyncCreateAsync( + /// + public async Task> SyncStatusResyncCreateAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, @@ -39,23 +37,26 @@ public async System.Threading.Tasks.Task> SyncStatusResy cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize>(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Ats/GenerateKey/GenerateKeyClient.cs b/src/Merge.Client/Ats/GenerateKey/GenerateKeyClient.cs index c8f2123c..7af8b87e 100644 --- a/src/Merge.Client/Ats/GenerateKey/GenerateKeyClient.cs +++ b/src/Merge.Client/Ats/GenerateKey/GenerateKeyClient.cs @@ -17,22 +17,20 @@ internal GenerateKeyClient(RawClient client) /// /// Create a remote key. /// - /// - /// + /// /// await client.Ats.GenerateKey.CreateAsync( /// new GenerateRemoteKeyRequest { Name = "Remote Deployment Key 1" } /// ); - /// - /// - public async System.Threading.Tasks.Task CreateAsync( + /// + public async Task CreateAsync( GenerateRemoteKeyRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, @@ -44,23 +42,26 @@ public async System.Threading.Tasks.Task CreateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Ats/GenerateKey/Requests/GenerateRemoteKeyRequest.cs b/src/Merge.Client/Ats/GenerateKey/Requests/GenerateRemoteKeyRequest.cs index c9f5cf48..791d326d 100644 --- a/src/Merge.Client/Ats/GenerateKey/Requests/GenerateRemoteKeyRequest.cs +++ b/src/Merge.Client/Ats/GenerateKey/Requests/GenerateRemoteKeyRequest.cs @@ -11,6 +11,7 @@ public record GenerateRemoteKeyRequest [JsonPropertyName("name")] public required string Name { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Interviews/InterviewsClient.cs b/src/Merge.Client/Ats/Interviews/InterviewsClient.cs index f9260605..5db2332c 100644 --- a/src/Merge.Client/Ats/Interviews/InterviewsClient.cs +++ b/src/Merge.Client/Ats/Interviews/InterviewsClient.cs @@ -17,12 +17,10 @@ internal InterviewsClient(RawClient client) /// /// Returns a list of `ScheduledInterview` objects. /// - /// - /// + /// /// await client.Ats.Interviews.ListAsync(new InterviewsListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( InterviewsListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -104,8 +102,8 @@ public async System.Threading.Tasks.Task ListAs _query["show_enum_origins"] = request.ShowEnumOrigins.ToString(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -116,31 +114,33 @@ public async System.Threading.Tasks.Task ListAs cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Creates a `ScheduledInterview` object with the given values. /// - /// - /// + /// /// await client.Ats.Interviews.CreateAsync( /// new ScheduledInterviewEndpointRequest /// { @@ -148,9 +148,8 @@ public async System.Threading.Tasks.Task ListAs /// RemoteUserId = "remote_user_id", /// } /// ); - /// - /// - public async System.Threading.Tasks.Task CreateAsync( + /// + public async Task CreateAsync( ScheduledInterviewEndpointRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -165,19 +164,14 @@ public async System.Threading.Tasks.Task CreateAsync { _query["run_async"] = JsonUtils.Serialize(request.RunAsync.Value); } - var requestBody = new Dictionary() - { - { "model", request.Model }, - { "remote_user_id", request.RemoteUserId }, - }; var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, Path = "ats/v1/interviews", - Body = requestBody, + Body = request, Query = _query, ContentType = "application/json", Options = options, @@ -185,35 +179,36 @@ public async System.Threading.Tasks.Task CreateAsync cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a `ScheduledInterview` object with the given `id`. /// - /// - /// + /// /// await client.Ats.Interviews.RetrieveAsync("id", new InterviewsRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, InterviewsRetrieveRequest request, RequestOptions? options = null, @@ -229,6 +224,10 @@ public async System.Threading.Tasks.Task RetrieveAsync( { _query["include_remote_data"] = JsonUtils.Serialize(request.IncludeRemoteData.Value); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } if (request.RemoteFields != null) { _query["remote_fields"] = request.RemoteFields.ToString(); @@ -238,54 +237,58 @@ public async System.Threading.Tasks.Task RetrieveAsync( _query["show_enum_origins"] = request.ShowEnumOrigins.ToString(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"ats/v1/interviews/{id}", + Path = string.Format( + "ats/v1/interviews/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns metadata for `ScheduledInterview` POSTs. /// - /// - /// + /// /// await client.Ats.Interviews.MetaPostRetrieveAsync(); - /// - /// - public async System.Threading.Tasks.Task MetaPostRetrieveAsync( + /// + public async Task MetaPostRetrieveAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -295,23 +298,26 @@ public async System.Threading.Tasks.Task MetaPostRetrieveAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Ats/Interviews/Requests/InterviewsListRequest.cs b/src/Merge.Client/Ats/Interviews/Requests/InterviewsListRequest.cs index 6f38851d..55c9c5a6 100644 --- a/src/Merge.Client/Ats/Interviews/Requests/InterviewsListRequest.cs +++ b/src/Merge.Client/Ats/Interviews/Requests/InterviewsListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ats; @@ -7,88 +8,106 @@ public record InterviewsListRequest /// /// If provided, will only return interviews for this application. /// + [JsonIgnore] public string? ApplicationId { get; set; } /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public InterviewsListRequestExpand? Expand { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, wll only return interviews organized for this job. /// + [JsonIgnore] public string? JobId { get; set; } /// /// If provided, will only return interviews at this stage. /// + [JsonIgnore] public string? JobInterviewStageId { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// If provided, will only return interviews organized by this user. /// + [JsonIgnore] public string? OrganizerId { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// Deprecated. Use show_enum_origins. /// + [JsonIgnore] public string? RemoteFields { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } /// /// A comma separated list of enum field names for which you'd like the original values to be returned, instead of Merge's normalized enum values. [Learn more](https://help.merge.dev/en/articles/8950958-show_enum_origins-query-parameter) /// + [JsonIgnore] public string? ShowEnumOrigins { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Interviews/Requests/InterviewsRetrieveRequest.cs b/src/Merge.Client/Ats/Interviews/Requests/InterviewsRetrieveRequest.cs index caf8dd02..c2f75667 100644 --- a/src/Merge.Client/Ats/Interviews/Requests/InterviewsRetrieveRequest.cs +++ b/src/Merge.Client/Ats/Interviews/Requests/InterviewsRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ats; @@ -7,23 +8,34 @@ public record InterviewsRetrieveRequest /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public InterviewsRetrieveRequestExpand? Expand { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + /// /// Deprecated. Use show_enum_origins. /// + [JsonIgnore] public string? RemoteFields { get; set; } /// /// A comma separated list of enum field names for which you'd like the original values to be returned, instead of Merge's normalized enum values. [Learn more](https://help.merge.dev/en/articles/8950958-show_enum_origins-query-parameter) /// + [JsonIgnore] public string? ShowEnumOrigins { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Interviews/Requests/ScheduledInterviewEndpointRequest.cs b/src/Merge.Client/Ats/Interviews/Requests/ScheduledInterviewEndpointRequest.cs index 23ca0711..010b80e3 100644 --- a/src/Merge.Client/Ats/Interviews/Requests/ScheduledInterviewEndpointRequest.cs +++ b/src/Merge.Client/Ats/Interviews/Requests/ScheduledInterviewEndpointRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ats; @@ -7,17 +8,22 @@ public record ScheduledInterviewEndpointRequest /// /// Whether to include debug fields (such as log file links) in the response. /// + [JsonIgnore] public bool? IsDebugMode { get; set; } /// /// Whether or not third-party updates should be run asynchronously. /// + [JsonIgnore] public bool? RunAsync { get; set; } + [JsonPropertyName("model")] public required ScheduledInterviewRequest Model { get; set; } + [JsonPropertyName("remote_user_id")] public required string RemoteUserId { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Issues/IssuesClient.cs b/src/Merge.Client/Ats/Issues/IssuesClient.cs index 068b56a1..a7d403c7 100644 --- a/src/Merge.Client/Ats/Issues/IssuesClient.cs +++ b/src/Merge.Client/Ats/Issues/IssuesClient.cs @@ -17,12 +17,10 @@ internal IssuesClient(RawClient client) /// /// Gets all issues for Organization. /// - /// - /// + /// /// await client.Ats.Issues.ListAsync(new IssuesListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( IssuesListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -94,8 +92,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["status"] = request.Status.Value.Stringify(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -106,69 +104,76 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Get a specific issue. /// - /// - /// + /// /// await client.Ats.Issues.RetrieveAsync("id"); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"ats/v1/issues/{id}", + Path = string.Format( + "ats/v1/issues/{0}", + ValueConvert.ToPathParameterString(id) + ), Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Ats/Issues/Requests/IssuesListRequest.cs b/src/Merge.Client/Ats/Issues/Requests/IssuesListRequest.cs index eae7a8c3..d602f594 100644 --- a/src/Merge.Client/Ats/Issues/Requests/IssuesListRequest.cs +++ b/src/Merge.Client/Ats/Issues/Requests/IssuesListRequest.cs @@ -1,73 +1,89 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ats; public record IssuesListRequest { + [JsonIgnore] public string? AccountToken { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// If included, will only include issues whose most recent action occurred before this time /// + [JsonIgnore] public string? EndDate { get; set; } + [JsonIgnore] public string? EndUserOrganizationName { get; set; } /// /// If provided, will only return issues whose first incident time was after this datetime. /// + [JsonIgnore] public DateTime? FirstIncidentTimeAfter { get; set; } /// /// If provided, will only return issues whose first incident time was before this datetime. /// + [JsonIgnore] public DateTime? FirstIncidentTimeBefore { get; set; } /// /// If true, will include muted issues /// + [JsonIgnore] public string? IncludeMuted { get; set; } + [JsonIgnore] public string? IntegrationName { get; set; } /// /// If provided, will only return issues whose last incident time was after this datetime. /// + [JsonIgnore] public DateTime? LastIncidentTimeAfter { get; set; } /// /// If provided, will only return issues whose last incident time was before this datetime. /// + [JsonIgnore] public DateTime? LastIncidentTimeBefore { get; set; } /// /// If provided, will only include issues pertaining to the linked account passed in. /// + [JsonIgnore] public string? LinkedAccountId { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// If included, will only include issues whose most recent action occurred after this time /// + [JsonIgnore] public string? StartDate { get; set; } /// /// Status of the issue. Options: ('ONGOING', 'RESOLVED') /// - /// - `ONGOING` - ONGOING - /// - `RESOLVED` - RESOLVED + /// * `ONGOING` - ONGOING + /// * `RESOLVED` - RESOLVED /// + [JsonIgnore] public IssuesListRequestStatus? Status { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/JobInterviewStages/JobInterviewStagesClient.cs b/src/Merge.Client/Ats/JobInterviewStages/JobInterviewStagesClient.cs index f90dc042..2c82c3ed 100644 --- a/src/Merge.Client/Ats/JobInterviewStages/JobInterviewStagesClient.cs +++ b/src/Merge.Client/Ats/JobInterviewStages/JobInterviewStagesClient.cs @@ -17,12 +17,10 @@ internal JobInterviewStagesClient(RawClient client) /// /// Returns a list of `JobInterviewStage` objects. /// - /// - /// + /// /// await client.Ats.JobInterviewStages.ListAsync(new JobInterviewStagesListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( JobInterviewStagesListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -84,8 +82,8 @@ public async System.Threading.Tasks.Task ListAsy _query["remote_id"] = request.RemoteId; } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -96,35 +94,36 @@ public async System.Threading.Tasks.Task ListAsy cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a `JobInterviewStage` object with the given `id`. /// - /// - /// + /// /// await client.Ats.JobInterviewStages.RetrieveAsync("id", new JobInterviewStagesRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, JobInterviewStagesRetrieveRequest request, RequestOptions? options = null, @@ -140,36 +139,46 @@ public async System.Threading.Tasks.Task RetrieveAsync( { _query["include_remote_data"] = JsonUtils.Serialize(request.IncludeRemoteData.Value); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"ats/v1/job-interview-stages/{id}", + Path = string.Format( + "ats/v1/job-interview-stages/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Ats/JobInterviewStages/Requests/JobInterviewStagesListRequest.cs b/src/Merge.Client/Ats/JobInterviewStages/Requests/JobInterviewStagesListRequest.cs index 651b1a1e..7421bb31 100644 --- a/src/Merge.Client/Ats/JobInterviewStages/Requests/JobInterviewStagesListRequest.cs +++ b/src/Merge.Client/Ats/JobInterviewStages/Requests/JobInterviewStagesListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ats; @@ -7,63 +8,76 @@ public record JobInterviewStagesListRequest /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public string? Expand { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, will only return interview stages for this job. /// + [JsonIgnore] public string? JobId { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/JobInterviewStages/Requests/JobInterviewStagesRetrieveRequest.cs b/src/Merge.Client/Ats/JobInterviewStages/Requests/JobInterviewStagesRetrieveRequest.cs index 73e94489..dd002238 100644 --- a/src/Merge.Client/Ats/JobInterviewStages/Requests/JobInterviewStagesRetrieveRequest.cs +++ b/src/Merge.Client/Ats/JobInterviewStages/Requests/JobInterviewStagesRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ats; @@ -7,13 +8,22 @@ public record JobInterviewStagesRetrieveRequest /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public string? Expand { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/JobPostings/JobPostingsClient.cs b/src/Merge.Client/Ats/JobPostings/JobPostingsClient.cs index 20cd81c3..c2d5449b 100644 --- a/src/Merge.Client/Ats/JobPostings/JobPostingsClient.cs +++ b/src/Merge.Client/Ats/JobPostings/JobPostingsClient.cs @@ -17,12 +17,10 @@ internal JobPostingsClient(RawClient client) /// /// Returns a list of `JobPosting` objects. /// - /// - /// + /// /// await client.Ats.JobPostings.ListAsync(new JobPostingsListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( JobPostingsListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -84,8 +82,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["status"] = request.Status.Value.Stringify(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -96,35 +94,36 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a `JobPosting` object with the given `id`. /// - /// - /// + /// /// await client.Ats.JobPostings.RetrieveAsync("id", new JobPostingsRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, JobPostingsRetrieveRequest request, RequestOptions? options = null, @@ -140,36 +139,46 @@ public async System.Threading.Tasks.Task RetrieveAsync( { _query["include_remote_data"] = JsonUtils.Serialize(request.IncludeRemoteData.Value); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"ats/v1/job-postings/{id}", + Path = string.Format( + "ats/v1/job-postings/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Ats/JobPostings/Requests/JobPostingsListRequest.cs b/src/Merge.Client/Ats/JobPostings/Requests/JobPostingsListRequest.cs index 51833b82..37fcec5c 100644 --- a/src/Merge.Client/Ats/JobPostings/Requests/JobPostingsListRequest.cs +++ b/src/Merge.Client/Ats/JobPostings/Requests/JobPostingsListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ats; @@ -7,69 +8,82 @@ public record JobPostingsListRequest /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public string? Expand { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } /// /// If provided, will only return Job Postings with this status. Options: ('PUBLISHED', 'CLOSED', 'DRAFT', 'INTERNAL', 'PENDING') /// - /// - `PUBLISHED` - PUBLISHED - /// - `CLOSED` - CLOSED - /// - `DRAFT` - DRAFT - /// - `INTERNAL` - INTERNAL - /// - `PENDING` - PENDING + /// * `PUBLISHED` - PUBLISHED + /// * `CLOSED` - CLOSED + /// * `DRAFT` - DRAFT + /// * `INTERNAL` - INTERNAL + /// * `PENDING` - PENDING /// + [JsonIgnore] public JobPostingsListRequestStatus? Status { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/JobPostings/Requests/JobPostingsRetrieveRequest.cs b/src/Merge.Client/Ats/JobPostings/Requests/JobPostingsRetrieveRequest.cs index ee2c7780..75b9fe54 100644 --- a/src/Merge.Client/Ats/JobPostings/Requests/JobPostingsRetrieveRequest.cs +++ b/src/Merge.Client/Ats/JobPostings/Requests/JobPostingsRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ats; @@ -7,13 +8,22 @@ public record JobPostingsRetrieveRequest /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public string? Expand { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Jobs/JobsClient.cs b/src/Merge.Client/Ats/Jobs/JobsClient.cs index e49895ce..fa177d9f 100644 --- a/src/Merge.Client/Ats/Jobs/JobsClient.cs +++ b/src/Merge.Client/Ats/Jobs/JobsClient.cs @@ -17,12 +17,10 @@ internal JobsClient(RawClient client) /// /// Returns a list of `Job` objects. /// - /// - /// + /// /// await client.Ats.Jobs.ListAsync(new JobsListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( JobsListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -100,8 +98,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["status"] = request.Status.Value.Stringify(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -112,35 +110,36 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a `Job` object with the given `id`. /// - /// - /// + /// /// await client.Ats.Jobs.RetrieveAsync("id", new JobsRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, JobsRetrieveRequest request, RequestOptions? options = null, @@ -156,6 +155,10 @@ public async System.Threading.Tasks.Task RetrieveAsync( { _query["include_remote_data"] = JsonUtils.Serialize(request.IncludeRemoteData.Value); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } if (request.RemoteFields != null) { _query["remote_fields"] = request.RemoteFields.ToString(); @@ -165,50 +168,51 @@ public async System.Threading.Tasks.Task RetrieveAsync( _query["show_enum_origins"] = request.ShowEnumOrigins.ToString(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"ats/v1/jobs/{id}", + Path = string.Format("ats/v1/jobs/{0}", ValueConvert.ToPathParameterString(id)), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a list of `ScreeningQuestion` objects. /// - /// - /// + /// /// await client.Ats.Jobs.ScreeningQuestionsListAsync( /// "job_id", /// new JobsScreeningQuestionsListRequest() /// ); - /// - /// - public async System.Threading.Tasks.Task ScreeningQuestionsListAsync( + /// + public async Task ScreeningQuestionsListAsync( string jobId, JobsScreeningQuestionsListRequest request, RequestOptions? options = null, @@ -241,35 +245,41 @@ public async System.Threading.Tasks.Task Screeni _query["page_size"] = request.PageSize.Value.ToString(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"ats/v1/jobs/{jobId}/screening-questions", + Path = string.Format( + "ats/v1/jobs/{0}/screening-questions", + ValueConvert.ToPathParameterString(jobId) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Ats/Jobs/Requests/JobsListRequest.cs b/src/Merge.Client/Ats/Jobs/Requests/JobsListRequest.cs index bb147a3e..b1d6ad39 100644 --- a/src/Merge.Client/Ats/Jobs/Requests/JobsListRequest.cs +++ b/src/Merge.Client/Ats/Jobs/Requests/JobsListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ats; @@ -7,89 +8,106 @@ public record JobsListRequest /// /// If provided, will only return jobs with this code. /// + [JsonIgnore] public string? Code { get; set; } /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public JobsListRequestExpand? Expand { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// If provided, will only return jobs for this office; multiple offices can be separated by commas. /// + [JsonIgnore] public string? Offices { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// Deprecated. Use show_enum_origins. /// + [JsonIgnore] public string? RemoteFields { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } /// /// A comma separated list of enum field names for which you'd like the original values to be returned, instead of Merge's normalized enum values. [Learn more](https://help.merge.dev/en/articles/8950958-show_enum_origins-query-parameter) /// + [JsonIgnore] public string? ShowEnumOrigins { get; set; } /// /// If provided, will only return jobs with this status. Options: ('OPEN', 'CLOSED', 'DRAFT', 'ARCHIVED', 'PENDING') /// - /// - `OPEN` - OPEN - /// - `CLOSED` - CLOSED - /// - `DRAFT` - DRAFT - /// - `ARCHIVED` - ARCHIVED - /// - `PENDING` - PENDING + /// * `OPEN` - OPEN + /// * `CLOSED` - CLOSED + /// * `DRAFT` - DRAFT + /// * `ARCHIVED` - ARCHIVED + /// * `PENDING` - PENDING /// + [JsonIgnore] public JobsListRequestStatus? Status { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Jobs/Requests/JobsRetrieveRequest.cs b/src/Merge.Client/Ats/Jobs/Requests/JobsRetrieveRequest.cs index c65f212b..4c16c4d5 100644 --- a/src/Merge.Client/Ats/Jobs/Requests/JobsRetrieveRequest.cs +++ b/src/Merge.Client/Ats/Jobs/Requests/JobsRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ats; @@ -7,23 +8,34 @@ public record JobsRetrieveRequest /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public JobsRetrieveRequestExpand? Expand { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + /// /// Deprecated. Use show_enum_origins. /// + [JsonIgnore] public string? RemoteFields { get; set; } /// /// A comma separated list of enum field names for which you'd like the original values to be returned, instead of Merge's normalized enum values. [Learn more](https://help.merge.dev/en/articles/8950958-show_enum_origins-query-parameter) /// + [JsonIgnore] public string? ShowEnumOrigins { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Jobs/Requests/JobsScreeningQuestionsListRequest.cs b/src/Merge.Client/Ats/Jobs/Requests/JobsScreeningQuestionsListRequest.cs index cc5a0a34..936764ee 100644 --- a/src/Merge.Client/Ats/Jobs/Requests/JobsScreeningQuestionsListRequest.cs +++ b/src/Merge.Client/Ats/Jobs/Requests/JobsScreeningQuestionsListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ats; @@ -7,33 +8,40 @@ public record JobsScreeningQuestionsListRequest /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public JobsScreeningQuestionsListRequestExpand? Expand { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/LinkToken/LinkTokenClient.cs b/src/Merge.Client/Ats/LinkToken/LinkTokenClient.cs index 813d78a4..9e7e3d4c 100644 --- a/src/Merge.Client/Ats/LinkToken/LinkTokenClient.cs +++ b/src/Merge.Client/Ats/LinkToken/LinkTokenClient.cs @@ -17,8 +17,7 @@ internal LinkTokenClient(RawClient client) /// /// Creates a link token to be used when linking a new end user. /// - /// - /// + /// /// await client.Ats.LinkToken.CreateAsync( /// new EndUserDetailsRequest /// { @@ -32,17 +31,16 @@ internal LinkTokenClient(RawClient client) /// }, /// } /// ); - /// - /// - public async System.Threading.Tasks.Task CreateAsync( + /// + public async Task CreateAsync( EndUserDetailsRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, @@ -54,23 +52,26 @@ public async System.Threading.Tasks.Task CreateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Ats/LinkToken/Requests/EndUserDetailsRequest.cs b/src/Merge.Client/Ats/LinkToken/Requests/EndUserDetailsRequest.cs index 79321f81..e1d29d97 100644 --- a/src/Merge.Client/Ats/LinkToken/Requests/EndUserDetailsRequest.cs +++ b/src/Merge.Client/Ats/LinkToken/Requests/EndUserDetailsRequest.cs @@ -89,6 +89,7 @@ public Dictionary< [JsonPropertyName("integration_specific_config")] public Dictionary? IntegrationSpecificConfig { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/LinkedAccounts/LinkedAccountsClient.cs b/src/Merge.Client/Ats/LinkedAccounts/LinkedAccountsClient.cs index 8f50bb7d..ff2dfe39 100644 --- a/src/Merge.Client/Ats/LinkedAccounts/LinkedAccountsClient.cs +++ b/src/Merge.Client/Ats/LinkedAccounts/LinkedAccountsClient.cs @@ -17,12 +17,10 @@ internal LinkedAccountsClient(RawClient client) /// /// List linked accounts for your organization. /// - /// - /// + /// /// await client.Ats.LinkedAccounts.ListAsync(new LinkedAccountsListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( LinkedAccountsListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -82,8 +80,8 @@ public async System.Threading.Tasks.Task _query["status"] = request.Status; } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -94,23 +92,26 @@ public async System.Threading.Tasks.Task cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Ats/LinkedAccounts/Requests/LinkedAccountsListRequest.cs b/src/Merge.Client/Ats/LinkedAccounts/Requests/LinkedAccountsListRequest.cs index 28c86904..df520fa8 100644 --- a/src/Merge.Client/Ats/LinkedAccounts/Requests/LinkedAccountsListRequest.cs +++ b/src/Merge.Client/Ats/LinkedAccounts/Requests/LinkedAccountsListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ats; @@ -7,73 +8,87 @@ public record LinkedAccountsListRequest /// /// Options: `accounting`, `ats`, `crm`, `filestorage`, `hris`, `mktg`, `ticketing` /// - /// - `hris` - hris - /// - `ats` - ats - /// - `accounting` - accounting - /// - `ticketing` - ticketing - /// - `crm` - crm - /// - `mktg` - mktg - /// - `filestorage` - filestorage + /// * `hris` - hris + /// * `ats` - ats + /// * `accounting` - accounting + /// * `ticketing` - ticketing + /// * `crm` - crm + /// * `mktg` - mktg + /// * `filestorage` - filestorage /// + [JsonIgnore] public LinkedAccountsListRequestCategory? Category { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// If provided, will only return linked accounts associated with the given email address. /// + [JsonIgnore] public string? EndUserEmailAddress { get; set; } /// /// If provided, will only return linked accounts associated with the given organization name. /// + [JsonIgnore] public string? EndUserOrganizationName { get; set; } /// /// If provided, will only return linked accounts associated with the given origin ID. /// + [JsonIgnore] public string? EndUserOriginId { get; set; } /// /// Comma-separated list of EndUser origin IDs, making it possible to specify multiple EndUsers at once. /// + [JsonIgnore] public string? EndUserOriginIds { get; set; } + [JsonIgnore] public string? Id { get; set; } /// /// Comma-separated list of LinkedAccount IDs, making it possible to specify multiple LinkedAccounts at once. /// + [JsonIgnore] public string? Ids { get; set; } /// /// If `true`, will include complete production duplicates of the account specified by the `id` query parameter in the response. `id` must be for a complete production linked account. /// + [JsonIgnore] public bool? IncludeDuplicates { get; set; } /// /// If provided, will only return linked accounts associated with the given integration name. /// + [JsonIgnore] public string? IntegrationName { get; set; } /// /// If included, will only include test linked accounts. If not included, will only include non-test linked accounts. /// + [JsonIgnore] public string? IsTestAccount { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// Filter by status. Options: `COMPLETE`, `IDLE`, `INCOMPLETE`, `RELINK_NEEDED` /// + [JsonIgnore] public string? Status { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Offers/OffersClient.cs b/src/Merge.Client/Ats/Offers/OffersClient.cs index e87170b8..88c75ef2 100644 --- a/src/Merge.Client/Ats/Offers/OffersClient.cs +++ b/src/Merge.Client/Ats/Offers/OffersClient.cs @@ -17,12 +17,10 @@ internal OffersClient(RawClient client) /// /// Returns a list of `Offer` objects. /// - /// - /// + /// /// await client.Ats.Offers.ListAsync(new OffersListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( OffersListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -96,8 +94,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["show_enum_origins"] = request.ShowEnumOrigins.ToString(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -108,35 +106,36 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns an `Offer` object with the given `id`. /// - /// - /// + /// /// await client.Ats.Offers.RetrieveAsync("id", new OffersRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, OffersRetrieveRequest request, RequestOptions? options = null, @@ -152,6 +151,10 @@ public async System.Threading.Tasks.Task RetrieveAsync( { _query["include_remote_data"] = JsonUtils.Serialize(request.IncludeRemoteData.Value); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } if (request.RemoteFields != null) { _query["remote_fields"] = request.RemoteFields.ToString(); @@ -161,35 +164,41 @@ public async System.Threading.Tasks.Task RetrieveAsync( _query["show_enum_origins"] = request.ShowEnumOrigins.ToString(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"ats/v1/offers/{id}", + Path = string.Format( + "ats/v1/offers/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Ats/Offers/Requests/OffersListRequest.cs b/src/Merge.Client/Ats/Offers/Requests/OffersListRequest.cs index 28678c31..f08a1e67 100644 --- a/src/Merge.Client/Ats/Offers/Requests/OffersListRequest.cs +++ b/src/Merge.Client/Ats/Offers/Requests/OffersListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ats; @@ -7,78 +8,94 @@ public record OffersListRequest /// /// If provided, will only return offers for this application. /// + [JsonIgnore] public string? ApplicationId { get; set; } /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// If provided, will only return offers created by this user. /// + [JsonIgnore] public string? CreatorId { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public OffersListRequestExpand? Expand { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// Deprecated. Use show_enum_origins. /// + [JsonIgnore] public string? RemoteFields { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } /// /// A comma separated list of enum field names for which you'd like the original values to be returned, instead of Merge's normalized enum values. [Learn more](https://help.merge.dev/en/articles/8950958-show_enum_origins-query-parameter) /// + [JsonIgnore] public string? ShowEnumOrigins { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Offers/Requests/OffersRetrieveRequest.cs b/src/Merge.Client/Ats/Offers/Requests/OffersRetrieveRequest.cs index f2633480..585cf3b6 100644 --- a/src/Merge.Client/Ats/Offers/Requests/OffersRetrieveRequest.cs +++ b/src/Merge.Client/Ats/Offers/Requests/OffersRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ats; @@ -7,23 +8,34 @@ public record OffersRetrieveRequest /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public OffersRetrieveRequestExpand? Expand { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + /// /// Deprecated. Use show_enum_origins. /// + [JsonIgnore] public string? RemoteFields { get; set; } /// /// A comma separated list of enum field names for which you'd like the original values to be returned, instead of Merge's normalized enum values. [Learn more](https://help.merge.dev/en/articles/8950958-show_enum_origins-query-parameter) /// + [JsonIgnore] public string? ShowEnumOrigins { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Offices/OfficesClient.cs b/src/Merge.Client/Ats/Offices/OfficesClient.cs index e0cc57b4..fafb5e99 100644 --- a/src/Merge.Client/Ats/Offices/OfficesClient.cs +++ b/src/Merge.Client/Ats/Offices/OfficesClient.cs @@ -17,12 +17,10 @@ internal OfficesClient(RawClient client) /// /// Returns a list of `Office` objects. /// - /// - /// + /// /// await client.Ats.Offices.ListAsync(new OfficesListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( OfficesListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -76,8 +74,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["remote_id"] = request.RemoteId; } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -88,35 +86,36 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns an `Office` object with the given `id`. /// - /// - /// + /// /// await client.Ats.Offices.RetrieveAsync("id", new OfficesRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, OfficesRetrieveRequest request, RequestOptions? options = null, @@ -128,36 +127,46 @@ public async System.Threading.Tasks.Task RetrieveAsync( { _query["include_remote_data"] = JsonUtils.Serialize(request.IncludeRemoteData.Value); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"ats/v1/offices/{id}", + Path = string.Format( + "ats/v1/offices/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Ats/Offices/Requests/OfficesListRequest.cs b/src/Merge.Client/Ats/Offices/Requests/OfficesListRequest.cs index b75c0694..54bf95e0 100644 --- a/src/Merge.Client/Ats/Offices/Requests/OfficesListRequest.cs +++ b/src/Merge.Client/Ats/Offices/Requests/OfficesListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ats; @@ -7,53 +8,64 @@ public record OfficesListRequest /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Offices/Requests/OfficesRetrieveRequest.cs b/src/Merge.Client/Ats/Offices/Requests/OfficesRetrieveRequest.cs index 56355e0c..9c4a19a1 100644 --- a/src/Merge.Client/Ats/Offices/Requests/OfficesRetrieveRequest.cs +++ b/src/Merge.Client/Ats/Offices/Requests/OfficesRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ats; @@ -7,8 +8,16 @@ public record OfficesRetrieveRequest /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Passthrough/PassthroughClient.cs b/src/Merge.Client/Ats/Passthrough/PassthroughClient.cs index 3f022f14..5cad0c62 100644 --- a/src/Merge.Client/Ats/Passthrough/PassthroughClient.cs +++ b/src/Merge.Client/Ats/Passthrough/PassthroughClient.cs @@ -17,8 +17,7 @@ internal PassthroughClient(RawClient client) /// /// Pull data from an endpoint not currently supported by Merge. /// - /// - /// + /// /// await client.Ats.Passthrough.CreateAsync( /// new Merge.Client.Ats.DataPassthroughRequest /// { @@ -26,17 +25,16 @@ internal PassthroughClient(RawClient client) /// Path = "/scooters", /// } /// ); - /// - /// - public async System.Threading.Tasks.Task CreateAsync( + /// + public async Task CreateAsync( DataPassthroughRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, @@ -48,23 +46,26 @@ public async System.Threading.Tasks.Task CreateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Ats/RegenerateKey/RegenerateKeyClient.cs b/src/Merge.Client/Ats/RegenerateKey/RegenerateKeyClient.cs index 6a5895e8..8918dc96 100644 --- a/src/Merge.Client/Ats/RegenerateKey/RegenerateKeyClient.cs +++ b/src/Merge.Client/Ats/RegenerateKey/RegenerateKeyClient.cs @@ -17,22 +17,20 @@ internal RegenerateKeyClient(RawClient client) /// /// Exchange remote keys. /// - /// - /// + /// /// await client.Ats.RegenerateKey.CreateAsync( /// new RemoteKeyForRegenerationRequest { Name = "Remote Deployment Key 1" } /// ); - /// - /// - public async System.Threading.Tasks.Task CreateAsync( + /// + public async Task CreateAsync( RemoteKeyForRegenerationRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, @@ -44,23 +42,26 @@ public async System.Threading.Tasks.Task CreateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Ats/RegenerateKey/Requests/RemoteKeyForRegenerationRequest.cs b/src/Merge.Client/Ats/RegenerateKey/Requests/RemoteKeyForRegenerationRequest.cs index 0a9b16af..d68199b0 100644 --- a/src/Merge.Client/Ats/RegenerateKey/Requests/RemoteKeyForRegenerationRequest.cs +++ b/src/Merge.Client/Ats/RegenerateKey/Requests/RemoteKeyForRegenerationRequest.cs @@ -11,6 +11,7 @@ public record RemoteKeyForRegenerationRequest [JsonPropertyName("name")] public required string Name { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/RejectReasons/RejectReasonsClient.cs b/src/Merge.Client/Ats/RejectReasons/RejectReasonsClient.cs index 889f446e..64e77f0a 100644 --- a/src/Merge.Client/Ats/RejectReasons/RejectReasonsClient.cs +++ b/src/Merge.Client/Ats/RejectReasons/RejectReasonsClient.cs @@ -17,12 +17,10 @@ internal RejectReasonsClient(RawClient client) /// /// Returns a list of `RejectReason` objects. /// - /// - /// + /// /// await client.Ats.RejectReasons.ListAsync(new RejectReasonsListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( RejectReasonsListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -76,8 +74,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["remote_id"] = request.RemoteId; } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -88,35 +86,36 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a `RejectReason` object with the given `id`. /// - /// - /// + /// /// await client.Ats.RejectReasons.RetrieveAsync("id", new RejectReasonsRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, RejectReasonsRetrieveRequest request, RequestOptions? options = null, @@ -128,36 +127,46 @@ public async System.Threading.Tasks.Task RetrieveAsync( { _query["include_remote_data"] = JsonUtils.Serialize(request.IncludeRemoteData.Value); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"ats/v1/reject-reasons/{id}", + Path = string.Format( + "ats/v1/reject-reasons/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Ats/RejectReasons/Requests/RejectReasonsListRequest.cs b/src/Merge.Client/Ats/RejectReasons/Requests/RejectReasonsListRequest.cs index 79915ed6..f28b0939 100644 --- a/src/Merge.Client/Ats/RejectReasons/Requests/RejectReasonsListRequest.cs +++ b/src/Merge.Client/Ats/RejectReasons/Requests/RejectReasonsListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ats; @@ -7,53 +8,64 @@ public record RejectReasonsListRequest /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/RejectReasons/Requests/RejectReasonsRetrieveRequest.cs b/src/Merge.Client/Ats/RejectReasons/Requests/RejectReasonsRetrieveRequest.cs index 0ca2658d..60b7041a 100644 --- a/src/Merge.Client/Ats/RejectReasons/Requests/RejectReasonsRetrieveRequest.cs +++ b/src/Merge.Client/Ats/RejectReasons/Requests/RejectReasonsRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ats; @@ -7,8 +8,16 @@ public record RejectReasonsRetrieveRequest /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Scopes/Requests/LinkedAccountCommonModelScopeDeserializerRequest.cs b/src/Merge.Client/Ats/Scopes/Requests/LinkedAccountCommonModelScopeDeserializerRequest.cs index efedb260..61c038e5 100644 --- a/src/Merge.Client/Ats/Scopes/Requests/LinkedAccountCommonModelScopeDeserializerRequest.cs +++ b/src/Merge.Client/Ats/Scopes/Requests/LinkedAccountCommonModelScopeDeserializerRequest.cs @@ -12,6 +12,7 @@ public record LinkedAccountCommonModelScopeDeserializerRequest public IEnumerable CommonModels { get; set; } = new List(); + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Scopes/ScopesClient.cs b/src/Merge.Client/Ats/Scopes/ScopesClient.cs index 3f1f7147..e2da7cfb 100644 --- a/src/Merge.Client/Ats/Scopes/ScopesClient.cs +++ b/src/Merge.Client/Ats/Scopes/ScopesClient.cs @@ -17,19 +17,17 @@ internal ScopesClient(RawClient client) /// /// Get the default permissions for Merge Common Models and fields across all Linked Accounts of a given category. [Learn more](https://help.merge.dev/en/articles/5950052-common-model-and-field-scopes). /// - /// - /// + /// /// await client.Ats.Scopes.DefaultScopesRetrieveAsync(); - /// - /// - public async System.Threading.Tasks.Task DefaultScopesRetrieveAsync( + /// + public async Task DefaultScopesRetrieveAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -39,42 +37,43 @@ public async System.Threading.Tasks.Task DefaultScopesRetri cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Get all available permissions for Merge Common Models and fields for a single Linked Account. [Learn more](https://help.merge.dev/en/articles/5950052-common-model-and-field-scopes). /// - /// - /// + /// /// await client.Ats.Scopes.LinkedAccountScopesRetrieveAsync(); - /// - /// - public async System.Threading.Tasks.Task LinkedAccountScopesRetrieveAsync( + /// + public async Task LinkedAccountScopesRetrieveAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -84,31 +83,33 @@ public async System.Threading.Tasks.Task LinkedAccountScope cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Update permissions for any Common Model or field for a single Linked Account. Any Scopes not set in this POST request will inherit the default Scopes. [Learn more](https://help.merge.dev/en/articles/5950052-common-model-and-field-scopes) /// - /// - /// + /// /// await client.Ats.Scopes.LinkedAccountScopesCreateAsync( /// new LinkedAccountCommonModelScopeDeserializerRequest /// { @@ -160,17 +161,16 @@ public async System.Threading.Tasks.Task LinkedAccountScope /// }, /// } /// ); - /// - /// - public async System.Threading.Tasks.Task LinkedAccountScopesCreateAsync( + /// + public async Task LinkedAccountScopesCreateAsync( LinkedAccountCommonModelScopeDeserializerRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, @@ -182,23 +182,26 @@ public async System.Threading.Tasks.Task LinkedAccountScope cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Ats/Scorecards/Requests/ScorecardsListRequest.cs b/src/Merge.Client/Ats/Scorecards/Requests/ScorecardsListRequest.cs index 01ac2abc..e2b53919 100644 --- a/src/Merge.Client/Ats/Scorecards/Requests/ScorecardsListRequest.cs +++ b/src/Merge.Client/Ats/Scorecards/Requests/ScorecardsListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ats; @@ -7,83 +8,100 @@ public record ScorecardsListRequest /// /// If provided, will only return scorecards for this application. /// + [JsonIgnore] public string? ApplicationId { get; set; } /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public ScorecardsListRequestExpand? Expand { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, will only return scorecards for this interview. /// + [JsonIgnore] public string? InterviewId { get; set; } /// /// If provided, will only return scorecards for this interviewer. /// + [JsonIgnore] public string? InterviewerId { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// Deprecated. Use show_enum_origins. /// + [JsonIgnore] public string? RemoteFields { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } /// /// A comma separated list of enum field names for which you'd like the original values to be returned, instead of Merge's normalized enum values. [Learn more](https://help.merge.dev/en/articles/8950958-show_enum_origins-query-parameter) /// + [JsonIgnore] public string? ShowEnumOrigins { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Scorecards/Requests/ScorecardsRetrieveRequest.cs b/src/Merge.Client/Ats/Scorecards/Requests/ScorecardsRetrieveRequest.cs index dcfd8f82..fad399dd 100644 --- a/src/Merge.Client/Ats/Scorecards/Requests/ScorecardsRetrieveRequest.cs +++ b/src/Merge.Client/Ats/Scorecards/Requests/ScorecardsRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ats; @@ -7,23 +8,34 @@ public record ScorecardsRetrieveRequest /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public ScorecardsRetrieveRequestExpand? Expand { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + /// /// Deprecated. Use show_enum_origins. /// + [JsonIgnore] public string? RemoteFields { get; set; } /// /// A comma separated list of enum field names for which you'd like the original values to be returned, instead of Merge's normalized enum values. [Learn more](https://help.merge.dev/en/articles/8950958-show_enum_origins-query-parameter) /// + [JsonIgnore] public string? ShowEnumOrigins { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Scorecards/ScorecardsClient.cs b/src/Merge.Client/Ats/Scorecards/ScorecardsClient.cs index f6bbe4ec..8ff1eb21 100644 --- a/src/Merge.Client/Ats/Scorecards/ScorecardsClient.cs +++ b/src/Merge.Client/Ats/Scorecards/ScorecardsClient.cs @@ -17,12 +17,10 @@ internal ScorecardsClient(RawClient client) /// /// Returns a list of `Scorecard` objects. /// - /// - /// + /// /// await client.Ats.Scorecards.ListAsync(new ScorecardsListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( ScorecardsListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -100,8 +98,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["show_enum_origins"] = request.ShowEnumOrigins.ToString(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -112,35 +110,36 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a `Scorecard` object with the given `id`. /// - /// - /// + /// /// await client.Ats.Scorecards.RetrieveAsync("id", new ScorecardsRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, ScorecardsRetrieveRequest request, RequestOptions? options = null, @@ -156,6 +155,10 @@ public async System.Threading.Tasks.Task RetrieveAsync( { _query["include_remote_data"] = JsonUtils.Serialize(request.IncludeRemoteData.Value); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } if (request.RemoteFields != null) { _query["remote_fields"] = request.RemoteFields.ToString(); @@ -165,35 +168,41 @@ public async System.Threading.Tasks.Task RetrieveAsync( _query["show_enum_origins"] = request.ShowEnumOrigins.ToString(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"ats/v1/scorecards/{id}", + Path = string.Format( + "ats/v1/scorecards/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Ats/SyncStatus/Requests/SyncStatusListRequest.cs b/src/Merge.Client/Ats/SyncStatus/Requests/SyncStatusListRequest.cs index 4eb9b46c..78ec6dee 100644 --- a/src/Merge.Client/Ats/SyncStatus/Requests/SyncStatusListRequest.cs +++ b/src/Merge.Client/Ats/SyncStatus/Requests/SyncStatusListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ats; @@ -7,13 +8,16 @@ public record SyncStatusListRequest /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/SyncStatus/SyncStatusClient.cs b/src/Merge.Client/Ats/SyncStatus/SyncStatusClient.cs index d1ab45e8..e0b7eff5 100644 --- a/src/Merge.Client/Ats/SyncStatus/SyncStatusClient.cs +++ b/src/Merge.Client/Ats/SyncStatus/SyncStatusClient.cs @@ -15,14 +15,12 @@ internal SyncStatusClient(RawClient client) } /// - /// Get syncing status. Possible values: `DISABLED`, `DONE`, `FAILED`, `PARTIALLY_SYNCED`, `PAUSED`, `SYNCING`. Learn more about sync status in our [Help Center](https://help.merge.dev/en/articles/8184193-merge-sync-statuses). + /// Get sync status for the current sync and the most recently finished sync. `last_sync_start` represents the most recent time any sync began. `last_sync_finished` represents the most recent time any sync completed. These timestamps may correspond to different sync instances which may result in a sync start time being later than a separate sync completed time. To ensure you are retrieving the latest available data reference the `last_sync_finished` timestamp where `last_sync_result` is `DONE`. Possible values for `status` and `last_sync_result` are `DISABLED`, `DONE`, `FAILED`, `PARTIALLY_SYNCED`, `PAUSED`, `SYNCING`. Learn more about sync status in our [Help Center](https://help.merge.dev/en/articles/8184193-merge-sync-statuses). /// - /// - /// + /// /// await client.Ats.SyncStatus.ListAsync(new SyncStatusListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( SyncStatusListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -38,8 +36,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["page_size"] = request.PageSize.Value.ToString(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -50,23 +48,26 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Ats/Tags/Requests/TagsListRequest.cs b/src/Merge.Client/Ats/Tags/Requests/TagsListRequest.cs index d93dc073..a7269d1a 100644 --- a/src/Merge.Client/Ats/Tags/Requests/TagsListRequest.cs +++ b/src/Merge.Client/Ats/Tags/Requests/TagsListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ats; @@ -7,53 +8,64 @@ public record TagsListRequest /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Tags/TagsClient.cs b/src/Merge.Client/Ats/Tags/TagsClient.cs index 6217c457..169580e8 100644 --- a/src/Merge.Client/Ats/Tags/TagsClient.cs +++ b/src/Merge.Client/Ats/Tags/TagsClient.cs @@ -17,12 +17,10 @@ internal TagsClient(RawClient client) /// /// Returns a list of `Tag` objects. /// - /// - /// + /// /// await client.Ats.Tags.ListAsync(new TagsListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( TagsListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -76,8 +74,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["remote_id"] = request.RemoteId; } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -88,23 +86,26 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Ats/Types/AccountDetails.cs b/src/Merge.Client/Ats/Types/AccountDetails.cs index ca55963a..bb706610 100644 --- a/src/Merge.Client/Ats/Types/AccountDetails.cs +++ b/src/Merge.Client/Ats/Types/AccountDetails.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -5,39 +6,49 @@ namespace Merge.Client.Ats; public record AccountDetails { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("integration")] public string? Integration { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("integration_slug")] public string? IntegrationSlug { get; set; } [JsonPropertyName("category")] public CategoryEnum? Category { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("end_user_origin_id")] public string? EndUserOriginId { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("end_user_organization_name")] public string? EndUserOrganizationName { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("end_user_email_address")] public string? EndUserEmailAddress { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("status")] public string? Status { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("webhook_listener_url")] public string? WebhookListenerUrl { get; set; } /// /// Whether a Production Linked Account's credentials match another existing Production Linked Account. This field is `null` for Test Linked Accounts, incomplete Production Linked Accounts, and ignored duplicate Production Linked Account sets. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("is_duplicate")] public bool? IsDuplicate { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("account_type")] public string? AccountType { get; set; } @@ -47,6 +58,17 @@ public record AccountDetails [JsonPropertyName("completed_at")] public DateTime? CompletedAt { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/AccountDetailsAndActions.cs b/src/Merge.Client/Ats/Types/AccountDetailsAndActions.cs index 31d9040f..5d9769a3 100644 --- a/src/Merge.Client/Ats/Types/AccountDetailsAndActions.cs +++ b/src/Merge.Client/Ats/Types/AccountDetailsAndActions.cs @@ -1,8 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ats; +/// +/// # The LinkedAccount Object +/// ### Description +/// The `LinkedAccount` object is used to represent an end user's link with a specific integration. +/// +/// ### Usage Example +/// View a list of your organization's `LinkedAccount` objects. +/// public record AccountDetailsAndActions { [JsonPropertyName("id")] @@ -50,6 +59,17 @@ public record AccountDetailsAndActions [JsonPropertyName("completed_at")] public required DateTime CompletedAt { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/AccountDetailsAndActionsIntegration.cs b/src/Merge.Client/Ats/Types/AccountDetailsAndActionsIntegration.cs index d8c12913..b69640b5 100644 --- a/src/Merge.Client/Ats/Types/AccountDetailsAndActionsIntegration.cs +++ b/src/Merge.Client/Ats/Types/AccountDetailsAndActionsIntegration.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -29,6 +30,17 @@ public record AccountDetailsAndActionsIntegration [JsonPropertyName("available_model_operations")] public IEnumerable? AvailableModelOperations { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/AccountIntegration.cs b/src/Merge.Client/Ats/Types/AccountIntegration.cs index 8728c21d..c39ac134 100644 --- a/src/Merge.Client/Ats/Types/AccountIntegration.cs +++ b/src/Merge.Client/Ats/Types/AccountIntegration.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -20,6 +21,7 @@ public record AccountIntegration /// /// Category or categories this integration belongs to. Multiple categories should be comma separated, i.e. [ats, hris]. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("categories")] public IEnumerable? Categories { get; set; } @@ -41,6 +43,7 @@ public record AccountIntegration [JsonPropertyName("color")] public string? Color { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("slug")] public string? Slug { get; set; } @@ -59,9 +62,21 @@ public record AccountIntegration /// /// Category or categories this integration is in beta status for. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("category_beta_status")] public Dictionary? CategoryBetaStatus { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/AccountToken.cs b/src/Merge.Client/Ats/Types/AccountToken.cs index 68cc2f2e..f53534df 100644 --- a/src/Merge.Client/Ats/Types/AccountToken.cs +++ b/src/Merge.Client/Ats/Types/AccountToken.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -11,6 +12,20 @@ public record AccountToken [JsonPropertyName("integration")] public required AccountIntegration Integration { get; set; } + [JsonPropertyName("id")] + public required string Id { get; set; } + + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/Activity.cs b/src/Merge.Client/Ats/Types/Activity.cs index c7534578..02c0a9bc 100644 --- a/src/Merge.Client/Ats/Types/Activity.cs +++ b/src/Merge.Client/Ats/Types/Activity.cs @@ -1,11 +1,20 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Ats; +/// +/// # The Activity Object +/// ### Description +/// The `Activity` object is used to represent an activity for a candidate performed by a user. +/// ### Usage Example +/// Fetch from the `LIST Activities` endpoint and filter by `ID` to show all activities. +/// public record Activity { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -18,12 +27,14 @@ public record Activity /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -42,9 +53,9 @@ public record Activity /// /// The activity's type. /// - /// - `NOTE` - NOTE - /// - `EMAIL` - EMAIL - /// - `OTHER` - OTHER + /// * `NOTE` - NOTE + /// * `EMAIL` - EMAIL + /// * `OTHER` - OTHER /// [JsonPropertyName("activity_type")] public ActivityTypeEnum? ActivityType { get; set; } @@ -64,9 +75,9 @@ public record Activity /// /// The activity's visibility. /// - /// - `ADMIN_ONLY` - ADMIN_ONLY - /// - `PUBLIC` - PUBLIC - /// - `PRIVATE` - PRIVATE + /// * `ADMIN_ONLY` - ADMIN_ONLY + /// * `PUBLIC` - PUBLIC + /// * `PRIVATE` - PRIVATE /// [JsonPropertyName("visibility")] public VisibilityEnum? Visibility { get; set; } @@ -77,15 +88,29 @@ public record Activity /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/ActivityRequest.cs b/src/Merge.Client/Ats/Types/ActivityRequest.cs index 43c16605..a2073492 100644 --- a/src/Merge.Client/Ats/Types/ActivityRequest.cs +++ b/src/Merge.Client/Ats/Types/ActivityRequest.cs @@ -1,9 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Ats; +/// +/// # The Activity Object +/// ### Description +/// The `Activity` object is used to represent an activity for a candidate performed by a user. +/// ### Usage Example +/// Fetch from the `LIST Activities` endpoint and filter by `ID` to show all activities. +/// public record ActivityRequest { /// @@ -15,9 +23,9 @@ public record ActivityRequest /// /// The activity's type. /// - /// - `NOTE` - NOTE - /// - `EMAIL` - EMAIL - /// - `OTHER` - OTHER + /// * `NOTE` - NOTE + /// * `EMAIL` - EMAIL + /// * `OTHER` - OTHER /// [JsonPropertyName("activity_type")] public ActivityTypeEnum? ActivityType { get; set; } @@ -37,9 +45,9 @@ public record ActivityRequest /// /// The activity's visibility. /// - /// - `ADMIN_ONLY` - ADMIN_ONLY - /// - `PUBLIC` - PUBLIC - /// - `PRIVATE` - PRIVATE + /// * `ADMIN_ONLY` - ADMIN_ONLY + /// * `PUBLIC` - PUBLIC + /// * `PRIVATE` - PRIVATE /// [JsonPropertyName("visibility")] public VisibilityEnum? Visibility { get; set; } @@ -47,12 +55,25 @@ public record ActivityRequest [JsonPropertyName("candidate")] public string? Candidate { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("integration_params")] public Dictionary? IntegrationParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("linked_account_params")] public Dictionary? LinkedAccountParams { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/ActivityResponse.cs b/src/Merge.Client/Ats/Types/ActivityResponse.cs index 6efda802..234b8804 100644 --- a/src/Merge.Client/Ats/Types/ActivityResponse.cs +++ b/src/Merge.Client/Ats/Types/ActivityResponse.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -19,6 +20,17 @@ public record ActivityResponse [JsonPropertyName("logs")] public IEnumerable? Logs { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/AdvancedMetadata.cs b/src/Merge.Client/Ats/Types/AdvancedMetadata.cs index 78963455..542deb1a 100644 --- a/src/Merge.Client/Ats/Types/AdvancedMetadata.cs +++ b/src/Merge.Client/Ats/Types/AdvancedMetadata.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -23,6 +24,17 @@ public record AdvancedMetadata [JsonPropertyName("field_choices")] public IEnumerable? FieldChoices { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/Application.cs b/src/Merge.Client/Ats/Types/Application.cs index 1b35187e..ed5a6fc3 100644 --- a/src/Merge.Client/Ats/Types/Application.cs +++ b/src/Merge.Client/Ats/Types/Application.cs @@ -1,11 +1,21 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Ats; +/// +/// # The Application Object +/// ### Description +/// The Application Object is used to represent a candidate's journey through a particular Job's recruiting process. If a Candidate applies for multiple Jobs, there will be a separate Application for each Job if the third-party integration allows it. +/// +/// ### Usage Example +/// Fetch from the `LIST Applications` endpoint and filter by `ID` to show all applications. +/// public record Application { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -18,12 +28,14 @@ public record Application /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -86,15 +98,29 @@ public IEnumerable< /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/ApplicationRequest.cs b/src/Merge.Client/Ats/Types/ApplicationRequest.cs index 83ab610a..0588d1a6 100644 --- a/src/Merge.Client/Ats/Types/ApplicationRequest.cs +++ b/src/Merge.Client/Ats/Types/ApplicationRequest.cs @@ -1,9 +1,18 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Ats; +/// +/// # The Application Object +/// ### Description +/// The Application Object is used to represent a candidate's journey through a particular Job's recruiting process. If a Candidate applies for multiple Jobs, there will be a separate Application for each Job if the third-party integration allows it. +/// +/// ### Usage Example +/// Fetch from the `LIST Applications` endpoint and filter by `ID` to show all applications. +/// public record ApplicationRequest { /// @@ -62,15 +71,29 @@ public IEnumerable< [JsonPropertyName("reject_reason")] public OneOf? RejectReason { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("remote_template_id")] public string? RemoteTemplateId { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("integration_params")] public Dictionary? IntegrationParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("linked_account_params")] public Dictionary? LinkedAccountParams { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/ApplicationResponse.cs b/src/Merge.Client/Ats/Types/ApplicationResponse.cs index 7751aeed..efe5b8dc 100644 --- a/src/Merge.Client/Ats/Types/ApplicationResponse.cs +++ b/src/Merge.Client/Ats/Types/ApplicationResponse.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -19,6 +20,17 @@ public record ApplicationResponse [JsonPropertyName("logs")] public IEnumerable? Logs { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/AsyncPassthroughReciept.cs b/src/Merge.Client/Ats/Types/AsyncPassthroughReciept.cs index 0a6c6318..36f159fd 100644 --- a/src/Merge.Client/Ats/Types/AsyncPassthroughReciept.cs +++ b/src/Merge.Client/Ats/Types/AsyncPassthroughReciept.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -8,6 +9,17 @@ public record AsyncPassthroughReciept [JsonPropertyName("async_passthrough_receipt_id")] public required string AsyncPassthroughReceiptId { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/Attachment.cs b/src/Merge.Client/Ats/Types/Attachment.cs index 71142d39..84dfedbe 100644 --- a/src/Merge.Client/Ats/Types/Attachment.cs +++ b/src/Merge.Client/Ats/Types/Attachment.cs @@ -1,10 +1,19 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ats; +/// +/// # The Attachment Object +/// ### Description +/// The `Attachment` object is used to represent a file attached to a candidate. +/// ### Usage Example +/// Fetch from the `LIST Attachments` endpoint and view attachments accessible by a company. +/// public record Attachment { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -17,12 +26,14 @@ public record Attachment /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -38,19 +49,16 @@ public record Attachment [JsonPropertyName("file_url")] public string? FileUrl { get; set; } - /// - /// - /// [JsonPropertyName("candidate")] public string? Candidate { get; set; } /// /// The attachment's type. /// - /// - `RESUME` - RESUME - /// - `COVER_LETTER` - COVER_LETTER - /// - `OFFER_LETTER` - OFFER_LETTER - /// - `OTHER` - OTHER + /// * `RESUME` - RESUME + /// * `COVER_LETTER` - COVER_LETTER + /// * `OFFER_LETTER` - OFFER_LETTER + /// * `OTHER` - OTHER /// [JsonPropertyName("attachment_type")] public AttachmentTypeEnum? AttachmentType { get; set; } @@ -58,15 +66,29 @@ public record Attachment /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/AttachmentRequest.cs b/src/Merge.Client/Ats/Types/AttachmentRequest.cs index 633b3f0c..ca13bedb 100644 --- a/src/Merge.Client/Ats/Types/AttachmentRequest.cs +++ b/src/Merge.Client/Ats/Types/AttachmentRequest.cs @@ -1,8 +1,16 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ats; +/// +/// # The Attachment Object +/// ### Description +/// The `Attachment` object is used to represent a file attached to a candidate. +/// ### Usage Example +/// Fetch from the `LIST Attachments` endpoint and view attachments accessible by a company. +/// public record AttachmentRequest { /// @@ -17,29 +25,39 @@ public record AttachmentRequest [JsonPropertyName("file_url")] public string? FileUrl { get; set; } - /// - /// - /// [JsonPropertyName("candidate")] public string? Candidate { get; set; } /// /// The attachment's type. /// - /// - `RESUME` - RESUME - /// - `COVER_LETTER` - COVER_LETTER - /// - `OFFER_LETTER` - OFFER_LETTER - /// - `OTHER` - OTHER + /// * `RESUME` - RESUME + /// * `COVER_LETTER` - COVER_LETTER + /// * `OFFER_LETTER` - OFFER_LETTER + /// * `OTHER` - OTHER /// [JsonPropertyName("attachment_type")] public AttachmentTypeEnum? AttachmentType { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("integration_params")] public Dictionary? IntegrationParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("linked_account_params")] public Dictionary? LinkedAccountParams { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/AttachmentResponse.cs b/src/Merge.Client/Ats/Types/AttachmentResponse.cs index 5ce189d4..9606e218 100644 --- a/src/Merge.Client/Ats/Types/AttachmentResponse.cs +++ b/src/Merge.Client/Ats/Types/AttachmentResponse.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -19,6 +20,17 @@ public record AttachmentResponse [JsonPropertyName("logs")] public IEnumerable? Logs { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/AuditLogEvent.cs b/src/Merge.Client/Ats/Types/AuditLogEvent.cs index bfb38bd6..35d9230b 100644 --- a/src/Merge.Client/Ats/Types/AuditLogEvent.cs +++ b/src/Merge.Client/Ats/Types/AuditLogEvent.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -5,6 +6,7 @@ namespace Merge.Client.Ats; public record AuditLogEvent { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -23,12 +25,12 @@ public record AuditLogEvent /// /// Designates the role of the user (or SYSTEM/API if action not taken by a user) at the time of this Event occurring. /// - /// - `ADMIN` - ADMIN - /// - `DEVELOPER` - DEVELOPER - /// - `MEMBER` - MEMBER - /// - `API` - API - /// - `SYSTEM` - SYSTEM - /// - `MERGE_TEAM` - MERGE_TEAM + /// * `ADMIN` - ADMIN + /// * `DEVELOPER` - DEVELOPER + /// * `MEMBER` - MEMBER + /// * `API` - API + /// * `SYSTEM` - SYSTEM + /// * `MERGE_TEAM` - MERGE_TEAM /// [JsonPropertyName("role")] public required RoleEnum Role { get; set; } @@ -39,47 +41,48 @@ public record AuditLogEvent /// /// Designates the type of event that occurred. /// - /// - `CREATED_REMOTE_PRODUCTION_API_KEY` - CREATED_REMOTE_PRODUCTION_API_KEY - /// - `DELETED_REMOTE_PRODUCTION_API_KEY` - DELETED_REMOTE_PRODUCTION_API_KEY - /// - `CREATED_TEST_API_KEY` - CREATED_TEST_API_KEY - /// - `DELETED_TEST_API_KEY` - DELETED_TEST_API_KEY - /// - `REGENERATED_PRODUCTION_API_KEY` - REGENERATED_PRODUCTION_API_KEY - /// - `INVITED_USER` - INVITED_USER - /// - `TWO_FACTOR_AUTH_ENABLED` - TWO_FACTOR_AUTH_ENABLED - /// - `TWO_FACTOR_AUTH_DISABLED` - TWO_FACTOR_AUTH_DISABLED - /// - `DELETED_LINKED_ACCOUNT` - DELETED_LINKED_ACCOUNT - /// - `CREATED_DESTINATION` - CREATED_DESTINATION - /// - `DELETED_DESTINATION` - DELETED_DESTINATION - /// - `CHANGED_DESTINATION` - CHANGED_DESTINATION - /// - `CHANGED_SCOPES` - CHANGED_SCOPES - /// - `CHANGED_PERSONAL_INFORMATION` - CHANGED_PERSONAL_INFORMATION - /// - `CHANGED_ORGANIZATION_SETTINGS` - CHANGED_ORGANIZATION_SETTINGS - /// - `ENABLED_INTEGRATION` - ENABLED_INTEGRATION - /// - `DISABLED_INTEGRATION` - DISABLED_INTEGRATION - /// - `ENABLED_CATEGORY` - ENABLED_CATEGORY - /// - `DISABLED_CATEGORY` - DISABLED_CATEGORY - /// - `CHANGED_PASSWORD` - CHANGED_PASSWORD - /// - `RESET_PASSWORD` - RESET_PASSWORD - /// - `ENABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION` - ENABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION - /// - `ENABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT` - ENABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT - /// - `DISABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION` - DISABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION - /// - `DISABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT` - DISABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT - /// - `CREATED_INTEGRATION_WIDE_FIELD_MAPPING` - CREATED_INTEGRATION_WIDE_FIELD_MAPPING - /// - `CREATED_LINKED_ACCOUNT_FIELD_MAPPING` - CREATED_LINKED_ACCOUNT_FIELD_MAPPING - /// - `CHANGED_INTEGRATION_WIDE_FIELD_MAPPING` - CHANGED_INTEGRATION_WIDE_FIELD_MAPPING - /// - `CHANGED_LINKED_ACCOUNT_FIELD_MAPPING` - CHANGED_LINKED_ACCOUNT_FIELD_MAPPING - /// - `DELETED_INTEGRATION_WIDE_FIELD_MAPPING` - DELETED_INTEGRATION_WIDE_FIELD_MAPPING - /// - `DELETED_LINKED_ACCOUNT_FIELD_MAPPING` - DELETED_LINKED_ACCOUNT_FIELD_MAPPING - /// - `CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE` - CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE - /// - `CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE` - CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE - /// - `DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE` - DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE - /// - `FORCED_LINKED_ACCOUNT_RESYNC` - FORCED_LINKED_ACCOUNT_RESYNC - /// - `MUTED_ISSUE` - MUTED_ISSUE - /// - `GENERATED_MAGIC_LINK` - GENERATED_MAGIC_LINK - /// - `ENABLED_MERGE_WEBHOOK` - ENABLED_MERGE_WEBHOOK - /// - `DISABLED_MERGE_WEBHOOK` - DISABLED_MERGE_WEBHOOK - /// - `MERGE_WEBHOOK_TARGET_CHANGED` - MERGE_WEBHOOK_TARGET_CHANGED - /// - `END_USER_CREDENTIALS_ACCESSED` - END_USER_CREDENTIALS_ACCESSED + /// * `CREATED_REMOTE_PRODUCTION_API_KEY` - CREATED_REMOTE_PRODUCTION_API_KEY + /// * `DELETED_REMOTE_PRODUCTION_API_KEY` - DELETED_REMOTE_PRODUCTION_API_KEY + /// * `CREATED_TEST_API_KEY` - CREATED_TEST_API_KEY + /// * `DELETED_TEST_API_KEY` - DELETED_TEST_API_KEY + /// * `REGENERATED_PRODUCTION_API_KEY` - REGENERATED_PRODUCTION_API_KEY + /// * `INVITED_USER` - INVITED_USER + /// * `TWO_FACTOR_AUTH_ENABLED` - TWO_FACTOR_AUTH_ENABLED + /// * `TWO_FACTOR_AUTH_DISABLED` - TWO_FACTOR_AUTH_DISABLED + /// * `DELETED_LINKED_ACCOUNT` - DELETED_LINKED_ACCOUNT + /// * `DELETED_ALL_COMMON_MODELS_FOR_LINKED_ACCOUNT` - DELETED_ALL_COMMON_MODELS_FOR_LINKED_ACCOUNT + /// * `CREATED_DESTINATION` - CREATED_DESTINATION + /// * `DELETED_DESTINATION` - DELETED_DESTINATION + /// * `CHANGED_DESTINATION` - CHANGED_DESTINATION + /// * `CHANGED_SCOPES` - CHANGED_SCOPES + /// * `CHANGED_PERSONAL_INFORMATION` - CHANGED_PERSONAL_INFORMATION + /// * `CHANGED_ORGANIZATION_SETTINGS` - CHANGED_ORGANIZATION_SETTINGS + /// * `ENABLED_INTEGRATION` - ENABLED_INTEGRATION + /// * `DISABLED_INTEGRATION` - DISABLED_INTEGRATION + /// * `ENABLED_CATEGORY` - ENABLED_CATEGORY + /// * `DISABLED_CATEGORY` - DISABLED_CATEGORY + /// * `CHANGED_PASSWORD` - CHANGED_PASSWORD + /// * `RESET_PASSWORD` - RESET_PASSWORD + /// * `ENABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION` - ENABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION + /// * `ENABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT` - ENABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT + /// * `DISABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION` - DISABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION + /// * `DISABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT` - DISABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT + /// * `CREATED_INTEGRATION_WIDE_FIELD_MAPPING` - CREATED_INTEGRATION_WIDE_FIELD_MAPPING + /// * `CREATED_LINKED_ACCOUNT_FIELD_MAPPING` - CREATED_LINKED_ACCOUNT_FIELD_MAPPING + /// * `CHANGED_INTEGRATION_WIDE_FIELD_MAPPING` - CHANGED_INTEGRATION_WIDE_FIELD_MAPPING + /// * `CHANGED_LINKED_ACCOUNT_FIELD_MAPPING` - CHANGED_LINKED_ACCOUNT_FIELD_MAPPING + /// * `DELETED_INTEGRATION_WIDE_FIELD_MAPPING` - DELETED_INTEGRATION_WIDE_FIELD_MAPPING + /// * `DELETED_LINKED_ACCOUNT_FIELD_MAPPING` - DELETED_LINKED_ACCOUNT_FIELD_MAPPING + /// * `CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE` - CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE + /// * `CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE` - CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE + /// * `DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE` - DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE + /// * `FORCED_LINKED_ACCOUNT_RESYNC` - FORCED_LINKED_ACCOUNT_RESYNC + /// * `MUTED_ISSUE` - MUTED_ISSUE + /// * `GENERATED_MAGIC_LINK` - GENERATED_MAGIC_LINK + /// * `ENABLED_MERGE_WEBHOOK` - ENABLED_MERGE_WEBHOOK + /// * `DISABLED_MERGE_WEBHOOK` - DISABLED_MERGE_WEBHOOK + /// * `MERGE_WEBHOOK_TARGET_CHANGED` - MERGE_WEBHOOK_TARGET_CHANGED + /// * `END_USER_CREDENTIALS_ACCESSED` - END_USER_CREDENTIALS_ACCESSED /// [JsonPropertyName("event_type")] public required EventTypeEnum EventType { get; set; } @@ -87,9 +90,21 @@ public record AuditLogEvent [JsonPropertyName("event_description")] public required string EventDescription { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/AvailableActions.cs b/src/Merge.Client/Ats/Types/AvailableActions.cs index 9fbc406e..46bd9f00 100644 --- a/src/Merge.Client/Ats/Types/AvailableActions.cs +++ b/src/Merge.Client/Ats/Types/AvailableActions.cs @@ -1,8 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ats; +/// +/// # The AvailableActions Object +/// ### Description +/// The `Activity` object is used to see all available model/operation combinations for an integration. +/// +/// ### Usage Example +/// Fetch all the actions available for the `Zenefits` integration. +/// public record AvailableActions { [JsonPropertyName("integration")] @@ -14,6 +23,17 @@ public record AvailableActions [JsonPropertyName("available_model_operations")] public IEnumerable? AvailableModelOperations { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/Candidate.cs b/src/Merge.Client/Ats/Types/Candidate.cs index 00fa6a84..a46bc44c 100644 --- a/src/Merge.Client/Ats/Types/Candidate.cs +++ b/src/Merge.Client/Ats/Types/Candidate.cs @@ -1,11 +1,20 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Ats; +/// +/// # The Candidate Object +/// ### Description +/// The `Candidate` object is used to represent profile information about a given Candidate. Because it is specific to a Candidate, this information stays constant across applications. +/// ### Usage Example +/// Fetch from the `LIST Candidates` endpoint and filter by `ID` to show all candidates. +/// public record Candidate { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -18,12 +27,14 @@ public record Candidate /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -120,12 +131,25 @@ public record Candidate [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/CandidateRequest.cs b/src/Merge.Client/Ats/Types/CandidateRequest.cs index 69c12c3a..9bd649b7 100644 --- a/src/Merge.Client/Ats/Types/CandidateRequest.cs +++ b/src/Merge.Client/Ats/Types/CandidateRequest.cs @@ -1,9 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Ats; +/// +/// # The Candidate Object +/// ### Description +/// The `Candidate` object is used to represent profile information about a given Candidate. Because it is specific to a Candidate, this information stays constant across applications. +/// ### Usage Example +/// Fetch from the `LIST Candidates` endpoint and filter by `ID` to show all candidates. +/// public record CandidateRequest { /// @@ -81,15 +89,29 @@ public record CandidateRequest [JsonPropertyName("attachments")] public IEnumerable>? Attachments { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("remote_template_id")] public string? RemoteTemplateId { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("integration_params")] public Dictionary? IntegrationParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("linked_account_params")] public Dictionary? LinkedAccountParams { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/CandidateResponse.cs b/src/Merge.Client/Ats/Types/CandidateResponse.cs index 5d4a4f6f..7b082ef6 100644 --- a/src/Merge.Client/Ats/Types/CandidateResponse.cs +++ b/src/Merge.Client/Ats/Types/CandidateResponse.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -19,6 +20,17 @@ public record CandidateResponse [JsonPropertyName("logs")] public IEnumerable? Logs { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/CommonModelScopeApi.cs b/src/Merge.Client/Ats/Types/CommonModelScopeApi.cs index 386e03d2..2f642c76 100644 --- a/src/Merge.Client/Ats/Types/CommonModelScopeApi.cs +++ b/src/Merge.Client/Ats/Types/CommonModelScopeApi.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -12,6 +13,17 @@ public record CommonModelScopeApi public IEnumerable CommonModels { get; set; } = new List(); + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/CommonModelScopesBodyRequest.cs b/src/Merge.Client/Ats/Types/CommonModelScopesBodyRequest.cs index ecfaa919..a098b566 100644 --- a/src/Merge.Client/Ats/Types/CommonModelScopesBodyRequest.cs +++ b/src/Merge.Client/Ats/Types/CommonModelScopesBodyRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -15,6 +16,17 @@ public record CommonModelScopesBodyRequest [JsonPropertyName("disabled_fields")] public IEnumerable DisabledFields { get; set; } = new List(); + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/DataPassthroughRequest.cs b/src/Merge.Client/Ats/Types/DataPassthroughRequest.cs index 8f78b109..c3fac3ae 100644 --- a/src/Merge.Client/Ats/Types/DataPassthroughRequest.cs +++ b/src/Merge.Client/Ats/Types/DataPassthroughRequest.cs @@ -1,8 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ats; +/// +/// # The DataPassthrough Object +/// ### Description +/// The `DataPassthrough` object is used to send information to an otherwise-unsupported third-party endpoint. +/// +/// ### Usage Example +/// Create a `DataPassthrough` to get team hierarchies from your Rippling integration. +/// public record DataPassthroughRequest { [JsonPropertyName("method")] @@ -47,6 +56,17 @@ public record DataPassthroughRequest [JsonPropertyName("normalize_response")] public bool? NormalizeResponse { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/DebugModeLog.cs b/src/Merge.Client/Ats/Types/DebugModeLog.cs index 3993e0c4..7d852faa 100644 --- a/src/Merge.Client/Ats/Types/DebugModeLog.cs +++ b/src/Merge.Client/Ats/Types/DebugModeLog.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record DebugModeLog [JsonPropertyName("log_summary")] public required DebugModelLogSummary LogSummary { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/DebugModelLogSummary.cs b/src/Merge.Client/Ats/Types/DebugModelLogSummary.cs index 845bb6b4..b7f56ba9 100644 --- a/src/Merge.Client/Ats/Types/DebugModelLogSummary.cs +++ b/src/Merge.Client/Ats/Types/DebugModelLogSummary.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record DebugModelLogSummary [JsonPropertyName("status_code")] public required int StatusCode { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/Department.cs b/src/Merge.Client/Ats/Types/Department.cs index d5552860..3f612cde 100644 --- a/src/Merge.Client/Ats/Types/Department.cs +++ b/src/Merge.Client/Ats/Types/Department.cs @@ -1,10 +1,19 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ats; +/// +/// # The Department Object +/// ### Description +/// The `Department` object is used to represent a department within a company. +/// ### Usage Example +/// Fetch from the `LIST Departments` endpoint and view the departments within a company. +/// public record Department { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -17,12 +26,14 @@ public record Department /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -35,15 +46,29 @@ public record Department /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/Eeoc.cs b/src/Merge.Client/Ats/Types/Eeoc.cs index 79b55083..2b04c6c0 100644 --- a/src/Merge.Client/Ats/Types/Eeoc.cs +++ b/src/Merge.Client/Ats/Types/Eeoc.cs @@ -1,11 +1,20 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Ats; +/// +/// # The EEOC Object +/// ### Description +/// The `EEOC` object is used to represent the Equal Employment Opportunity Commission information for a candidate (race, gender, veteran status, disability status). +/// ### Usage Example +/// Fetch from the `LIST EEOCs` endpoint and filter by `candidate` to show all EEOC information for a candidate. +/// public record Eeoc { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -18,12 +27,14 @@ public record Eeoc /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -42,14 +53,14 @@ public record Eeoc /// /// The candidate's race. /// - /// - `AMERICAN_INDIAN_OR_ALASKAN_NATIVE` - AMERICAN_INDIAN_OR_ALASKAN_NATIVE - /// - `ASIAN` - ASIAN - /// - `BLACK_OR_AFRICAN_AMERICAN` - BLACK_OR_AFRICAN_AMERICAN - /// - `HISPANIC_OR_LATINO` - HISPANIC_OR_LATINO - /// - `WHITE` - WHITE - /// - `NATIVE_HAWAIIAN_OR_OTHER_PACIFIC_ISLANDER` - NATIVE_HAWAIIAN_OR_OTHER_PACIFIC_ISLANDER - /// - `TWO_OR_MORE_RACES` - TWO_OR_MORE_RACES - /// - `DECLINE_TO_SELF_IDENTIFY` - DECLINE_TO_SELF_IDENTIFY + /// * `AMERICAN_INDIAN_OR_ALASKAN_NATIVE` - AMERICAN_INDIAN_OR_ALASKAN_NATIVE + /// * `ASIAN` - ASIAN + /// * `BLACK_OR_AFRICAN_AMERICAN` - BLACK_OR_AFRICAN_AMERICAN + /// * `HISPANIC_OR_LATINO` - HISPANIC_OR_LATINO + /// * `WHITE` - WHITE + /// * `NATIVE_HAWAIIAN_OR_OTHER_PACIFIC_ISLANDER` - NATIVE_HAWAIIAN_OR_OTHER_PACIFIC_ISLANDER + /// * `TWO_OR_MORE_RACES` - TWO_OR_MORE_RACES + /// * `DECLINE_TO_SELF_IDENTIFY` - DECLINE_TO_SELF_IDENTIFY /// [JsonPropertyName("race")] public RaceEnum? Race { get; set; } @@ -57,11 +68,11 @@ public record Eeoc /// /// The candidate's gender. /// - /// - `MALE` - MALE - /// - `FEMALE` - FEMALE - /// - `NON-BINARY` - NON-BINARY - /// - `OTHER` - OTHER - /// - `DECLINE_TO_SELF_IDENTIFY` - DECLINE_TO_SELF_IDENTIFY + /// * `MALE` - MALE + /// * `FEMALE` - FEMALE + /// * `NON-BINARY` - NON-BINARY + /// * `OTHER` - OTHER + /// * `DECLINE_TO_SELF_IDENTIFY` - DECLINE_TO_SELF_IDENTIFY /// [JsonPropertyName("gender")] public GenderEnum? Gender { get; set; } @@ -69,9 +80,9 @@ public record Eeoc /// /// The candidate's veteran status. /// - /// - `I_AM_NOT_A_PROTECTED_VETERAN` - I_AM_NOT_A_PROTECTED_VETERAN - /// - `I_IDENTIFY_AS_ONE_OR_MORE_OF_THE_CLASSIFICATIONS_OF_A_PROTECTED_VETERAN` - I_IDENTIFY_AS_ONE_OR_MORE_OF_THE_CLASSIFICATIONS_OF_A_PROTECTED_VETERAN - /// - `I_DONT_WISH_TO_ANSWER` - I_DONT_WISH_TO_ANSWER + /// * `I_AM_NOT_A_PROTECTED_VETERAN` - I_AM_NOT_A_PROTECTED_VETERAN + /// * `I_IDENTIFY_AS_ONE_OR_MORE_OF_THE_CLASSIFICATIONS_OF_A_PROTECTED_VETERAN` - I_IDENTIFY_AS_ONE_OR_MORE_OF_THE_CLASSIFICATIONS_OF_A_PROTECTED_VETERAN + /// * `I_DONT_WISH_TO_ANSWER` - I_DONT_WISH_TO_ANSWER /// [JsonPropertyName("veteran_status")] public VeteranStatusEnum? VeteranStatus { get; set; } @@ -79,9 +90,9 @@ public record Eeoc /// /// The candidate's disability status. /// - /// - `YES_I_HAVE_A_DISABILITY_OR_PREVIOUSLY_HAD_A_DISABILITY` - YES_I_HAVE_A_DISABILITY_OR_PREVIOUSLY_HAD_A_DISABILITY - /// - `NO_I_DONT_HAVE_A_DISABILITY` - NO_I_DONT_HAVE_A_DISABILITY - /// - `I_DONT_WISH_TO_ANSWER` - I_DONT_WISH_TO_ANSWER + /// * `YES_I_HAVE_A_DISABILITY_OR_PREVIOUSLY_HAD_A_DISABILITY` - YES_I_HAVE_A_DISABILITY_OR_PREVIOUSLY_HAD_A_DISABILITY + /// * `NO_I_DONT_HAVE_A_DISABILITY` - NO_I_DONT_HAVE_A_DISABILITY + /// * `I_DONT_WISH_TO_ANSWER` - I_DONT_WISH_TO_ANSWER /// [JsonPropertyName("disability_status")] public DisabilityStatusEnum? DisabilityStatus { get; set; } @@ -89,15 +100,29 @@ public record Eeoc /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/EmailAddress.cs b/src/Merge.Client/Ats/Types/EmailAddress.cs index a31ebc7d..9503814c 100644 --- a/src/Merge.Client/Ats/Types/EmailAddress.cs +++ b/src/Merge.Client/Ats/Types/EmailAddress.cs @@ -1,19 +1,29 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ats; +/// +/// # The EmailAddress Object +/// ### Description +/// The `EmailAddress` object is used to represent a candidate's email address. +/// ### Usage Example +/// Fetch from the `GET Candidate` endpoint and view their email addresses. +/// public record EmailAddress { /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -26,9 +36,9 @@ public record EmailAddress /// /// The type of email address. /// - /// - `PERSONAL` - PERSONAL - /// - `WORK` - WORK - /// - `OTHER` - OTHER + /// * `PERSONAL` - PERSONAL + /// * `WORK` - WORK + /// * `OTHER` - OTHER /// [JsonPropertyName("email_address_type")] public EmailAddressTypeEnum? EmailAddressType { get; set; } @@ -36,9 +46,21 @@ public record EmailAddress /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/EmailAddressRequest.cs b/src/Merge.Client/Ats/Types/EmailAddressRequest.cs index 516a80bf..9246e436 100644 --- a/src/Merge.Client/Ats/Types/EmailAddressRequest.cs +++ b/src/Merge.Client/Ats/Types/EmailAddressRequest.cs @@ -1,8 +1,16 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ats; +/// +/// # The EmailAddress Object +/// ### Description +/// The `EmailAddress` object is used to represent a candidate's email address. +/// ### Usage Example +/// Fetch from the `GET Candidate` endpoint and view their email addresses. +/// public record EmailAddressRequest { /// @@ -14,19 +22,32 @@ public record EmailAddressRequest /// /// The type of email address. /// - /// - `PERSONAL` - PERSONAL - /// - `WORK` - WORK - /// - `OTHER` - OTHER + /// * `PERSONAL` - PERSONAL + /// * `WORK` - WORK + /// * `OTHER` - OTHER /// [JsonPropertyName("email_address_type")] public EmailAddressTypeEnum? EmailAddressType { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("integration_params")] public Dictionary? IntegrationParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("linked_account_params")] public Dictionary? LinkedAccountParams { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/ErrorValidationProblem.cs b/src/Merge.Client/Ats/Types/ErrorValidationProblem.cs index a144d5b0..cbc12596 100644 --- a/src/Merge.Client/Ats/Types/ErrorValidationProblem.cs +++ b/src/Merge.Client/Ats/Types/ErrorValidationProblem.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -17,6 +18,17 @@ public record ErrorValidationProblem [JsonPropertyName("problem_type")] public required string ProblemType { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/EventTypeEnum.cs b/src/Merge.Client/Ats/Types/EventTypeEnum.cs index 6c9cd7c0..423c3bdc 100644 --- a/src/Merge.Client/Ats/Types/EventTypeEnum.cs +++ b/src/Merge.Client/Ats/Types/EventTypeEnum.cs @@ -34,6 +34,9 @@ public enum EventTypeEnum [EnumMember(Value = "DELETED_LINKED_ACCOUNT")] DeletedLinkedAccount, + [EnumMember(Value = "DELETED_ALL_COMMON_MODELS_FOR_LINKED_ACCOUNT")] + DeletedAllCommonModelsForLinkedAccount, + [EnumMember(Value = "CREATED_DESTINATION")] CreatedDestination, diff --git a/src/Merge.Client/Ats/Types/ExternalTargetFieldApi.cs b/src/Merge.Client/Ats/Types/ExternalTargetFieldApi.cs index 9bf30a5a..ca72ff4a 100644 --- a/src/Merge.Client/Ats/Types/ExternalTargetFieldApi.cs +++ b/src/Merge.Client/Ats/Types/ExternalTargetFieldApi.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -5,15 +6,29 @@ namespace Merge.Client.Ats; public record ExternalTargetFieldApi { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("name")] public string? Name { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("description")] public string? Description { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("is_mapped")] public string? IsMapped { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/ExternalTargetFieldApiResponse.cs b/src/Merge.Client/Ats/Types/ExternalTargetFieldApiResponse.cs index 3563fd80..5c04572e 100644 --- a/src/Merge.Client/Ats/Types/ExternalTargetFieldApiResponse.cs +++ b/src/Merge.Client/Ats/Types/ExternalTargetFieldApiResponse.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -53,6 +54,17 @@ public record ExternalTargetFieldApiResponse [JsonPropertyName("RemoteUser")] public IEnumerable? RemoteUser { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/FieldMappingApiInstance.cs b/src/Merge.Client/Ats/Types/FieldMappingApiInstance.cs index bb2beda6..f94f6348 100644 --- a/src/Merge.Client/Ats/Types/FieldMappingApiInstance.cs +++ b/src/Merge.Client/Ats/Types/FieldMappingApiInstance.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -5,18 +6,33 @@ namespace Merge.Client.Ats; public record FieldMappingApiInstance { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("is_integration_wide")] public bool? IsIntegrationWide { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("target_field")] public FieldMappingApiInstanceTargetField? TargetField { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_field")] public FieldMappingApiInstanceRemoteField? RemoteField { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/FieldMappingApiInstanceRemoteField.cs b/src/Merge.Client/Ats/Types/FieldMappingApiInstanceRemoteField.cs index 792b1364..52c900f4 100644 --- a/src/Merge.Client/Ats/Types/FieldMappingApiInstanceRemoteField.cs +++ b/src/Merge.Client/Ats/Types/FieldMappingApiInstanceRemoteField.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record FieldMappingApiInstanceRemoteField [JsonPropertyName("remote_endpoint_info")] public required FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo RemoteEndpointInfo { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo.cs b/src/Merge.Client/Ats/Types/FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo.cs index 9e8f8c2d..7803ed8e 100644 --- a/src/Merge.Client/Ats/Types/FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo.cs +++ b/src/Merge.Client/Ats/Types/FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo [JsonPropertyName("field_traversal_path")] public IEnumerable? FieldTraversalPath { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/FieldMappingApiInstanceResponse.cs b/src/Merge.Client/Ats/Types/FieldMappingApiInstanceResponse.cs index 74653e6a..dee3d909 100644 --- a/src/Merge.Client/Ats/Types/FieldMappingApiInstanceResponse.cs +++ b/src/Merge.Client/Ats/Types/FieldMappingApiInstanceResponse.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -53,6 +54,17 @@ public record FieldMappingApiInstanceResponse [JsonPropertyName("RemoteUser")] public IEnumerable? RemoteUser { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/FieldMappingApiInstanceTargetField.cs b/src/Merge.Client/Ats/Types/FieldMappingApiInstanceTargetField.cs index 7fce9d97..a6156fb0 100644 --- a/src/Merge.Client/Ats/Types/FieldMappingApiInstanceTargetField.cs +++ b/src/Merge.Client/Ats/Types/FieldMappingApiInstanceTargetField.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record FieldMappingApiInstanceTargetField [JsonPropertyName("is_organization_wide")] public required bool IsOrganizationWide { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/FieldMappingInstanceResponse.cs b/src/Merge.Client/Ats/Types/FieldMappingInstanceResponse.cs index ce559666..9bc7e351 100644 --- a/src/Merge.Client/Ats/Types/FieldMappingInstanceResponse.cs +++ b/src/Merge.Client/Ats/Types/FieldMappingInstanceResponse.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -19,6 +20,17 @@ public record FieldMappingInstanceResponse [JsonPropertyName("logs")] public IEnumerable? Logs { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/FieldPermissionDeserializer.cs b/src/Merge.Client/Ats/Types/FieldPermissionDeserializer.cs index 1fdd5b91..b26eb7c0 100644 --- a/src/Merge.Client/Ats/Types/FieldPermissionDeserializer.cs +++ b/src/Merge.Client/Ats/Types/FieldPermissionDeserializer.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -11,6 +12,17 @@ public record FieldPermissionDeserializer [JsonPropertyName("disabled_fields")] public IEnumerable? DisabledFields { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/FieldPermissionDeserializerRequest.cs b/src/Merge.Client/Ats/Types/FieldPermissionDeserializerRequest.cs index 6ea708f5..dbb8bc6f 100644 --- a/src/Merge.Client/Ats/Types/FieldPermissionDeserializerRequest.cs +++ b/src/Merge.Client/Ats/Types/FieldPermissionDeserializerRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -11,6 +12,17 @@ public record FieldPermissionDeserializerRequest [JsonPropertyName("disabled_fields")] public IEnumerable? DisabledFields { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/IndividualCommonModelScopeDeserializer.cs b/src/Merge.Client/Ats/Types/IndividualCommonModelScopeDeserializer.cs index e49c4e92..c68f8287 100644 --- a/src/Merge.Client/Ats/Types/IndividualCommonModelScopeDeserializer.cs +++ b/src/Merge.Client/Ats/Types/IndividualCommonModelScopeDeserializer.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record IndividualCommonModelScopeDeserializer [JsonPropertyName("field_permissions")] public FieldPermissionDeserializer? FieldPermissions { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/IndividualCommonModelScopeDeserializerRequest.cs b/src/Merge.Client/Ats/Types/IndividualCommonModelScopeDeserializerRequest.cs index a2068a0e..efe5642e 100644 --- a/src/Merge.Client/Ats/Types/IndividualCommonModelScopeDeserializerRequest.cs +++ b/src/Merge.Client/Ats/Types/IndividualCommonModelScopeDeserializerRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record IndividualCommonModelScopeDeserializerRequest [JsonPropertyName("field_permissions")] public FieldPermissionDeserializerRequest? FieldPermissions { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/Issue.cs b/src/Merge.Client/Ats/Types/Issue.cs index 22ac697a..a7b8b0dc 100644 --- a/src/Merge.Client/Ats/Types/Issue.cs +++ b/src/Merge.Client/Ats/Types/Issue.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -5,14 +6,15 @@ namespace Merge.Client.Ats; public record Issue { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } /// /// Status of the issue. Options: ('ONGOING', 'RESOLVED') /// - /// - `ONGOING` - ONGOING - /// - `RESOLVED` - RESOLVED + /// * `ONGOING` - ONGOING + /// * `RESOLVED` - RESOLVED /// [JsonPropertyName("status")] public IssueStatusEnum? Status { get; set; } @@ -20,6 +22,7 @@ public record Issue [JsonPropertyName("error_description")] public required string ErrorDescription { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("end_user")] public Dictionary? EndUser { get; set; } @@ -29,12 +32,25 @@ public record Issue [JsonPropertyName("last_incident_time")] public DateTime? LastIncidentTime { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("is_muted")] public bool? IsMuted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("error_details")] public IEnumerable? ErrorDetails { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/Job.cs b/src/Merge.Client/Ats/Types/Job.cs index 27b52ec9..3087e3e7 100644 --- a/src/Merge.Client/Ats/Types/Job.cs +++ b/src/Merge.Client/Ats/Types/Job.cs @@ -1,11 +1,20 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Ats; +/// +/// # The Job Object +/// ### Description +/// The `Job` object can be used to track any jobs that are currently or will be open/closed for applications. +/// ### Usage Example +/// Fetch from the `LIST Jobs` endpoint to show all job postings. +/// public record Job { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -18,12 +27,14 @@ public record Job /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -48,11 +59,11 @@ public record Job /// /// The job's status. /// - /// - `OPEN` - OPEN - /// - `CLOSED` - CLOSED - /// - `DRAFT` - DRAFT - /// - `ARCHIVED` - ARCHIVED - /// - `PENDING` - PENDING + /// * `OPEN` - OPEN + /// * `CLOSED` - CLOSED + /// * `DRAFT` - DRAFT + /// * `ARCHIVED` - ARCHIVED + /// * `PENDING` - PENDING /// [JsonPropertyName("status")] public JobStatusEnum? Status { get; set; } @@ -60,9 +71,9 @@ public record Job /// /// The job's type. /// - /// - `POSTING` - POSTING - /// - `REQUISITION` - REQUISITION - /// - `PROFILE` - PROFILE + /// * `POSTING` - POSTING + /// * `REQUISITION` - REQUISITION + /// * `PROFILE` - PROFILE /// [JsonPropertyName("type")] public JobTypeEnum? Type { get; set; } @@ -121,15 +132,29 @@ public record Job /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/JobInterviewStage.cs b/src/Merge.Client/Ats/Types/JobInterviewStage.cs index 68aa4914..1bc14ca7 100644 --- a/src/Merge.Client/Ats/Types/JobInterviewStage.cs +++ b/src/Merge.Client/Ats/Types/JobInterviewStage.cs @@ -1,11 +1,20 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Ats; +/// +/// # The JobInterviewStage Object +/// ### Description +/// The `JobInterviewStage` object is used to represent a particular recruiting stage for an `Application`. A given `Application` typically has the `JobInterviewStage` object represented in the current_stage field. +/// ### Usage Example +/// Fetch from the `LIST JobInterviewStages` endpoint and view the job interview stages used by a company. +/// public record JobInterviewStage { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -18,12 +27,14 @@ public record JobInterviewStage /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -48,15 +59,29 @@ public record JobInterviewStage /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/JobPosting.cs b/src/Merge.Client/Ats/Types/JobPosting.cs index 7ae04f49..c2005969 100644 --- a/src/Merge.Client/Ats/Types/JobPosting.cs +++ b/src/Merge.Client/Ats/Types/JobPosting.cs @@ -1,11 +1,20 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Ats; +/// +/// # The JobPosting Object +/// ### Description +/// The `JobPosting` object represents an external announcement on a job board created by an organization to attract qualified candidates to apply for a specific `Job` opening +/// ### Usage Example +/// Fetch from the `LIST JobPostings` endpoint to show all job postings. +/// public record JobPosting { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -18,12 +27,14 @@ public record JobPosting /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -48,11 +59,11 @@ public record JobPosting /// /// The job posting's status. /// - /// - `PUBLISHED` - PUBLISHED - /// - `CLOSED` - CLOSED - /// - `DRAFT` - DRAFT - /// - `INTERNAL` - INTERNAL - /// - `PENDING` - PENDING + /// * `PUBLISHED` - PUBLISHED + /// * `CLOSED` - CLOSED + /// * `DRAFT` - DRAFT + /// * `INTERNAL` - INTERNAL + /// * `PENDING` - PENDING /// [JsonPropertyName("status")] public JobPostingStatusEnum? Status { get; set; } @@ -84,15 +95,29 @@ public record JobPosting /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/SyncStatusStatusEnum.cs b/src/Merge.Client/Ats/Types/LastSyncResultEnum.cs similarity index 82% rename from src/Merge.Client/Ats/Types/SyncStatusStatusEnum.cs rename to src/Merge.Client/Ats/Types/LastSyncResultEnum.cs index 6536ae46..674c466d 100644 --- a/src/Merge.Client/Ats/Types/SyncStatusStatusEnum.cs +++ b/src/Merge.Client/Ats/Types/LastSyncResultEnum.cs @@ -4,8 +4,8 @@ namespace Merge.Client.Ats; -[JsonConverter(typeof(EnumSerializer))] -public enum SyncStatusStatusEnum +[JsonConverter(typeof(EnumSerializer))] +public enum LastSyncResultEnum { [EnumMember(Value = "SYNCING")] Syncing, diff --git a/src/Merge.Client/Ats/Types/LinkToken.cs b/src/Merge.Client/Ats/Types/LinkToken.cs index 39b0e2af..d7bb0f83 100644 --- a/src/Merge.Client/Ats/Types/LinkToken.cs +++ b/src/Merge.Client/Ats/Types/LinkToken.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record LinkToken [JsonPropertyName("magic_link_url")] public string? MagicLinkUrl { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/LinkedAccountStatus.cs b/src/Merge.Client/Ats/Types/LinkedAccountStatus.cs index b1b4b545..ea28c99d 100644 --- a/src/Merge.Client/Ats/Types/LinkedAccountStatus.cs +++ b/src/Merge.Client/Ats/Types/LinkedAccountStatus.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -11,6 +12,17 @@ public record LinkedAccountStatus [JsonPropertyName("can_make_request")] public required bool CanMakeRequest { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/MetaResponse.cs b/src/Merge.Client/Ats/Types/MetaResponse.cs index 9f03104c..bb780e76 100644 --- a/src/Merge.Client/Ats/Types/MetaResponse.cs +++ b/src/Merge.Client/Ats/Types/MetaResponse.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -21,6 +22,17 @@ public record MetaResponse [JsonPropertyName("has_required_linked_account_params")] public required bool HasRequiredLinkedAccountParams { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/ModelOperation.cs b/src/Merge.Client/Ats/Types/ModelOperation.cs index acc1ee22..7066306d 100644 --- a/src/Merge.Client/Ats/Types/ModelOperation.cs +++ b/src/Merge.Client/Ats/Types/ModelOperation.cs @@ -1,8 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ats; +/// +/// # The ModelOperation Object +/// ### Description +/// The `ModelOperation` object is used to represent the operations that are currently supported for a given model. +/// +/// ### Usage Example +/// View what operations are supported for the `Candidate` endpoint. +/// public record ModelOperation { [JsonPropertyName("model_name")] @@ -17,6 +26,17 @@ public record ModelOperation [JsonPropertyName("supported_fields")] public IEnumerable SupportedFields { get; set; } = new List(); + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/ModelPermissionDeserializer.cs b/src/Merge.Client/Ats/Types/ModelPermissionDeserializer.cs index 681d720b..f21498fd 100644 --- a/src/Merge.Client/Ats/Types/ModelPermissionDeserializer.cs +++ b/src/Merge.Client/Ats/Types/ModelPermissionDeserializer.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -8,6 +9,17 @@ public record ModelPermissionDeserializer [JsonPropertyName("is_enabled")] public bool? IsEnabled { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/ModelPermissionDeserializerRequest.cs b/src/Merge.Client/Ats/Types/ModelPermissionDeserializerRequest.cs index 932002bd..73a80f75 100644 --- a/src/Merge.Client/Ats/Types/ModelPermissionDeserializerRequest.cs +++ b/src/Merge.Client/Ats/Types/ModelPermissionDeserializerRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -8,6 +9,17 @@ public record ModelPermissionDeserializerRequest [JsonPropertyName("is_enabled")] public bool? IsEnabled { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/MultipartFormFieldRequest.cs b/src/Merge.Client/Ats/Types/MultipartFormFieldRequest.cs index 62742934..68d7483c 100644 --- a/src/Merge.Client/Ats/Types/MultipartFormFieldRequest.cs +++ b/src/Merge.Client/Ats/Types/MultipartFormFieldRequest.cs @@ -1,8 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ats; +/// +/// # The MultipartFormField Object +/// ### Description +/// The `MultipartFormField` object is used to represent fields in an HTTP request using `multipart/form-data`. +/// +/// ### Usage Example +/// Create a `MultipartFormField` to define a multipart form entry. +/// public record MultipartFormFieldRequest { /// @@ -20,9 +29,9 @@ public record MultipartFormFieldRequest /// /// The encoding of the value of `data`. Defaults to `RAW` if not defined. /// - /// - `RAW` - RAW - /// - `BASE64` - BASE64 - /// - `GZIP_BASE64` - GZIP_BASE64 + /// * `RAW` - RAW + /// * `BASE64` - BASE64 + /// * `GZIP_BASE64` - GZIP_BASE64 /// [JsonPropertyName("encoding")] public EncodingEnum? Encoding { get; set; } @@ -39,6 +48,17 @@ public record MultipartFormFieldRequest [JsonPropertyName("content_type")] public string? ContentType { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/Offer.cs b/src/Merge.Client/Ats/Types/Offer.cs index 70e5c6ab..f289f80d 100644 --- a/src/Merge.Client/Ats/Types/Offer.cs +++ b/src/Merge.Client/Ats/Types/Offer.cs @@ -1,11 +1,20 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Ats; +/// +/// # The Offer Object +/// ### Description +/// The `Offer` object is used to represent an offer for a candidate's application specific to a job. +/// ### Usage Example +/// Fetch from the `LIST Offers` endpoint and filter by `ID` to show all offers. +/// public record Offer { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -18,12 +27,14 @@ public record Offer /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -66,15 +77,15 @@ public record Offer /// /// The offer's status. /// - /// - `DRAFT` - DRAFT - /// - `APPROVAL-SENT` - APPROVAL-SENT - /// - `APPROVED` - APPROVED - /// - `SENT` - SENT - /// - `SENT-MANUALLY` - SENT-MANUALLY - /// - `OPENED` - OPENED - /// - `DENIED` - DENIED - /// - `SIGNED` - SIGNED - /// - `DEPRECATED` - DEPRECATED + /// * `DRAFT` - DRAFT + /// * `APPROVAL-SENT` - APPROVAL-SENT + /// * `APPROVED` - APPROVED + /// * `SENT` - SENT + /// * `SENT-MANUALLY` - SENT-MANUALLY + /// * `OPENED` - OPENED + /// * `DENIED` - DENIED + /// * `SIGNED` - SIGNED + /// * `DEPRECATED` - DEPRECATED /// [JsonPropertyName("status")] public OfferStatusEnum? Status { get; set; } @@ -82,15 +93,29 @@ public record Offer /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/Office.cs b/src/Merge.Client/Ats/Types/Office.cs index d2843b1b..49722130 100644 --- a/src/Merge.Client/Ats/Types/Office.cs +++ b/src/Merge.Client/Ats/Types/Office.cs @@ -1,10 +1,19 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ats; +/// +/// # The Office Object +/// ### Description +/// The `Office` object is used to represent an office within a company. A given `Job` has the `Office` ID in its offices field. +/// ### Usage Example +/// Fetch from the `LIST Offices` endpoint and view the offices within a company. +/// public record Office { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -17,12 +26,14 @@ public record Office /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -41,15 +52,29 @@ public record Office /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/PaginatedAccountDetailsAndActionsList.cs b/src/Merge.Client/Ats/Types/PaginatedAccountDetailsAndActionsList.cs index 3fff17db..eb42877f 100644 --- a/src/Merge.Client/Ats/Types/PaginatedAccountDetailsAndActionsList.cs +++ b/src/Merge.Client/Ats/Types/PaginatedAccountDetailsAndActionsList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedAccountDetailsAndActionsList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/PaginatedActivityList.cs b/src/Merge.Client/Ats/Types/PaginatedActivityList.cs index ca8b83f5..44ec2242 100644 --- a/src/Merge.Client/Ats/Types/PaginatedActivityList.cs +++ b/src/Merge.Client/Ats/Types/PaginatedActivityList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedActivityList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/PaginatedApplicationList.cs b/src/Merge.Client/Ats/Types/PaginatedApplicationList.cs index ac6e1d4d..7682860a 100644 --- a/src/Merge.Client/Ats/Types/PaginatedApplicationList.cs +++ b/src/Merge.Client/Ats/Types/PaginatedApplicationList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedApplicationList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/PaginatedAttachmentList.cs b/src/Merge.Client/Ats/Types/PaginatedAttachmentList.cs index 4bb52562..97078255 100644 --- a/src/Merge.Client/Ats/Types/PaginatedAttachmentList.cs +++ b/src/Merge.Client/Ats/Types/PaginatedAttachmentList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedAttachmentList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/PaginatedAuditLogEventList.cs b/src/Merge.Client/Ats/Types/PaginatedAuditLogEventList.cs index b56020e7..4699fb19 100644 --- a/src/Merge.Client/Ats/Types/PaginatedAuditLogEventList.cs +++ b/src/Merge.Client/Ats/Types/PaginatedAuditLogEventList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedAuditLogEventList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/PaginatedCandidateList.cs b/src/Merge.Client/Ats/Types/PaginatedCandidateList.cs index f3455289..226efc5a 100644 --- a/src/Merge.Client/Ats/Types/PaginatedCandidateList.cs +++ b/src/Merge.Client/Ats/Types/PaginatedCandidateList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedCandidateList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/PaginatedDepartmentList.cs b/src/Merge.Client/Ats/Types/PaginatedDepartmentList.cs index 9ba7cf81..ee78c681 100644 --- a/src/Merge.Client/Ats/Types/PaginatedDepartmentList.cs +++ b/src/Merge.Client/Ats/Types/PaginatedDepartmentList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedDepartmentList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/PaginatedEeocList.cs b/src/Merge.Client/Ats/Types/PaginatedEeocList.cs index 6e2676ba..14148a67 100644 --- a/src/Merge.Client/Ats/Types/PaginatedEeocList.cs +++ b/src/Merge.Client/Ats/Types/PaginatedEeocList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedEeocList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/PaginatedIssueList.cs b/src/Merge.Client/Ats/Types/PaginatedIssueList.cs index 1f917201..c85fe855 100644 --- a/src/Merge.Client/Ats/Types/PaginatedIssueList.cs +++ b/src/Merge.Client/Ats/Types/PaginatedIssueList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedIssueList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/PaginatedJobInterviewStageList.cs b/src/Merge.Client/Ats/Types/PaginatedJobInterviewStageList.cs index 95eae559..8884c27c 100644 --- a/src/Merge.Client/Ats/Types/PaginatedJobInterviewStageList.cs +++ b/src/Merge.Client/Ats/Types/PaginatedJobInterviewStageList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedJobInterviewStageList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/PaginatedJobList.cs b/src/Merge.Client/Ats/Types/PaginatedJobList.cs index f83a8739..e1804d40 100644 --- a/src/Merge.Client/Ats/Types/PaginatedJobList.cs +++ b/src/Merge.Client/Ats/Types/PaginatedJobList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedJobList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/PaginatedJobPostingList.cs b/src/Merge.Client/Ats/Types/PaginatedJobPostingList.cs index a527fe08..6716b655 100644 --- a/src/Merge.Client/Ats/Types/PaginatedJobPostingList.cs +++ b/src/Merge.Client/Ats/Types/PaginatedJobPostingList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedJobPostingList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/PaginatedOfferList.cs b/src/Merge.Client/Ats/Types/PaginatedOfferList.cs index 806c609e..987317a2 100644 --- a/src/Merge.Client/Ats/Types/PaginatedOfferList.cs +++ b/src/Merge.Client/Ats/Types/PaginatedOfferList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedOfferList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/PaginatedOfficeList.cs b/src/Merge.Client/Ats/Types/PaginatedOfficeList.cs index 9de8f016..ec3bde86 100644 --- a/src/Merge.Client/Ats/Types/PaginatedOfficeList.cs +++ b/src/Merge.Client/Ats/Types/PaginatedOfficeList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedOfficeList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/PaginatedRejectReasonList.cs b/src/Merge.Client/Ats/Types/PaginatedRejectReasonList.cs index 3399250d..eb31d2e9 100644 --- a/src/Merge.Client/Ats/Types/PaginatedRejectReasonList.cs +++ b/src/Merge.Client/Ats/Types/PaginatedRejectReasonList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedRejectReasonList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/PaginatedRemoteUserList.cs b/src/Merge.Client/Ats/Types/PaginatedRemoteUserList.cs index 2d388331..f4014faf 100644 --- a/src/Merge.Client/Ats/Types/PaginatedRemoteUserList.cs +++ b/src/Merge.Client/Ats/Types/PaginatedRemoteUserList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedRemoteUserList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/PaginatedScheduledInterviewList.cs b/src/Merge.Client/Ats/Types/PaginatedScheduledInterviewList.cs index 22bc8840..13522623 100644 --- a/src/Merge.Client/Ats/Types/PaginatedScheduledInterviewList.cs +++ b/src/Merge.Client/Ats/Types/PaginatedScheduledInterviewList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedScheduledInterviewList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/PaginatedScorecardList.cs b/src/Merge.Client/Ats/Types/PaginatedScorecardList.cs index 70fb8ff4..c629b13c 100644 --- a/src/Merge.Client/Ats/Types/PaginatedScorecardList.cs +++ b/src/Merge.Client/Ats/Types/PaginatedScorecardList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedScorecardList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/PaginatedScreeningQuestionList.cs b/src/Merge.Client/Ats/Types/PaginatedScreeningQuestionList.cs index 662cdfd9..8311a8c9 100644 --- a/src/Merge.Client/Ats/Types/PaginatedScreeningQuestionList.cs +++ b/src/Merge.Client/Ats/Types/PaginatedScreeningQuestionList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedScreeningQuestionList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/PaginatedSyncStatusList.cs b/src/Merge.Client/Ats/Types/PaginatedSyncStatusList.cs index ea96c65a..fd00940b 100644 --- a/src/Merge.Client/Ats/Types/PaginatedSyncStatusList.cs +++ b/src/Merge.Client/Ats/Types/PaginatedSyncStatusList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedSyncStatusList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/PaginatedTagList.cs b/src/Merge.Client/Ats/Types/PaginatedTagList.cs index 1e4a0f63..264396dd 100644 --- a/src/Merge.Client/Ats/Types/PaginatedTagList.cs +++ b/src/Merge.Client/Ats/Types/PaginatedTagList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedTagList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/PatchedCandidateRequest.cs b/src/Merge.Client/Ats/Types/PatchedCandidateRequest.cs index 249256c1..13e6dbab 100644 --- a/src/Merge.Client/Ats/Types/PatchedCandidateRequest.cs +++ b/src/Merge.Client/Ats/Types/PatchedCandidateRequest.cs @@ -1,8 +1,16 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ats; +/// +/// # The Candidate Object +/// ### Description +/// The `Candidate` object is used to represent profile information about a given Candidate. Because it is specific to a Candidate, this information stays constant across applications. +/// ### Usage Example +/// Fetch from the `LIST Candidates` endpoint and filter by `ID` to show all candidates. +/// public record PatchedCandidateRequest { /// @@ -80,15 +88,29 @@ public record PatchedCandidateRequest [JsonPropertyName("attachments")] public IEnumerable? Attachments { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("remote_template_id")] public string? RemoteTemplateId { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("integration_params")] public Dictionary? IntegrationParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("linked_account_params")] public Dictionary? LinkedAccountParams { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/PhoneNumber.cs b/src/Merge.Client/Ats/Types/PhoneNumber.cs index 661a8732..d958a81c 100644 --- a/src/Merge.Client/Ats/Types/PhoneNumber.cs +++ b/src/Merge.Client/Ats/Types/PhoneNumber.cs @@ -1,19 +1,29 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ats; +/// +/// # The PhoneNumber Object +/// ### Description +/// The `PhoneNumber` object is used to represent a candidate's phone number. +/// ### Usage Example +/// Fetch from the `GET Candidate` endpoint and view their phone numbers. +/// public record PhoneNumber { /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -26,11 +36,11 @@ public record PhoneNumber /// /// The type of phone number. /// - /// - `HOME` - HOME - /// - `WORK` - WORK - /// - `MOBILE` - MOBILE - /// - `SKYPE` - SKYPE - /// - `OTHER` - OTHER + /// * `HOME` - HOME + /// * `WORK` - WORK + /// * `MOBILE` - MOBILE + /// * `SKYPE` - SKYPE + /// * `OTHER` - OTHER /// [JsonPropertyName("phone_number_type")] public PhoneNumberTypeEnum? PhoneNumberType { get; set; } @@ -38,9 +48,21 @@ public record PhoneNumber /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/PhoneNumberRequest.cs b/src/Merge.Client/Ats/Types/PhoneNumberRequest.cs index e8cffaff..6761d03c 100644 --- a/src/Merge.Client/Ats/Types/PhoneNumberRequest.cs +++ b/src/Merge.Client/Ats/Types/PhoneNumberRequest.cs @@ -1,8 +1,16 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ats; +/// +/// # The PhoneNumber Object +/// ### Description +/// The `PhoneNumber` object is used to represent a candidate's phone number. +/// ### Usage Example +/// Fetch from the `GET Candidate` endpoint and view their phone numbers. +/// public record PhoneNumberRequest { /// @@ -14,21 +22,34 @@ public record PhoneNumberRequest /// /// The type of phone number. /// - /// - `HOME` - HOME - /// - `WORK` - WORK - /// - `MOBILE` - MOBILE - /// - `SKYPE` - SKYPE - /// - `OTHER` - OTHER + /// * `HOME` - HOME + /// * `WORK` - WORK + /// * `MOBILE` - MOBILE + /// * `SKYPE` - SKYPE + /// * `OTHER` - OTHER /// [JsonPropertyName("phone_number_type")] public PhoneNumberTypeEnum? PhoneNumberType { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("integration_params")] public Dictionary? IntegrationParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("linked_account_params")] public Dictionary? LinkedAccountParams { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/RejectReason.cs b/src/Merge.Client/Ats/Types/RejectReason.cs index 711d33dd..3cb18b01 100644 --- a/src/Merge.Client/Ats/Types/RejectReason.cs +++ b/src/Merge.Client/Ats/Types/RejectReason.cs @@ -1,10 +1,19 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ats; +/// +/// # The RejectReason Object +/// ### Description +/// The `RejectReason` object is used to represent a reason for rejecting an application. These can typically be configured within an ATS system. +/// ### Usage Example +/// Fetch from the `LIST RejectReasons` endpoint and filter by `ID` to show all reasons. +/// public record RejectReason { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -17,12 +26,14 @@ public record RejectReason /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -35,15 +46,29 @@ public record RejectReason /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/RemoteData.cs b/src/Merge.Client/Ats/Types/RemoteData.cs index b9159739..2b8e1f90 100644 --- a/src/Merge.Client/Ats/Types/RemoteData.cs +++ b/src/Merge.Client/Ats/Types/RemoteData.cs @@ -1,8 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ats; +/// +/// # The RemoteData Object +/// ### Description +/// The `RemoteData` object is used to represent the full data pulled from the third-party API for an object. +/// +/// ### Usage Example +/// TODO +/// public record RemoteData { /// @@ -11,9 +20,21 @@ public record RemoteData [JsonPropertyName("path")] public required string Path { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("data")] public object? Data { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/RemoteEndpointInfo.cs b/src/Merge.Client/Ats/Types/RemoteEndpointInfo.cs index d3a9f6f6..3414475d 100644 --- a/src/Merge.Client/Ats/Types/RemoteEndpointInfo.cs +++ b/src/Merge.Client/Ats/Types/RemoteEndpointInfo.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record RemoteEndpointInfo [JsonPropertyName("field_traversal_path")] public IEnumerable FieldTraversalPath { get; set; } = new List(); + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/RemoteFieldApi.cs b/src/Merge.Client/Ats/Types/RemoteFieldApi.cs index 1d61f5a2..d68c3aff 100644 --- a/src/Merge.Client/Ats/Types/RemoteFieldApi.cs +++ b/src/Merge.Client/Ats/Types/RemoteFieldApi.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; @@ -21,9 +22,21 @@ public record RemoteFieldApi [JsonPropertyName("advanced_metadata")] public AdvancedMetadata? AdvancedMetadata { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("coverage")] public OneOf? Coverage { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/RemoteFieldApiResponse.cs b/src/Merge.Client/Ats/Types/RemoteFieldApiResponse.cs index 2719c14f..27228973 100644 --- a/src/Merge.Client/Ats/Types/RemoteFieldApiResponse.cs +++ b/src/Merge.Client/Ats/Types/RemoteFieldApiResponse.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -53,6 +54,17 @@ public record RemoteFieldApiResponse [JsonPropertyName("RemoteUser")] public IEnumerable? RemoteUser { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/RemoteKey.cs b/src/Merge.Client/Ats/Types/RemoteKey.cs index 63d3dd83..98549e9a 100644 --- a/src/Merge.Client/Ats/Types/RemoteKey.cs +++ b/src/Merge.Client/Ats/Types/RemoteKey.cs @@ -1,8 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ats; +/// +/// # The RemoteKey Object +/// ### Description +/// The `RemoteKey` object is used to represent a request for a new remote key. +/// +/// ### Usage Example +/// Post a `GenerateRemoteKey` to receive a new `RemoteKey`. +/// public record RemoteKey { [JsonPropertyName("name")] @@ -11,6 +20,17 @@ public record RemoteKey [JsonPropertyName("key")] public required string Key { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/RemoteResponse.cs b/src/Merge.Client/Ats/Types/RemoteResponse.cs index 8ce814ff..11b38424 100644 --- a/src/Merge.Client/Ats/Types/RemoteResponse.cs +++ b/src/Merge.Client/Ats/Types/RemoteResponse.cs @@ -1,8 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ats; +/// +/// # The RemoteResponse Object +/// ### Description +/// The `RemoteResponse` object is used to represent information returned from a third-party endpoint. +/// +/// ### Usage Example +/// View the `RemoteResponse` returned from your `DataPassthrough`. +/// public record RemoteResponse { [JsonPropertyName("method")] @@ -26,6 +35,17 @@ public record RemoteResponse [JsonPropertyName("headers")] public Dictionary? Headers { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/RemoteUser.cs b/src/Merge.Client/Ats/Types/RemoteUser.cs index 004d4885..b011dce9 100644 --- a/src/Merge.Client/Ats/Types/RemoteUser.cs +++ b/src/Merge.Client/Ats/Types/RemoteUser.cs @@ -1,10 +1,19 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ats; +/// +/// # The RemoteUser Object +/// ### Description +/// The `RemoteUser` object is used to represent a user with a login to the ATS system. +/// ### Usage Example +/// Fetch from the `LIST RemoteUsers` endpoint to show all users for a third party. +/// public record RemoteUser { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -17,12 +26,14 @@ public record RemoteUser /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -59,11 +70,11 @@ public record RemoteUser /// /// The user's role. /// - /// - `SUPER_ADMIN` - SUPER_ADMIN - /// - `ADMIN` - ADMIN - /// - `TEAM_MEMBER` - TEAM_MEMBER - /// - `LIMITED_TEAM_MEMBER` - LIMITED_TEAM_MEMBER - /// - `INTERVIEWER` - INTERVIEWER + /// * `SUPER_ADMIN` - SUPER_ADMIN + /// * `ADMIN` - ADMIN + /// * `TEAM_MEMBER` - TEAM_MEMBER + /// * `LIMITED_TEAM_MEMBER` - LIMITED_TEAM_MEMBER + /// * `INTERVIEWER` - INTERVIEWER /// [JsonPropertyName("access_role")] public AccessRoleEnum? AccessRole { get; set; } @@ -71,15 +82,29 @@ public record RemoteUser /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/ScheduledInterview.cs b/src/Merge.Client/Ats/Types/ScheduledInterview.cs index 92f9d19d..732da622 100644 --- a/src/Merge.Client/Ats/Types/ScheduledInterview.cs +++ b/src/Merge.Client/Ats/Types/ScheduledInterview.cs @@ -1,11 +1,20 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Ats; +/// +/// # The ScheduledInterview Object +/// ### Description +/// The `ScheduledInterview` object is used to represent a scheduled interview for a given candidate’s application to a job. An `Application` can have multiple `ScheduledInterview`s depending on the particular hiring process. +/// ### Usage Example +/// Fetch from the `LIST ScheduledInterviews` endpoint and filter by `interviewers` to show all office locations. +/// public record ScheduledInterview { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -18,12 +27,14 @@ public record ScheduledInterview /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -84,9 +95,9 @@ public record ScheduledInterview /// /// The interview's status. /// - /// - `SCHEDULED` - SCHEDULED - /// - `AWAITING_FEEDBACK` - AWAITING_FEEDBACK - /// - `COMPLETE` - COMPLETE + /// * `SCHEDULED` - SCHEDULED + /// * `AWAITING_FEEDBACK` - AWAITING_FEEDBACK + /// * `COMPLETE` - COMPLETE /// [JsonPropertyName("status")] public ScheduledInterviewStatusEnum? Status { get; set; } @@ -94,15 +105,29 @@ public record ScheduledInterview /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/ScheduledInterviewRequest.cs b/src/Merge.Client/Ats/Types/ScheduledInterviewRequest.cs index ecebdef8..91123e8b 100644 --- a/src/Merge.Client/Ats/Types/ScheduledInterviewRequest.cs +++ b/src/Merge.Client/Ats/Types/ScheduledInterviewRequest.cs @@ -1,9 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Ats; +/// +/// # The ScheduledInterview Object +/// ### Description +/// The `ScheduledInterview` object is used to represent a scheduled interview for a given candidate’s application to a job. An `Application` can have multiple `ScheduledInterview`s depending on the particular hiring process. +/// ### Usage Example +/// Fetch from the `LIST ScheduledInterviews` endpoint and filter by `interviewers` to show all office locations. +/// public record ScheduledInterviewRequest { /// @@ -51,19 +59,32 @@ public record ScheduledInterviewRequest /// /// The interview's status. /// - /// - `SCHEDULED` - SCHEDULED - /// - `AWAITING_FEEDBACK` - AWAITING_FEEDBACK - /// - `COMPLETE` - COMPLETE + /// * `SCHEDULED` - SCHEDULED + /// * `AWAITING_FEEDBACK` - AWAITING_FEEDBACK + /// * `COMPLETE` - COMPLETE /// [JsonPropertyName("status")] public ScheduledInterviewStatusEnum? Status { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("integration_params")] public Dictionary? IntegrationParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("linked_account_params")] public Dictionary? LinkedAccountParams { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/ScheduledInterviewResponse.cs b/src/Merge.Client/Ats/Types/ScheduledInterviewResponse.cs index bc92d3cf..bcb949d5 100644 --- a/src/Merge.Client/Ats/Types/ScheduledInterviewResponse.cs +++ b/src/Merge.Client/Ats/Types/ScheduledInterviewResponse.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -19,6 +20,17 @@ public record ScheduledInterviewResponse [JsonPropertyName("logs")] public IEnumerable? Logs { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/Scorecard.cs b/src/Merge.Client/Ats/Types/Scorecard.cs index 670242e2..9301f147 100644 --- a/src/Merge.Client/Ats/Types/Scorecard.cs +++ b/src/Merge.Client/Ats/Types/Scorecard.cs @@ -1,11 +1,20 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Ats; +/// +/// # The Scorecard Object +/// ### Description +/// The `Scorecard` object is used to represent an interviewer's candidate recommendation based on a particular interview. +/// ### Usage Example +/// Fetch from the `LIST Scorecards` endpoint and filter by `application` to show all scorecard for an applicant. +/// public record Scorecard { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -18,12 +27,14 @@ public record Scorecard /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -60,11 +71,11 @@ public record Scorecard /// /// The inteviewer's recommendation. /// - /// - `DEFINITELY_NO` - DEFINITELY_NO - /// - `NO` - NO - /// - `YES` - YES - /// - `STRONG_YES` - STRONG_YES - /// - `NO_DECISION` - NO_DECISION + /// * `DEFINITELY_NO` - DEFINITELY_NO + /// * `NO` - NO + /// * `YES` - YES + /// * `STRONG_YES` - STRONG_YES + /// * `NO_DECISION` - NO_DECISION /// [JsonPropertyName("overall_recommendation")] public OverallRecommendationEnum? OverallRecommendation { get; set; } @@ -72,15 +83,29 @@ public record Scorecard /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/ScreeningQuestion.cs b/src/Merge.Client/Ats/Types/ScreeningQuestion.cs index 36580abf..afd487e0 100644 --- a/src/Merge.Client/Ats/Types/ScreeningQuestion.cs +++ b/src/Merge.Client/Ats/Types/ScreeningQuestion.cs @@ -1,11 +1,21 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Ats; +/// +/// # The ScreeningQuestion Object +/// ### Description +/// The `ScreeningQuestion` object is used to represent questions asked to screen candidates for a job. +/// +/// ### Usage Example +/// TODO +/// public record ScreeningQuestion { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -18,12 +28,14 @@ public record ScreeningQuestion /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -48,14 +60,14 @@ public record ScreeningQuestion /// /// The data type for the screening question. /// - /// - `DATE` - DATE - /// - `FILE` - FILE - /// - `SINGLE_SELECT` - SINGLE_SELECT - /// - `MULTI_SELECT` - MULTI_SELECT - /// - `SINGLE_LINE_TEXT` - SINGLE_LINE_TEXT - /// - `MULTI_LINE_TEXT` - MULTI_LINE_TEXT - /// - `NUMERIC` - NUMERIC - /// - `BOOLEAN` - BOOLEAN + /// * `DATE` - DATE + /// * `FILE` - FILE + /// * `SINGLE_SELECT` - SINGLE_SELECT + /// * `MULTI_SELECT` - MULTI_SELECT + /// * `SINGLE_LINE_TEXT` - SINGLE_LINE_TEXT + /// * `MULTI_LINE_TEXT` - MULTI_LINE_TEXT + /// * `NUMERIC` - NUMERIC + /// * `BOOLEAN` - BOOLEAN /// [JsonPropertyName("type")] public ScreeningQuestionTypeEnum? Type { get; set; } @@ -75,6 +87,17 @@ public record ScreeningQuestion [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/ScreeningQuestionAnswer.cs b/src/Merge.Client/Ats/Types/ScreeningQuestionAnswer.cs index 4c781c5b..fcc737f1 100644 --- a/src/Merge.Client/Ats/Types/ScreeningQuestionAnswer.cs +++ b/src/Merge.Client/Ats/Types/ScreeningQuestionAnswer.cs @@ -1,11 +1,21 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Ats; +/// +/// # The ScreeningQuestionAnswer Object +/// ### Description +/// The `ScreeningQuestionAnswer` object is used to represent candidate responses to a screening question, for a specific application. +/// +/// ### Usage Example +/// TODO +/// public record ScreeningQuestionAnswer { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -18,12 +28,14 @@ public record ScreeningQuestionAnswer /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -42,9 +54,21 @@ public record ScreeningQuestionAnswer /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/ScreeningQuestionAnswerRequest.cs b/src/Merge.Client/Ats/Types/ScreeningQuestionAnswerRequest.cs index 7bd7d1d7..1f4d3746 100644 --- a/src/Merge.Client/Ats/Types/ScreeningQuestionAnswerRequest.cs +++ b/src/Merge.Client/Ats/Types/ScreeningQuestionAnswerRequest.cs @@ -1,9 +1,18 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Ats; +/// +/// # The ScreeningQuestionAnswer Object +/// ### Description +/// The `ScreeningQuestionAnswer` object is used to represent candidate responses to a screening question, for a specific application. +/// +/// ### Usage Example +/// TODO +/// public record ScreeningQuestionAnswerRequest { /// @@ -24,12 +33,25 @@ public record ScreeningQuestionAnswerRequest [JsonPropertyName("answer")] public string? Answer { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("integration_params")] public Dictionary? IntegrationParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("linked_account_params")] public Dictionary? LinkedAccountParams { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/ScreeningQuestionOption.cs b/src/Merge.Client/Ats/Types/ScreeningQuestionOption.cs index 90c5fe7c..2fc2bd8e 100644 --- a/src/Merge.Client/Ats/Types/ScreeningQuestionOption.cs +++ b/src/Merge.Client/Ats/Types/ScreeningQuestionOption.cs @@ -1,10 +1,20 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ats; +/// +/// # The ScreeningQuestionOption Object +/// ### Description +/// The `ScreeningQuestionOption` object is used to represent options for a `ScreeningQuestion` object +/// +/// ### Usage Example +/// TODO +/// public record ScreeningQuestionOption { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -17,12 +27,14 @@ public record ScreeningQuestionOption /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -38,6 +50,17 @@ public record ScreeningQuestionOption [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/StatusFd5Enum.cs b/src/Merge.Client/Ats/Types/StatusFd5Enum.cs new file mode 100644 index 00000000..ebf2cd64 --- /dev/null +++ b/src/Merge.Client/Ats/Types/StatusFd5Enum.cs @@ -0,0 +1,27 @@ +using System.Runtime.Serialization; +using System.Text.Json.Serialization; +using Merge.Client.Core; + +namespace Merge.Client.Ats; + +[JsonConverter(typeof(EnumSerializer))] +public enum StatusFd5Enum +{ + [EnumMember(Value = "SYNCING")] + Syncing, + + [EnumMember(Value = "DONE")] + Done, + + [EnumMember(Value = "FAILED")] + Failed, + + [EnumMember(Value = "DISABLED")] + Disabled, + + [EnumMember(Value = "PAUSED")] + Paused, + + [EnumMember(Value = "PARTIALLY_SYNCED")] + PartiallySynced, +} diff --git a/src/Merge.Client/Ats/Types/SyncStatus.cs b/src/Merge.Client/Ats/Types/SyncStatus.cs index 86fc9211..a13e89f9 100644 --- a/src/Merge.Client/Ats/Types/SyncStatus.cs +++ b/src/Merge.Client/Ats/Types/SyncStatus.cs @@ -1,8 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ats; +/// +/// # The SyncStatus Object +/// ### Description +/// The `SyncStatus` object is used to represent the syncing state of an account +/// +/// ### Usage Example +/// View the `SyncStatus` for an account to see how recently its models were synced. +/// public record SyncStatus { [JsonPropertyName("model_name")] @@ -17,8 +26,14 @@ public record SyncStatus [JsonPropertyName("next_sync_start")] public DateTime? NextSyncStart { get; set; } + [JsonPropertyName("last_sync_result")] + public LastSyncResultEnum? LastSyncResult { get; set; } + + [JsonPropertyName("last_sync_finished")] + public DateTime? LastSyncFinished { get; set; } + [JsonPropertyName("status")] - public required SyncStatusStatusEnum Status { get; set; } + public required StatusFd5Enum Status { get; set; } [JsonPropertyName("is_initial_sync")] public required bool IsInitialSync { get; set; } @@ -26,6 +41,17 @@ public record SyncStatus [JsonPropertyName("selective_sync_configurations_usage")] public SelectiveSyncConfigurationsUsageEnum? SelectiveSyncConfigurationsUsage { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/Tag.cs b/src/Merge.Client/Ats/Types/Tag.cs index 4b0055c0..9c55bc10 100644 --- a/src/Merge.Client/Ats/Types/Tag.cs +++ b/src/Merge.Client/Ats/Types/Tag.cs @@ -1,8 +1,16 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ats; +/// +/// # The Tag Object +/// ### Description +/// The `Tag` object is used to represent a tag for a candidate. +/// ### Usage Example +/// Fetch from the `LIST Tags` endpoint and view the tags used within a company. +/// public record Tag { /// @@ -14,12 +22,14 @@ public record Tag /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -32,15 +42,28 @@ public record Tag /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } [JsonPropertyName("remote_data")] public IEnumerable>? RemoteData { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/Url.cs b/src/Merge.Client/Ats/Types/Url.cs index ac7d9e73..62797206 100644 --- a/src/Merge.Client/Ats/Types/Url.cs +++ b/src/Merge.Client/Ats/Types/Url.cs @@ -1,19 +1,29 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ats; +/// +/// # The Url Object +/// ### Description +/// The `Url` object is used to represent hyperlinks associated with the parent model. +/// ### Usage Example +/// Fetch from the `GET Candidate` endpoint and view their website urls. +/// public record Url { /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -26,13 +36,13 @@ public record Url /// /// The type of site. /// - /// - `PERSONAL` - PERSONAL - /// - `COMPANY` - COMPANY - /// - `PORTFOLIO` - PORTFOLIO - /// - `BLOG` - BLOG - /// - `SOCIAL_MEDIA` - SOCIAL_MEDIA - /// - `OTHER` - OTHER - /// - `JOB_POSTING` - JOB_POSTING + /// * `PERSONAL` - PERSONAL + /// * `COMPANY` - COMPANY + /// * `PORTFOLIO` - PORTFOLIO + /// * `BLOG` - BLOG + /// * `SOCIAL_MEDIA` - SOCIAL_MEDIA + /// * `OTHER` - OTHER + /// * `JOB_POSTING` - JOB_POSTING /// [JsonPropertyName("url_type")] public UrlTypeEnum? UrlType { get; set; } @@ -40,9 +50,21 @@ public record Url /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/UrlRequest.cs b/src/Merge.Client/Ats/Types/UrlRequest.cs index 4bec71ec..9e0938ab 100644 --- a/src/Merge.Client/Ats/Types/UrlRequest.cs +++ b/src/Merge.Client/Ats/Types/UrlRequest.cs @@ -1,8 +1,16 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ats; +/// +/// # The Url Object +/// ### Description +/// The `Url` object is used to represent hyperlinks associated with the parent model. +/// ### Usage Example +/// Fetch from the `GET Candidate` endpoint and view their website urls. +/// public record UrlRequest { /// @@ -14,23 +22,36 @@ public record UrlRequest /// /// The type of site. /// - /// - `PERSONAL` - PERSONAL - /// - `COMPANY` - COMPANY - /// - `PORTFOLIO` - PORTFOLIO - /// - `BLOG` - BLOG - /// - `SOCIAL_MEDIA` - SOCIAL_MEDIA - /// - `OTHER` - OTHER - /// - `JOB_POSTING` - JOB_POSTING + /// * `PERSONAL` - PERSONAL + /// * `COMPANY` - COMPANY + /// * `PORTFOLIO` - PORTFOLIO + /// * `BLOG` - BLOG + /// * `SOCIAL_MEDIA` - SOCIAL_MEDIA + /// * `OTHER` - OTHER + /// * `JOB_POSTING` - JOB_POSTING /// [JsonPropertyName("url_type")] public UrlTypeEnum? UrlType { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("integration_params")] public Dictionary? IntegrationParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("linked_account_params")] public Dictionary? LinkedAccountParams { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/ValidationProblemSource.cs b/src/Merge.Client/Ats/Types/ValidationProblemSource.cs index 42fe393f..0f0fabc9 100644 --- a/src/Merge.Client/Ats/Types/ValidationProblemSource.cs +++ b/src/Merge.Client/Ats/Types/ValidationProblemSource.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -8,6 +9,17 @@ public record ValidationProblemSource [JsonPropertyName("pointer")] public required string Pointer { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/WarningValidationProblem.cs b/src/Merge.Client/Ats/Types/WarningValidationProblem.cs index f9ae6f64..eb651d9d 100644 --- a/src/Merge.Client/Ats/Types/WarningValidationProblem.cs +++ b/src/Merge.Client/Ats/Types/WarningValidationProblem.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -17,6 +18,17 @@ public record WarningValidationProblem [JsonPropertyName("problem_type")] public required string ProblemType { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Types/WebhookReceiver.cs b/src/Merge.Client/Ats/Types/WebhookReceiver.cs index 3f83de0e..4a88ecb2 100644 --- a/src/Merge.Client/Ats/Types/WebhookReceiver.cs +++ b/src/Merge.Client/Ats/Types/WebhookReceiver.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record WebhookReceiver [JsonPropertyName("key")] public string? Key { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Users/Requests/UsersListRequest.cs b/src/Merge.Client/Ats/Users/Requests/UsersListRequest.cs index 9e377df8..a0ecf1e7 100644 --- a/src/Merge.Client/Ats/Users/Requests/UsersListRequest.cs +++ b/src/Merge.Client/Ats/Users/Requests/UsersListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ats; @@ -7,68 +8,82 @@ public record UsersListRequest /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// If provided, will only return remote users with the given email address /// + [JsonIgnore] public string? Email { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// Deprecated. Use show_enum_origins. /// + [JsonIgnore] public string? RemoteFields { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } /// /// A comma separated list of enum field names for which you'd like the original values to be returned, instead of Merge's normalized enum values. [Learn more](https://help.merge.dev/en/articles/8950958-show_enum_origins-query-parameter) /// + [JsonIgnore] public string? ShowEnumOrigins { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Users/Requests/UsersRetrieveRequest.cs b/src/Merge.Client/Ats/Users/Requests/UsersRetrieveRequest.cs index f306d220..e843a3c6 100644 --- a/src/Merge.Client/Ats/Users/Requests/UsersRetrieveRequest.cs +++ b/src/Merge.Client/Ats/Users/Requests/UsersRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ats; @@ -7,18 +8,28 @@ public record UsersRetrieveRequest /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + /// /// Deprecated. Use show_enum_origins. /// + [JsonIgnore] public string? RemoteFields { get; set; } /// /// A comma separated list of enum field names for which you'd like the original values to be returned, instead of Merge's normalized enum values. [Learn more](https://help.merge.dev/en/articles/8950958-show_enum_origins-query-parameter) /// + [JsonIgnore] public string? ShowEnumOrigins { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/Users/UsersClient.cs b/src/Merge.Client/Ats/Users/UsersClient.cs index dc152294..2f2b0d49 100644 --- a/src/Merge.Client/Ats/Users/UsersClient.cs +++ b/src/Merge.Client/Ats/Users/UsersClient.cs @@ -17,12 +17,10 @@ internal UsersClient(RawClient client) /// /// Returns a list of `RemoteUser` objects. /// - /// - /// + /// /// await client.Ats.Users.ListAsync(new UsersListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( UsersListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -88,8 +86,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["show_enum_origins"] = request.ShowEnumOrigins.ToString(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -100,35 +98,36 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a `RemoteUser` object with the given `id`. /// - /// - /// + /// /// await client.Ats.Users.RetrieveAsync("id", new UsersRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, UsersRetrieveRequest request, RequestOptions? options = null, @@ -140,6 +139,10 @@ public async System.Threading.Tasks.Task RetrieveAsync( { _query["include_remote_data"] = JsonUtils.Serialize(request.IncludeRemoteData.Value); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } if (request.RemoteFields != null) { _query["remote_fields"] = request.RemoteFields.ToString(); @@ -149,35 +152,41 @@ public async System.Threading.Tasks.Task RetrieveAsync( _query["show_enum_origins"] = request.ShowEnumOrigins.ToString(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"ats/v1/users/{id}", + Path = string.Format( + "ats/v1/users/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Ats/WebhookReceivers/Requests/WebhookReceiverRequest.cs b/src/Merge.Client/Ats/WebhookReceivers/Requests/WebhookReceiverRequest.cs index 99ecc0db..739a3298 100644 --- a/src/Merge.Client/Ats/WebhookReceivers/Requests/WebhookReceiverRequest.cs +++ b/src/Merge.Client/Ats/WebhookReceivers/Requests/WebhookReceiverRequest.cs @@ -14,6 +14,7 @@ public record WebhookReceiverRequest [JsonPropertyName("key")] public string? Key { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ats/WebhookReceivers/WebhookReceiversClient.cs b/src/Merge.Client/Ats/WebhookReceivers/WebhookReceiversClient.cs index 414e0df1..1315a97b 100644 --- a/src/Merge.Client/Ats/WebhookReceivers/WebhookReceiversClient.cs +++ b/src/Merge.Client/Ats/WebhookReceivers/WebhookReceiversClient.cs @@ -17,19 +17,17 @@ internal WebhookReceiversClient(RawClient client) /// /// Returns a list of `WebhookReceiver` objects. /// - /// - /// + /// /// await client.Ats.WebhookReceivers.ListAsync(); - /// - /// - public async System.Threading.Tasks.Task> ListAsync( + /// + public async Task> ListAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -39,45 +37,46 @@ public async System.Threading.Tasks.Task> ListAsync cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize>(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Creates a `WebhookReceiver` object with the given values. /// - /// - /// + /// /// await client.Ats.WebhookReceivers.CreateAsync( /// new WebhookReceiverRequest { Event = "event", IsActive = true } /// ); - /// - /// - public async System.Threading.Tasks.Task CreateAsync( + /// + public async Task CreateAsync( WebhookReceiverRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, @@ -89,23 +88,26 @@ public async System.Threading.Tasks.Task CreateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Merge.cs b/src/Merge.Client/BaseMergeClient.cs similarity index 78% rename from src/Merge.Client/Merge.cs rename to src/Merge.Client/BaseMergeClient.cs index cb20f7b9..4d461355 100644 --- a/src/Merge.Client/Merge.cs +++ b/src/Merge.Client/BaseMergeClient.cs @@ -8,11 +8,11 @@ namespace Merge.Client; -public partial class Merge +public partial class BaseMergeClient { private readonly RawClient _client; - public Merge( + public BaseMergeClient( string? apiKey = null, string? accountToken = null, ClientOptions? clientOptions = null @@ -26,7 +26,7 @@ public Merge( { "X-Fern-Language", "C#" }, { "X-Fern-SDK-Name", "Merge.Client" }, { "X-Fern-SDK-Version", Version.Current }, - { "User-Agent", "Merge.Client/1.0.2" }, + { "User-Agent", "Merge.Client/1.1.0" }, } ); clientOptions ??= new ClientOptions(); @@ -46,15 +46,15 @@ public Merge( Accounting = new AccountingClient(_client); } - public AtsClient Ats { get; init; } + public AtsClient Ats { get; } - public CrmClient Crm { get; init; } + public CrmClient Crm { get; } - public FilestorageClient Filestorage { get; init; } + public FilestorageClient Filestorage { get; } - public HrisClient Hris { get; init; } + public HrisClient Hris { get; } - public TicketingClient Ticketing { get; init; } + public TicketingClient Ticketing { get; } - public AccountingClient Accounting { get; init; } + public AccountingClient Accounting { get; } } diff --git a/src/Merge.Client/Core/ApiResponse.cs b/src/Merge.Client/Core/ApiResponse.cs new file mode 100644 index 00000000..6200406f --- /dev/null +++ b/src/Merge.Client/Core/ApiResponse.cs @@ -0,0 +1,13 @@ +using System.Net.Http; + +namespace Merge.Client.Core; + +/// +/// The response object returned from the API. +/// +internal record ApiResponse +{ + internal required int StatusCode { get; init; } + + internal required HttpResponseMessage Raw { get; init; } +} diff --git a/src/Merge.Client/Core/BaseRequest.cs b/src/Merge.Client/Core/BaseRequest.cs new file mode 100644 index 00000000..6efad44a --- /dev/null +++ b/src/Merge.Client/Core/BaseRequest.cs @@ -0,0 +1,63 @@ +using System.Net.Http; +using System.Net.Http.Headers; +using System.Text; + +namespace Merge.Client.Core; + +internal abstract record BaseRequest +{ + internal required string BaseUrl { get; init; } + + internal required HttpMethod Method { get; init; } + + internal required string Path { get; init; } + + internal string? ContentType { get; init; } + + internal Dictionary Query { get; init; } = new(); + + internal Headers Headers { get; init; } = new(); + + internal IRequestOptions? Options { get; init; } + + internal abstract HttpContent? CreateContent(); + + protected static ( + Encoding encoding, + string? charset, + string mediaType + ) ParseContentTypeOrDefault( + string? contentType, + Encoding encodingFallback, + string mediaTypeFallback + ) + { + var encoding = encodingFallback; + var mediaType = mediaTypeFallback; + string? charset = null; + if (string.IsNullOrEmpty(contentType)) + { + return (encoding, charset, mediaType); + } + + if (!MediaTypeHeaderValue.TryParse(contentType, out var mediaTypeHeaderValue)) + { + return (encoding, charset, mediaType); + } + + if (!string.IsNullOrEmpty(mediaTypeHeaderValue.CharSet)) + { + charset = mediaTypeHeaderValue.CharSet; + encoding = Encoding.GetEncoding(mediaTypeHeaderValue.CharSet); + } + + if (!string.IsNullOrEmpty(mediaTypeHeaderValue.MediaType)) + { + mediaType = mediaTypeHeaderValue.MediaType; + } + + return (encoding, charset, mediaType); + } + + protected static Encoding Utf8NoBom => EncodingCache.Utf8NoBom; +} diff --git a/src/Merge.Client/Core/CollectionItemSerializer.cs b/src/Merge.Client/Core/CollectionItemSerializer.cs index 5f010a60..1cf4ba0c 100644 --- a/src/Merge.Client/Core/CollectionItemSerializer.cs +++ b/src/Merge.Client/Core/CollectionItemSerializer.cs @@ -1,5 +1,3 @@ -using System; -using System.Collections.Generic; using System.Text.Json; using System.Text.Json.Serialization; @@ -23,7 +21,7 @@ internal class CollectionItemSerializer /// Created object. public override IEnumerable? Read( ref Utf8JsonReader reader, - System.Type typeToConvert, + global::System.Type typeToConvert, JsonSerializerOptions options ) { diff --git a/src/Merge.Client/Core/DateOnlyConverter.cs b/src/Merge.Client/Core/DateOnlyConverter.cs new file mode 100644 index 00000000..2cdc4a39 --- /dev/null +++ b/src/Merge.Client/Core/DateOnlyConverter.cs @@ -0,0 +1,748 @@ +// ReSharper disable All +#pragma warning disable + +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using global::System.Diagnostics; +using global::System.Diagnostics.CodeAnalysis; +using global::System.Globalization; +using global::System.Runtime.CompilerServices; +using global::System.Runtime.InteropServices; +using global::System.Text.Json; +using global::System.Text.Json.Serialization; + +// ReSharper disable SuggestVarOrType_SimpleTypes +// ReSharper disable SuggestVarOrType_BuiltInTypes + +namespace Merge.Client.Core +{ + /// + /// Custom converter for handling the data type with the System.Text.Json library. + /// + /// + /// This class backported from: + /// + /// System.Text.Json.Serialization.Converters.DateOnlyConverter + /// + public sealed class DateOnlyConverter : JsonConverter + { + private const int FormatLength = 10; // YYYY-MM-DD + + private const int MaxEscapedFormatLength = + FormatLength * JsonConstants.MaxExpansionFactorWhileEscaping; + + /// + public override DateOnly Read( + ref Utf8JsonReader reader, + global::System.Type typeToConvert, + JsonSerializerOptions options + ) + { + if (reader.TokenType != JsonTokenType.String) + { + ThrowHelper.ThrowInvalidOperationException_ExpectedString(reader.TokenType); + } + + return ReadCore(ref reader); + } + + /// + public override DateOnly ReadAsPropertyName( + ref Utf8JsonReader reader, + global::System.Type typeToConvert, + JsonSerializerOptions options + ) + { + Debug.Assert(reader.TokenType == JsonTokenType.PropertyName); + return ReadCore(ref reader); + } + + private static DateOnly ReadCore(ref Utf8JsonReader reader) + { + if ( + !JsonHelpers.IsInRangeInclusive( + reader.ValueLength(), + FormatLength, + MaxEscapedFormatLength + ) + ) + { + ThrowHelper.ThrowFormatException(DataType.DateOnly); + } + + scoped ReadOnlySpan source; + if (!reader.HasValueSequence && !reader.ValueIsEscaped) + { + source = reader.ValueSpan; + } + else + { + Span stackSpan = stackalloc byte[MaxEscapedFormatLength]; + int bytesWritten = reader.CopyString(stackSpan); + source = stackSpan.Slice(0, bytesWritten); + } + + if (!JsonHelpers.TryParseAsIso(source, out DateOnly value)) + { + ThrowHelper.ThrowFormatException(DataType.DateOnly); + } + + return value; + } + + /// + public override void Write( + Utf8JsonWriter writer, + DateOnly value, + JsonSerializerOptions options + ) + { +#if NET8_0_OR_GREATER + Span buffer = stackalloc byte[FormatLength]; +#else + Span buffer = stackalloc char[FormatLength]; +#endif + // ReSharper disable once RedundantAssignment + bool formattedSuccessfully = value.TryFormat( + buffer, + out int charsWritten, + "O".AsSpan(), + CultureInfo.InvariantCulture + ); + Debug.Assert(formattedSuccessfully && charsWritten == FormatLength); + writer.WriteStringValue(buffer); + } + + /// + public override void WriteAsPropertyName( + Utf8JsonWriter writer, + DateOnly value, + JsonSerializerOptions options + ) + { +#if NET8_0_OR_GREATER + Span buffer = stackalloc byte[FormatLength]; +#else + Span buffer = stackalloc char[FormatLength]; +#endif + // ReSharper disable once RedundantAssignment + bool formattedSuccessfully = value.TryFormat( + buffer, + out int charsWritten, + "O".AsSpan(), + CultureInfo.InvariantCulture + ); + Debug.Assert(formattedSuccessfully && charsWritten == FormatLength); + writer.WritePropertyName(buffer); + } + } + + internal static class JsonConstants + { + // The maximum number of fraction digits the Json DateTime parser allows + public const int DateTimeParseNumFractionDigits = 16; + + // In the worst case, an ASCII character represented as a single utf-8 byte could expand 6x when escaped. + public const int MaxExpansionFactorWhileEscaping = 6; + + // The largest fraction expressible by TimeSpan and DateTime formats + public const int MaxDateTimeFraction = 9_999_999; + + // TimeSpan and DateTime formats allow exactly up to many digits for specifying the fraction after the seconds. + public const int DateTimeNumFractionDigits = 7; + + public const byte UtcOffsetToken = (byte)'Z'; + + public const byte TimePrefix = (byte)'T'; + + public const byte Period = (byte)'.'; + + public const byte Hyphen = (byte)'-'; + + public const byte Colon = (byte)':'; + + public const byte Plus = (byte)'+'; + } + + // ReSharper disable SuggestVarOrType_Elsewhere + // ReSharper disable SuggestVarOrType_SimpleTypes + // ReSharper disable SuggestVarOrType_BuiltInTypes + + + internal static class JsonHelpers + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static bool IsInRangeInclusive(int value, int lowerBound, int upperBound) => + (uint)(value - lowerBound) <= (uint)(upperBound - lowerBound); + + public static bool IsDigit(byte value) => (uint)(value - '0') <= '9' - '0'; + + [StructLayout(LayoutKind.Auto)] + private struct DateTimeParseData + { + public int Year; + public int Month; + public int Day; + public bool IsCalendarDateOnly; + public int Hour; + public int Minute; + public int Second; + public int Fraction; // This value should never be greater than 9_999_999. + public int OffsetHours; + public int OffsetMinutes; + + // ReSharper disable once NotAccessedField.Local + public byte OffsetToken; + } + + public static bool TryParseAsIso(ReadOnlySpan source, out DateOnly value) + { + if ( + TryParseDateTimeOffset(source, out DateTimeParseData parseData) + && parseData.IsCalendarDateOnly + && TryCreateDateTime(parseData, DateTimeKind.Unspecified, out DateTime dateTime) + ) + { + value = DateOnly.FromDateTime(dateTime); + return true; + } + + value = default; + return false; + } + + /// + /// ISO 8601 date time parser (ISO 8601-1:2019). + /// + /// The date/time to parse in UTF-8 format. + /// The parsed for the given . + /// + /// Supports extended calendar date (5.2.2.1) and complete (5.4.2.1) calendar date/time of day + /// representations with optional specification of seconds and fractional seconds. + /// + /// Times can be explicitly specified as UTC ("Z" - 5.3.3) or offsets from UTC ("+/-hh:mm" 5.3.4.2). + /// If unspecified they are considered to be local per spec. + /// + /// Examples: (TZD is either "Z" or hh:mm offset from UTC) + /// + /// YYYY-MM-DD (e.g. 1997-07-16) + /// YYYY-MM-DDThh:mm (e.g. 1997-07-16T19:20) + /// YYYY-MM-DDThh:mm:ss (e.g. 1997-07-16T19:20:30) + /// YYYY-MM-DDThh:mm:ss.s (e.g. 1997-07-16T19:20:30.45) + /// YYYY-MM-DDThh:mmTZD (e.g. 1997-07-16T19:20+01:00) + /// YYYY-MM-DDThh:mm:ssTZD (e.g. 1997-07-16T19:20:3001:00) + /// YYYY-MM-DDThh:mm:ss.sTZD (e.g. 1997-07-16T19:20:30.45Z) + /// + /// Generally speaking we always require the "extended" option when one exists (3.1.3.5). + /// The extended variants have separator characters between components ('-', ':', '.', etc.). + /// Spaces are not permitted. + /// + /// "true" if successfully parsed. + private static bool TryParseDateTimeOffset( + ReadOnlySpan source, + out DateTimeParseData parseData + ) + { + parseData = default; + + // too short datetime + Debug.Assert(source.Length >= 10); + + // Parse the calendar date + // ----------------------- + // ISO 8601-1:2019 5.2.2.1b "Calendar date complete extended format" + // [dateX] = [year]["-"][month]["-"][day] + // [year] = [YYYY] [0000 - 9999] (4.3.2) + // [month] = [MM] [01 - 12] (4.3.3) + // [day] = [DD] [01 - 28, 29, 30, 31] (4.3.4) + // + // Note: 5.2.2.2 "Representations with reduced precision" allows for + // just [year]["-"][month] (a) and just [year] (b), but we currently + // don't permit it. + + { + uint digit1 = source[0] - (uint)'0'; + uint digit2 = source[1] - (uint)'0'; + uint digit3 = source[2] - (uint)'0'; + uint digit4 = source[3] - (uint)'0'; + + if (digit1 > 9 || digit2 > 9 || digit3 > 9 || digit4 > 9) + { + return false; + } + + parseData.Year = (int)(digit1 * 1000 + digit2 * 100 + digit3 * 10 + digit4); + } + + if ( + source[4] != JsonConstants.Hyphen + || !TryGetNextTwoDigits(source.Slice(start: 5, length: 2), ref parseData.Month) + || source[7] != JsonConstants.Hyphen + || !TryGetNextTwoDigits(source.Slice(start: 8, length: 2), ref parseData.Day) + ) + { + return false; + } + + // We now have YYYY-MM-DD [dateX] + // ReSharper disable once ConvertIfStatementToSwitchStatement + if (source.Length == 10) + { + parseData.IsCalendarDateOnly = true; + return true; + } + + // Parse the time of day + // --------------------- + // + // ISO 8601-1:2019 5.3.1.2b "Local time of day complete extended format" + // [timeX] = ["T"][hour][":"][min][":"][sec] + // [hour] = [hh] [00 - 23] (4.3.8a) + // [minute] = [mm] [00 - 59] (4.3.9a) + // [sec] = [ss] [00 - 59, 60 with a leap second] (4.3.10a) + // + // ISO 8601-1:2019 5.3.3 "UTC of day" + // [timeX]["Z"] + // + // ISO 8601-1:2019 5.3.4.2 "Local time of day with the time shift between + // local timescale and UTC" (Extended format) + // + // [shiftX] = ["+"|"-"][hour][":"][min] + // + // Notes: + // + // "T" is optional per spec, but _only_ when times are used alone. In our + // case, we're reading out a complete date & time and as such require "T". + // (5.4.2.1b). + // + // For [timeX] We allow seconds to be omitted per 5.3.1.3a "Representations + // with reduced precision". 5.3.1.3b allows just specifying the hour, but + // we currently don't permit this. + // + // Decimal fractions are allowed for hours, minutes and seconds (5.3.14). + // We only allow fractions for seconds currently. Lower order components + // can't follow, i.e. you can have T23.3, but not T23.3:04. There must be + // one digit, but the max number of digits is implementation defined. We + // currently allow up to 16 digits of fractional seconds only. While we + // support 16 fractional digits we only parse the first seven, anything + // past that is considered a zero. This is to stay compatible with the + // DateTime implementation which is limited to this resolution. + + if (source.Length < 16) + { + // Source does not have enough characters for YYYY-MM-DDThh:mm + return false; + } + + // Parse THH:MM (e.g. "T10:32") + if ( + source[10] != JsonConstants.TimePrefix + || source[13] != JsonConstants.Colon + || !TryGetNextTwoDigits(source.Slice(start: 11, length: 2), ref parseData.Hour) + || !TryGetNextTwoDigits(source.Slice(start: 14, length: 2), ref parseData.Minute) + ) + { + return false; + } + + // We now have YYYY-MM-DDThh:mm + Debug.Assert(source.Length >= 16); + if (source.Length == 16) + { + return true; + } + + byte curByte = source[16]; + int sourceIndex = 17; + + // Either a TZD ['Z'|'+'|'-'] or a seconds separator [':'] is valid at this point + switch (curByte) + { + case JsonConstants.UtcOffsetToken: + parseData.OffsetToken = JsonConstants.UtcOffsetToken; + return sourceIndex == source.Length; + case JsonConstants.Plus: + case JsonConstants.Hyphen: + parseData.OffsetToken = curByte; + return ParseOffset(ref parseData, source.Slice(sourceIndex)); + case JsonConstants.Colon: + break; + default: + return false; + } + + // Try reading the seconds + if ( + source.Length < 19 + || !TryGetNextTwoDigits(source.Slice(start: 17, length: 2), ref parseData.Second) + ) + { + return false; + } + + // We now have YYYY-MM-DDThh:mm:ss + Debug.Assert(source.Length >= 19); + if (source.Length == 19) + { + return true; + } + + curByte = source[19]; + sourceIndex = 20; + + // Either a TZD ['Z'|'+'|'-'] or a seconds decimal fraction separator ['.'] is valid at this point + switch (curByte) + { + case JsonConstants.UtcOffsetToken: + parseData.OffsetToken = JsonConstants.UtcOffsetToken; + return sourceIndex == source.Length; + case JsonConstants.Plus: + case JsonConstants.Hyphen: + parseData.OffsetToken = curByte; + return ParseOffset(ref parseData, source.Slice(sourceIndex)); + case JsonConstants.Period: + break; + default: + return false; + } + + // Source does not have enough characters for second fractions (i.e. ".s") + // YYYY-MM-DDThh:mm:ss.s + if (source.Length < 21) + { + return false; + } + + // Parse fraction. This value should never be greater than 9_999_999 + int numDigitsRead = 0; + int fractionEnd = Math.Min( + sourceIndex + JsonConstants.DateTimeParseNumFractionDigits, + source.Length + ); + + while (sourceIndex < fractionEnd && IsDigit(curByte = source[sourceIndex])) + { + if (numDigitsRead < JsonConstants.DateTimeNumFractionDigits) + { + parseData.Fraction = parseData.Fraction * 10 + (int)(curByte - (uint)'0'); + numDigitsRead++; + } + + sourceIndex++; + } + + if (parseData.Fraction != 0) + { + while (numDigitsRead < JsonConstants.DateTimeNumFractionDigits) + { + parseData.Fraction *= 10; + numDigitsRead++; + } + } + + // We now have YYYY-MM-DDThh:mm:ss.s + Debug.Assert(sourceIndex <= source.Length); + if (sourceIndex == source.Length) + { + return true; + } + + curByte = source[sourceIndex++]; + + // TZD ['Z'|'+'|'-'] is valid at this point + switch (curByte) + { + case JsonConstants.UtcOffsetToken: + parseData.OffsetToken = JsonConstants.UtcOffsetToken; + return sourceIndex == source.Length; + case JsonConstants.Plus: + case JsonConstants.Hyphen: + parseData.OffsetToken = curByte; + return ParseOffset(ref parseData, source.Slice(sourceIndex)); + default: + return false; + } + + static bool ParseOffset(ref DateTimeParseData parseData, ReadOnlySpan offsetData) + { + // Parse the hours for the offset + if ( + offsetData.Length < 2 + || !TryGetNextTwoDigits(offsetData.Slice(0, 2), ref parseData.OffsetHours) + ) + { + return false; + } + + // We now have YYYY-MM-DDThh:mm:ss.s+|-hh + + if (offsetData.Length == 2) + { + // Just hours offset specified + return true; + } + + // Ensure we have enough for ":mm" + return offsetData.Length == 5 + && offsetData[2] == JsonConstants.Colon + && TryGetNextTwoDigits(offsetData.Slice(3), ref parseData.OffsetMinutes); + } + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + // ReSharper disable once RedundantAssignment + private static bool TryGetNextTwoDigits(ReadOnlySpan source, ref int value) + { + Debug.Assert(source.Length == 2); + + uint digit1 = source[0] - (uint)'0'; + uint digit2 = source[1] - (uint)'0'; + + if (digit1 > 9 || digit2 > 9) + { + value = 0; + return false; + } + + value = (int)(digit1 * 10 + digit2); + return true; + } + + // The following methods are borrowed verbatim from src/Common/src/CoreLib/System/Buffers/Text/Utf8Parser/Utf8Parser.Date.Helpers.cs + + /// + /// Overflow-safe DateTime factory. + /// + private static bool TryCreateDateTime( + DateTimeParseData parseData, + DateTimeKind kind, + out DateTime value + ) + { + if (parseData.Year == 0) + { + value = default; + return false; + } + + Debug.Assert(parseData.Year <= 9999); // All of our callers to date parse the year from fixed 4-digit fields so this value is trusted. + + if ((uint)parseData.Month - 1 >= 12) + { + value = default; + return false; + } + + uint dayMinusOne = (uint)parseData.Day - 1; + if ( + dayMinusOne >= 28 + && dayMinusOne >= DateTime.DaysInMonth(parseData.Year, parseData.Month) + ) + { + value = default; + return false; + } + + if ((uint)parseData.Hour > 23) + { + value = default; + return false; + } + + if ((uint)parseData.Minute > 59) + { + value = default; + return false; + } + + // This needs to allow leap seconds when appropriate. + // See https://github.com/dotnet/runtime/issues/30135. + if ((uint)parseData.Second > 59) + { + value = default; + return false; + } + + Debug.Assert(parseData.Fraction is >= 0 and <= JsonConstants.MaxDateTimeFraction); // All of our callers to date parse the fraction from fixed 7-digit fields so this value is trusted. + + ReadOnlySpan days = DateTime.IsLeapYear(parseData.Year) + ? DaysToMonth366 + : DaysToMonth365; + int yearMinusOne = parseData.Year - 1; + int totalDays = + yearMinusOne * 365 + + yearMinusOne / 4 + - yearMinusOne / 100 + + yearMinusOne / 400 + + days[parseData.Month - 1] + + parseData.Day + - 1; + long ticks = totalDays * TimeSpan.TicksPerDay; + int totalSeconds = parseData.Hour * 3600 + parseData.Minute * 60 + parseData.Second; + ticks += totalSeconds * TimeSpan.TicksPerSecond; + ticks += parseData.Fraction; + value = new DateTime(ticks: ticks, kind: kind); + return true; + } + + private static ReadOnlySpan DaysToMonth365 => + [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365]; + private static ReadOnlySpan DaysToMonth366 => + [0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366]; + } + + internal static class ThrowHelper + { + private const string ExceptionSourceValueToRethrowAsJsonException = + "System.Text.Json.Rethrowable"; + + [DoesNotReturn] + public static void ThrowInvalidOperationException_ExpectedString(JsonTokenType tokenType) + { + throw GetInvalidOperationException("string", tokenType); + } + + public static void ThrowFormatException(DataType dataType) + { + throw new FormatException(SR.Format(SR.UnsupportedFormat, dataType)) + { + Source = ExceptionSourceValueToRethrowAsJsonException, + }; + } + + private static Exception GetInvalidOperationException( + string message, + JsonTokenType tokenType + ) + { + return GetInvalidOperationException(SR.Format(SR.InvalidCast, tokenType, message)); + } + + private static InvalidOperationException GetInvalidOperationException(string message) + { + return new InvalidOperationException(message) + { + Source = ExceptionSourceValueToRethrowAsJsonException, + }; + } + } + + internal static class Utf8JsonReaderExtensions + { + internal static int ValueLength(this Utf8JsonReader reader) => + reader.HasValueSequence + ? checked((int)reader.ValueSequence.Length) + : reader.ValueSpan.Length; + } + + internal enum DataType + { + TimeOnly, + DateOnly, + } + + [SuppressMessage("ReSharper", "InconsistentNaming")] + internal static class SR + { + private static readonly bool s_usingResourceKeys = + AppContext.TryGetSwitch( + "System.Resources.UseSystemResourceKeys", + out bool usingResourceKeys + ) && usingResourceKeys; + + public static string UnsupportedFormat => Strings.UnsupportedFormat; + + public static string InvalidCast => Strings.InvalidCast; + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + internal static string Format(string resourceFormat, object? p1) => + s_usingResourceKeys + ? string.Join(", ", resourceFormat, p1) + : string.Format(resourceFormat, p1); + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + internal static string Format(string resourceFormat, object? p1, object? p2) => + s_usingResourceKeys + ? string.Join(", ", resourceFormat, p1, p2) + : string.Format(resourceFormat, p1, p2); + } + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute( + "System.Resources.Tools.StronglyTypedResourceBuilder", + "17.0.0.0" + )] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Strings + { + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute( + "Microsoft.Performance", + "CA1811:AvoidUncalledPrivateCode" + )] + internal Strings() { } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute( + global::System.ComponentModel.EditorBrowsableState.Advanced + )] + internal static global::System.Resources.ResourceManager ResourceManager + { + get + { + if (object.ReferenceEquals(resourceMan, null)) + { + global::System.Resources.ResourceManager temp = + new global::System.Resources.ResourceManager( + "System.Text.Json.Resources.Strings", + typeof(Strings).Assembly + ); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute( + global::System.ComponentModel.EditorBrowsableState.Advanced + )] + internal static global::System.Globalization.CultureInfo Culture + { + get { return resourceCulture; } + set { resourceCulture = value; } + } + + /// + /// Looks up a localized string similar to Cannot get the value of a token type '{0}' as a {1}.. + /// + internal static string InvalidCast + { + get { return ResourceManager.GetString("InvalidCast", resourceCulture); } + } + + /// + /// Looks up a localized string similar to The JSON value is not in a supported {0} format.. + /// + internal static string UnsupportedFormat + { + get { return ResourceManager.GetString("UnsupportedFormat", resourceCulture); } + } + } +} diff --git a/src/Merge.Client/Core/DateTimeSerializer.cs b/src/Merge.Client/Core/DateTimeSerializer.cs index a6135f13..b8919599 100644 --- a/src/Merge.Client/Core/DateTimeSerializer.cs +++ b/src/Merge.Client/Core/DateTimeSerializer.cs @@ -8,7 +8,7 @@ internal class DateTimeSerializer : JsonConverter { public override DateTime Read( ref Utf8JsonReader reader, - System.Type typeToConvert, + global::System.Type typeToConvert, JsonSerializerOptions options ) { diff --git a/src/Merge.Client/Core/EmptyRequest.cs b/src/Merge.Client/Core/EmptyRequest.cs new file mode 100644 index 00000000..41f2586a --- /dev/null +++ b/src/Merge.Client/Core/EmptyRequest.cs @@ -0,0 +1,11 @@ +using System.Net.Http; + +namespace Merge.Client.Core; + +/// +/// The request object to send without a request body. +/// +internal record EmptyRequest : BaseRequest +{ + internal override HttpContent? CreateContent() => null; +} diff --git a/src/Merge.Client/Core/EncodingCache.cs b/src/Merge.Client/Core/EncodingCache.cs new file mode 100644 index 00000000..a09d6009 --- /dev/null +++ b/src/Merge.Client/Core/EncodingCache.cs @@ -0,0 +1,11 @@ +using System.Text; + +namespace Merge.Client.Core; + +internal static class EncodingCache +{ + internal static readonly Encoding Utf8NoBom = new UTF8Encoding( + encoderShouldEmitUTF8Identifier: false, + throwOnInvalidBytes: true + ); +} diff --git a/src/Merge.Client/Core/EnumSerializer.cs b/src/Merge.Client/Core/EnumSerializer.cs index d1b2a535..1f166496 100644 --- a/src/Merge.Client/Core/EnumSerializer.cs +++ b/src/Merge.Client/Core/EnumSerializer.cs @@ -5,7 +5,7 @@ namespace Merge.Client.Core; internal class EnumSerializer : JsonConverter - where TEnum : struct, System.Enum + where TEnum : struct, Enum { private readonly Dictionary _enumToString = new(); private readonly Dictionary _stringToEnum = new(); @@ -18,7 +18,7 @@ public EnumSerializer() foreach (var value in values) { var enumValue = (TEnum)value; - var enumMember = type.GetMember(enumValue.ToString())[0]; + var enumMember = type.GetField(enumValue.ToString())!; var attr = enumMember .GetCustomAttributes(typeof(EnumMemberAttribute), false) .Cast() @@ -36,7 +36,7 @@ public EnumSerializer() public override TEnum Read( ref Utf8JsonReader reader, - System.Type typeToConvert, + global::System.Type typeToConvert, JsonSerializerOptions options ) { diff --git a/src/Merge.Client/Core/FormUrlEncoder.cs b/src/Merge.Client/Core/FormUrlEncoder.cs new file mode 100644 index 00000000..906a18a1 --- /dev/null +++ b/src/Merge.Client/Core/FormUrlEncoder.cs @@ -0,0 +1,33 @@ +using global::System.Net.Http; + +namespace Merge.Client.Core; + +/// +/// Encodes an object into a form URL-encoded content. +/// +public static class FormUrlEncoder +{ + /// + /// Encodes an object into a form URL-encoded content using Deep Object notation. + /// + /// Object to form URL-encode. You can pass in an object or dictionary, but not lists, strings, or primitives. + /// Throws when passing in a list, a string, or a primitive value. + internal static FormUrlEncodedContent EncodeAsDeepObject(object value) => + new(QueryStringConverter.ToDeepObject(value)); + + /// + /// Encodes an object into a form URL-encoded content using Exploded Form notation. + /// + /// Object to form URL-encode. You can pass in an object or dictionary, but not lists, strings, or primitives. + /// Throws when passing in a list, a string, or a primitive value. + internal static FormUrlEncodedContent EncodeAsExplodedForm(object value) => + new(QueryStringConverter.ToExplodedForm(value)); + + /// + /// Encodes an object into a form URL-encoded content using Form notation without exploding parameters. + /// + /// Object to form URL-encode. You can pass in an object or dictionary, but not lists, strings, or primitives. + /// Throws when passing in a list, a string, or a primitive value. + internal static FormUrlEncodedContent EncodeAsForm(object value) => + new(QueryStringConverter.ToForm(value)); +} diff --git a/src/Merge.Client/Core/Headers.cs b/src/Merge.Client/Core/Headers.cs index 3e5ec384..5431a2f1 100644 --- a/src/Merge.Client/Core/Headers.cs +++ b/src/Merge.Client/Core/Headers.cs @@ -1,10 +1,17 @@ namespace Merge.Client.Core; +/// +/// Represents the headers sent with the request. +/// internal sealed class Headers : Dictionary { - public Headers() { } + internal Headers() { } - public Headers(Dictionary value) + /// + /// Initializes a new instance of the Headers class with the specified value. + /// + /// + internal Headers(Dictionary value) { foreach (var kvp in value) { @@ -12,6 +19,10 @@ public Headers(Dictionary value) } } - public Headers(IEnumerable> value) + /// + /// Initializes a new instance of the Headers class with the specified value. + /// + /// + internal Headers(IEnumerable> value) : base(value.ToDictionary(e => e.Key, e => e.Value)) { } } diff --git a/src/Merge.Client/Core/IIsRetryableContent.cs b/src/Merge.Client/Core/IIsRetryableContent.cs new file mode 100644 index 00000000..d421abcd --- /dev/null +++ b/src/Merge.Client/Core/IIsRetryableContent.cs @@ -0,0 +1,6 @@ +namespace Merge.Client.Core; + +public interface IIsRetryableContent +{ + public bool IsRetryable { get; } +} diff --git a/src/Merge.Client/Core/IRequestOptions.cs b/src/Merge.Client/Core/IRequestOptions.cs index a89d57ce..e7afe2eb 100644 --- a/src/Merge.Client/Core/IRequestOptions.cs +++ b/src/Merge.Client/Core/IRequestOptions.cs @@ -1,4 +1,5 @@ using System; +using System.Collections.Generic; using System.Net.Http; namespace Merge.Client.Core; @@ -8,25 +9,84 @@ internal interface IRequestOptions /// /// The Base URL for the API. /// - public string? BaseUrl { get; init; } + public string? BaseUrl { get; +#if NET5_0_OR_GREATER + init; +#else + set; +#endif + } /// /// The http client used to make requests. /// - public HttpClient? HttpClient { get; init; } + public HttpClient? HttpClient { get; +#if NET5_0_OR_GREATER + init; +#else + set; +#endif + } /// /// The http headers sent with the request. /// internal Headers Headers { get; init; } + /// + /// Additional headers to be sent with the request. + /// Headers previously set with matching keys will be overwritten. + /// + public IEnumerable> AdditionalHeaders { get; +#if NET5_0_OR_GREATER + init; +#else + set; +#endif + } + /// /// The http client used to make requests. /// - public int? MaxRetries { get; init; } + public int? MaxRetries { get; +#if NET5_0_OR_GREATER + init; +#else + set; +#endif + } /// /// The timeout for the request. /// - public TimeSpan? Timeout { get; init; } + public TimeSpan? Timeout { get; +#if NET5_0_OR_GREATER + init; +#else + set; +#endif + } + + /// + /// Additional query parameters sent with the request. + /// + public IEnumerable> AdditionalQueryParameters { get; +#if NET5_0_OR_GREATER + init; +#else + set; +#endif + } + + /// + /// Additional body properties sent with the request. + /// This is only applied to JSON requests. + /// + public object? AdditionalBodyProperties { get; +#if NET5_0_OR_GREATER + init; +#else + set; +#endif + } } diff --git a/src/Merge.Client/Core/JsonAccessAttribute.cs b/src/Merge.Client/Core/JsonAccessAttribute.cs new file mode 100644 index 00000000..97e3a611 --- /dev/null +++ b/src/Merge.Client/Core/JsonAccessAttribute.cs @@ -0,0 +1,13 @@ +namespace Merge.Client.Core; + +[AttributeUsage(AttributeTargets.Property | AttributeTargets.Field)] +internal class JsonAccessAttribute(JsonAccessType accessType) : Attribute +{ + internal JsonAccessType AccessType { get; init; } = accessType; +} + +internal enum JsonAccessType +{ + ReadOnly, + WriteOnly, +} diff --git a/src/Merge.Client/Core/JsonConfiguration.cs b/src/Merge.Client/Core/JsonConfiguration.cs index 046d7f62..f8b5f4e9 100644 --- a/src/Merge.Client/Core/JsonConfiguration.cs +++ b/src/Merge.Client/Core/JsonConfiguration.cs @@ -1,19 +1,78 @@ -using System.Text.Json; -using System.Text.Json.Serialization; +using global::System.Text.Json; +using global::System.Text.Json.Nodes; +using global::System.Text.Json.Serialization; +using global::System.Text.Json.Serialization.Metadata; namespace Merge.Client.Core; internal static partial class JsonOptions { - public static readonly JsonSerializerOptions JsonSerializerOptions; + internal static readonly JsonSerializerOptions JsonSerializerOptions; static JsonOptions() { var options = new JsonSerializerOptions { - Converters = { new DateTimeSerializer(), new OneOfSerializer() }, + Converters = { new DateTimeSerializer(), +#if USE_PORTABLE_DATE_ONLY + new DateOnlyConverter(), +#endif + new OneOfSerializer() }, +#if DEBUG WriteIndented = true, +#endif DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull, + TypeInfoResolver = new DefaultJsonTypeInfoResolver + { + Modifiers = + { + static typeInfo => + { + if (typeInfo.Kind != JsonTypeInfoKind.Object) + return; + + foreach (var propertyInfo in typeInfo.Properties) + { + var jsonAccessAttribute = propertyInfo + .AttributeProvider?.GetCustomAttributes( + typeof(JsonAccessAttribute), + true + ) + .OfType() + .FirstOrDefault(); + + if (jsonAccessAttribute != null) + { + propertyInfo.IsRequired = false; + switch (jsonAccessAttribute.AccessType) + { + case JsonAccessType.ReadOnly: + propertyInfo.ShouldSerialize = (_, _) => false; + break; + case JsonAccessType.WriteOnly: + propertyInfo.Set = null; + break; + default: + throw new ArgumentOutOfRangeException(); + } + } + + var jsonIgnoreAttribute = propertyInfo + .AttributeProvider?.GetCustomAttributes( + typeof(JsonIgnoreAttribute), + true + ) + .OfType() + .FirstOrDefault(); + + if (jsonIgnoreAttribute is not null) + { + propertyInfo.IsRequired = false; + } + } + }, + }, + }, }; ConfigureJsonSerializerOptions(options); JsonSerializerOptions = options; @@ -24,13 +83,73 @@ static JsonOptions() internal static class JsonUtils { - public static string Serialize(T obj) + internal static string Serialize(T obj) => + JsonSerializer.Serialize(obj, JsonOptions.JsonSerializerOptions); + + internal static JsonElement SerializeToElement(T obj) => + JsonSerializer.SerializeToElement(obj, JsonOptions.JsonSerializerOptions); + + internal static JsonDocument SerializeToDocument(T obj) => + JsonSerializer.SerializeToDocument(obj, JsonOptions.JsonSerializerOptions); + + internal static JsonNode? SerializeToNode(T obj) => + JsonSerializer.SerializeToNode(obj, JsonOptions.JsonSerializerOptions); + + internal static byte[] SerializeToUtf8Bytes(T obj) => + JsonSerializer.SerializeToUtf8Bytes(obj, JsonOptions.JsonSerializerOptions); + + internal static string SerializeWithAdditionalProperties( + T obj, + object? additionalProperties = null + ) { - return JsonSerializer.Serialize(obj, JsonOptions.JsonSerializerOptions); + if (additionalProperties == null) + { + return Serialize(obj); + } + var additionalPropertiesJsonNode = SerializeToNode(additionalProperties); + if (additionalPropertiesJsonNode is not JsonObject additionalPropertiesJsonObject) + { + throw new InvalidOperationException( + "The additional properties must serialize to a JSON object." + ); + } + var jsonNode = SerializeToNode(obj); + if (jsonNode is not JsonObject jsonObject) + { + throw new InvalidOperationException( + "The serialized object must be a JSON object to add properties." + ); + } + MergeJsonObjects(jsonObject, additionalPropertiesJsonObject); + return jsonObject.ToJsonString(JsonOptions.JsonSerializerOptions); } - public static T Deserialize(string json) + private static void MergeJsonObjects(JsonObject baseObject, JsonObject overrideObject) { - return JsonSerializer.Deserialize(json, JsonOptions.JsonSerializerOptions)!; + foreach (var property in overrideObject) + { + if (!baseObject.TryGetPropertyValue(property.Key, out JsonNode? existingValue)) + { + baseObject[property.Key] = + property.Value != null ? JsonNode.Parse(property.Value.ToJsonString()) : null; + continue; + } + if ( + existingValue is JsonObject nestedBaseObject + && property.Value is JsonObject nestedOverrideObject + ) + { + // If both values are objects, recursively merge them. + MergeJsonObjects(nestedBaseObject, nestedOverrideObject); + continue; + } + // Otherwise, the overrideObject takes precedence. + baseObject[property.Key] = + property.Value != null ? JsonNode.Parse(property.Value.ToJsonString()) : null; + } } + + internal static T Deserialize(string json) => + JsonSerializer.Deserialize(json, JsonOptions.JsonSerializerOptions)!; } diff --git a/src/Merge.Client/Core/JsonRequest.cs b/src/Merge.Client/Core/JsonRequest.cs new file mode 100644 index 00000000..1499baf7 --- /dev/null +++ b/src/Merge.Client/Core/JsonRequest.cs @@ -0,0 +1,36 @@ +using System.Net.Http; + +namespace Merge.Client.Core; + +/// +/// The request object to be sent for JSON APIs. +/// +internal record JsonRequest : BaseRequest +{ + internal object? Body { get; init; } + + internal override HttpContent? CreateContent() + { + if (Body is null && Options?.AdditionalBodyProperties is null) + { + return null; + } + + var (encoding, charset, mediaType) = ParseContentTypeOrDefault( + ContentType, + Utf8NoBom, + "application/json" + ); + var content = new StringContent( + JsonUtils.SerializeWithAdditionalProperties(Body, Options?.AdditionalBodyProperties), + encoding, + mediaType + ); + if (string.IsNullOrEmpty(charset) && content.Headers.ContentType is not null) + { + content.Headers.ContentType.CharSet = ""; + } + + return content; + } +} diff --git a/src/Merge.Client/Core/MultipartFormRequest.cs b/src/Merge.Client/Core/MultipartFormRequest.cs new file mode 100644 index 00000000..6b47ed18 --- /dev/null +++ b/src/Merge.Client/Core/MultipartFormRequest.cs @@ -0,0 +1,275 @@ +using System.Net.Http; +using System.Net.Http.Headers; + +namespace Merge.Client.Core; + +/// +/// The request object to be sent for multipart form data. +/// +internal record MultipartFormRequest : BaseRequest +{ + private readonly List> _partAdders = []; + + internal void AddJsonPart(string name, object? value) => AddJsonPart(name, value, null); + + internal void AddJsonPart(string name, object? value, string? contentType) + { + if (value is null) + { + return; + } + + _partAdders.Add(form => + { + var (encoding, charset, mediaType) = ParseContentTypeOrDefault( + contentType, + Utf8NoBom, + "application/json" + ); + var content = new StringContent(JsonUtils.Serialize(value), encoding, mediaType); + if (string.IsNullOrEmpty(charset) && content.Headers.ContentType is not null) + { + content.Headers.ContentType.CharSet = ""; + } + + form.Add(content, name); + }); + } + + internal void AddJsonParts(string name, IEnumerable? value) => + AddJsonParts(name, value, null); + + internal void AddJsonParts(string name, IEnumerable? value, string? contentType) + { + if (value is null) + { + return; + } + + foreach (var item in value) + { + AddJsonPart(name, item, contentType); + } + } + + internal void AddStringPart(string name, object? value) => AddStringPart(name, value, null); + + internal void AddStringPart(string name, object? value, string? contentType) + { + if (value is null) + { + return; + } + + AddStringPart(name, ValueConvert.ToString(value), contentType); + } + + internal void AddStringPart(string name, string? value) => AddStringPart(name, value, null); + + internal void AddStringPart(string name, string? value, string? contentType) + { + if (value is null) + { + return; + } + + _partAdders.Add(form => + { + var (encoding, charset, mediaType) = ParseContentTypeOrDefault( + contentType, + Utf8NoBom, + "text/plain" + ); + var content = new StringContent(value, encoding, mediaType); + if (string.IsNullOrEmpty(charset) && content.Headers.ContentType is not null) + { + content.Headers.ContentType.CharSet = ""; + } + + form.Add(content, name); + }); + } + + internal void AddStringParts(string name, IEnumerable? value) => + AddStringParts(name, value, null); + + internal void AddStringParts(string name, IEnumerable? value, string? contentType) + { + if (value is null) + { + return; + } + + AddStringPart(name, ValueConvert.ToString(value), contentType); + } + + internal void AddStringParts(string name, IEnumerable? value) => + AddStringParts(name, value, null); + + internal void AddStringParts(string name, IEnumerable? value, string? contentType) + { + if (value is null) + { + return; + } + + foreach (var item in value) + { + AddStringPart(name, item, contentType); + } + } + + internal void AddStreamPart(string name, Stream? stream, string? fileName) => + AddStreamPart(name, stream, fileName, null); + + internal void AddStreamPart(string name, Stream? stream, string? fileName, string? contentType) + { + if (stream is null) + { + return; + } + + _partAdders.Add(form => + { + var content = new StreamContent(stream) + { + Headers = + { + ContentType = MediaTypeHeaderValue.Parse( + contentType ?? "application/octet-stream" + ), + }, + }; + + if (fileName is not null) + { + form.Add(content, name, fileName); + } + else + { + form.Add(content, name); + } + }); + } + + internal void AddFileParameterPart(string name, FileParameter? file) => + AddFileParameterPart(name, file, null); + + internal void AddFileParameterPart( + string name, + FileParameter? file, + string? fallbackContentType + ) => + AddStreamPart(name, file?.Stream, file?.FileName, file?.ContentType ?? fallbackContentType); + + internal void AddFileParameterParts(string name, IEnumerable? files) => + AddFileParameterParts(name, files, null); + + internal void AddFileParameterParts( + string name, + IEnumerable? files, + string? fallbackContentType + ) + { + if (files is null) + { + return; + } + + foreach (var file in files) + { + AddFileParameterPart(name, file, fallbackContentType); + } + } + + internal void AddFormEncodedPart(string name, object? value) => + AddFormEncodedPart(name, value, null); + + internal void AddFormEncodedPart(string name, object? value, string? contentType) + { + if (value is null) + { + return; + } + + _partAdders.Add(form => + { + var content = FormUrlEncoder.EncodeAsForm(value); + if (!string.IsNullOrEmpty(contentType)) + { + content.Headers.ContentType = MediaTypeHeaderValue.Parse(contentType); + } + + form.Add(content, name); + }); + } + + internal void AddFormEncodedParts(string name, IEnumerable? value) => + AddFormEncodedParts(name, value, null); + + internal void AddFormEncodedParts(string name, IEnumerable? value, string? contentType) + { + if (value is null) + { + return; + } + + foreach (var item in value) + { + AddFormEncodedPart(name, item, contentType); + } + } + + internal void AddExplodedFormEncodedPart(string name, object? value) => + AddExplodedFormEncodedPart(name, value, null); + + internal void AddExplodedFormEncodedPart(string name, object? value, string? contentType) + { + if (value is null) + { + return; + } + + _partAdders.Add(form => + { + var content = FormUrlEncoder.EncodeAsExplodedForm(value); + if (!string.IsNullOrEmpty(contentType)) + { + content.Headers.ContentType = MediaTypeHeaderValue.Parse(contentType); + } + + form.Add(content, name); + }); + } + + internal void AddExplodedFormEncodedParts(string name, IEnumerable? value) => + AddExplodedFormEncodedParts(name, value, null); + + internal void AddExplodedFormEncodedParts( + string name, + IEnumerable? value, + string? contentType + ) + { + if (value is null) + { + return; + } + + foreach (var item in value) + { + AddExplodedFormEncodedPart(name, item, contentType); + } + } + + internal override HttpContent CreateContent() + { + var form = new MultipartFormDataContent(); + foreach (var adder in _partAdders) + { + adder(form); + } + + return form; + } +} diff --git a/src/Merge.Client/Core/OneOfSerializer.cs b/src/Merge.Client/Core/OneOfSerializer.cs index 99851381..25ba07fc 100644 --- a/src/Merge.Client/Core/OneOfSerializer.cs +++ b/src/Merge.Client/Core/OneOfSerializer.cs @@ -9,7 +9,7 @@ internal class OneOfSerializer : JsonConverter { public override IOneOf? Read( ref Utf8JsonReader reader, - System.Type typeToConvert, + global::System.Type typeToConvert, JsonSerializerOptions options ) { @@ -38,7 +38,9 @@ public override void Write(Utf8JsonWriter writer, IOneOf value, JsonSerializerOp JsonSerializer.Serialize(writer, value.Value, options); } - private static (System.Type type, MethodInfo cast)[] GetOneOfTypes(System.Type typeToConvert) + private static (global::System.Type type, MethodInfo cast)[] GetOneOfTypes( + global::System.Type typeToConvert + ) { var type = typeToConvert; if (Nullable.GetUnderlyingType(type) is { } underlyingType) @@ -82,7 +84,7 @@ private static (System.Type type, MethodInfo cast)[] GetOneOfTypes(System.Type t throw new InvalidOperationException($"{type} isn't OneOf or OneOfBase"); } - public override bool CanConvert(System.Type typeToConvert) + public override bool CanConvert(global::System.Type typeToConvert) { return typeof(IOneOf).IsAssignableFrom(typeToConvert); } diff --git a/src/Merge.Client/Core/Public/MergeApiException.cs b/src/Merge.Client/Core/Public/BaseMergeClientApiException.cs similarity index 76% rename from src/Merge.Client/Core/Public/MergeApiException.cs rename to src/Merge.Client/Core/Public/BaseMergeClientApiException.cs index 8ce749d1..89e5b248 100644 --- a/src/Merge.Client/Core/Public/MergeApiException.cs +++ b/src/Merge.Client/Core/Public/BaseMergeClientApiException.cs @@ -3,8 +3,8 @@ namespace Merge.Client.Core; /// /// This exception type will be thrown for any non-2XX API responses. /// -public class MergeApiException(string message, int statusCode, object body) - : MergeException(message) +public class BaseMergeClientApiException(string message, int statusCode, object body) + : BaseMergeClientException(message) { /// /// The error code of the response that triggered the exception. diff --git a/src/Merge.Client/Core/Public/MergeEnvironment.cs b/src/Merge.Client/Core/Public/BaseMergeClientEnvironment.cs similarity index 85% rename from src/Merge.Client/Core/Public/MergeEnvironment.cs rename to src/Merge.Client/Core/Public/BaseMergeClientEnvironment.cs index 94c7b8b6..288bb8ff 100644 --- a/src/Merge.Client/Core/Public/MergeEnvironment.cs +++ b/src/Merge.Client/Core/Public/BaseMergeClientEnvironment.cs @@ -1,6 +1,6 @@ namespace Merge.Client.Core; -public class MergeEnvironment +public class BaseMergeClientEnvironment { public const string PRODUCTION = "https://api.merge.dev/api"; diff --git a/src/Merge.Client/Core/Public/MergeException.cs b/src/Merge.Client/Core/Public/BaseMergeClientException.cs similarity index 67% rename from src/Merge.Client/Core/Public/MergeException.cs rename to src/Merge.Client/Core/Public/BaseMergeClientException.cs index f1bacf73..49abedd7 100644 --- a/src/Merge.Client/Core/Public/MergeException.cs +++ b/src/Merge.Client/Core/Public/BaseMergeClientException.cs @@ -5,5 +5,5 @@ namespace Merge.Client.Core; /// /// Base exception class for all exceptions thrown by the SDK. /// -public class MergeException(string message, Exception? innerException = null) +public class BaseMergeClientException(string message, Exception? innerException = null) : Exception(message, innerException); diff --git a/src/Merge.Client/Core/Public/ClientOptions.cs b/src/Merge.Client/Core/Public/ClientOptions.cs index 0007f549..e0fb9d62 100644 --- a/src/Merge.Client/Core/Public/ClientOptions.cs +++ b/src/Merge.Client/Core/Public/ClientOptions.cs @@ -1,34 +1,71 @@ using System; +using System.Collections.Generic; using System.Net.Http; namespace Merge.Client.Core; public partial class ClientOptions { + /// + /// The http headers sent with the request. + /// + internal Headers Headers { get; init; } = new(); + /// /// The Base URL for the API. /// - public string BaseUrl { get; init; } = MergeEnvironment.PRODUCTION; + public string BaseUrl { get; +#if NET5_0_OR_GREATER + init; +#else + set; +#endif + } = BaseMergeClientEnvironment.PRODUCTION; /// /// The http client used to make requests. /// - public HttpClient HttpClient { get; init; } = new HttpClient(); + public HttpClient HttpClient { get; +#if NET5_0_OR_GREATER + init; +#else + set; +#endif + } = new HttpClient(); /// - /// The http client used to make requests. + /// Additional headers to be sent with HTTP requests. + /// Headers with matching keys will be overwritten by headers set on the request. /// - public int MaxRetries { get; init; } = 2; + public IEnumerable> AdditionalHeaders { get; +#if NET5_0_OR_GREATER + init; +#else + set; +#endif + } = []; /// - /// The timeout for the request. + /// The http client used to make requests. /// - public TimeSpan Timeout { get; init; } = TimeSpan.FromSeconds(30); + public int MaxRetries { get; +#if NET5_0_OR_GREATER + init; +#else + set; +#endif + } = 2; /// - /// The http headers sent with the request. + /// The timeout for the request. /// - internal Headers Headers { get; init; } = new(); + public TimeSpan Timeout { get; +#if NET5_0_OR_GREATER + init; +#else + set; +#endif + } = TimeSpan.FromSeconds(30); /// /// Clones this and returns a new instance diff --git a/src/Merge.Client/Core/Public/FileParameter.cs b/src/Merge.Client/Core/Public/FileParameter.cs new file mode 100644 index 00000000..82b260a5 --- /dev/null +++ b/src/Merge.Client/Core/Public/FileParameter.cs @@ -0,0 +1,63 @@ +namespace Merge.Client; + +/// +/// File parameter for uploading files. +/// +public record FileParameter : IDisposable +#if NET6_0_OR_GREATER + , IAsyncDisposable +#endif +{ + private bool _disposed; + + /// + /// The name of the file to be uploaded. + /// + public string? FileName { get; set; } + + /// + /// The content type of the file to be uploaded. + /// + public string? ContentType { get; set; } + + /// + /// The content of the file to be uploaded. + /// + public required Stream Stream { get; set; } + + /// + public void Dispose() + { + Dispose(true); + GC.SuppressFinalize(this); + } + + /// + protected virtual void Dispose(bool disposing) + { + if (_disposed) + return; + if (disposing) + { + Stream.Dispose(); + } + + _disposed = true; + } + +#if NET6_0_OR_GREATER + /// + public async ValueTask DisposeAsync() + { + if (!_disposed) + { + await Stream.DisposeAsync().ConfigureAwait(false); + _disposed = true; + } + + GC.SuppressFinalize(this); + } +#endif + + public static implicit operator FileParameter(Stream stream) => new() { Stream = stream }; +} diff --git a/src/Merge.Client/Core/Public/RequestOptions.cs b/src/Merge.Client/Core/Public/RequestOptions.cs index 443f4504..3f711ae8 100644 --- a/src/Merge.Client/Core/Public/RequestOptions.cs +++ b/src/Merge.Client/Core/Public/RequestOptions.cs @@ -1,32 +1,93 @@ using System; +using System.Collections.Generic; +using System.Linq; using System.Net.Http; namespace Merge.Client.Core; public partial class RequestOptions : IRequestOptions { + /// + /// The http headers sent with the request. + /// + Headers IRequestOptions.Headers { get; init; } = new(); + /// /// The Base URL for the API. /// - public string? BaseUrl { get; init; } + public string? BaseUrl { get; +#if NET5_0_OR_GREATER + init; +#else + set; +#endif + } /// /// The http client used to make requests. /// - public HttpClient? HttpClient { get; init; } + public HttpClient? HttpClient { get; +#if NET5_0_OR_GREATER + init; +#else + set; +#endif + } + + /// + /// Additional headers to be sent with the request. + /// Headers previously set with matching keys will be overwritten. + /// + public IEnumerable> AdditionalHeaders { get; +#if NET5_0_OR_GREATER + init; +#else + set; +#endif + } = []; /// /// The http client used to make requests. /// - public int? MaxRetries { get; init; } + public int? MaxRetries { get; +#if NET5_0_OR_GREATER + init; +#else + set; +#endif + } /// /// The timeout for the request. /// - public TimeSpan? Timeout { get; init; } + public TimeSpan? Timeout { get; +#if NET5_0_OR_GREATER + init; +#else + set; +#endif + } /// - /// The http headers sent with the request. + /// Additional query parameters sent with the request. /// - Headers IRequestOptions.Headers { get; init; } = new(); + public IEnumerable> AdditionalQueryParameters { get; +#if NET5_0_OR_GREATER + init; +#else + set; +#endif + } = Enumerable.Empty>(); + + /// + /// Additional body properties sent with the request. + /// This is only applied to JSON requests. + /// + public object? AdditionalBodyProperties { get; +#if NET5_0_OR_GREATER + init; +#else + set; +#endif + } } diff --git a/src/Merge.Client/Core/Public/Version.cs b/src/Merge.Client/Core/Public/Version.cs index ace2fb83..3c2a0e6d 100644 --- a/src/Merge.Client/Core/Public/Version.cs +++ b/src/Merge.Client/Core/Public/Version.cs @@ -2,5 +2,5 @@ namespace Merge.Client; internal class Version { - public const string Current = "1.0.2"; + public const string Current = "1.1.0"; } diff --git a/src/Merge.Client/Core/QueryStringConverter.cs b/src/Merge.Client/Core/QueryStringConverter.cs new file mode 100644 index 00000000..8e654509 --- /dev/null +++ b/src/Merge.Client/Core/QueryStringConverter.cs @@ -0,0 +1,229 @@ +using global::System.Text.Json; + +namespace Merge.Client.Core; + +/// +/// Converts an object into a query string collection. +/// +internal static class QueryStringConverter +{ + /// + /// Converts an object into a query string collection using Deep Object notation. + /// + /// Object to form URL-encode. You can pass in an object or dictionary, but not lists, strings, or primitives. + /// Throws when passing in a list, a string, or a primitive value. + /// A collection of key value pairs. The keys and values are not URL encoded. + internal static IEnumerable> ToDeepObject(object value) + { + var queryCollection = new List>(); + var json = JsonUtils.SerializeToElement(value); + AssertRootJson(json); + JsonToDeepObject(json, "", queryCollection); + return queryCollection; + } + + /// + /// Converts an object into a query string collection using Exploded Form notation. + /// + /// Object to form URL-encode. You can pass in an object or dictionary, but not lists, strings, or primitives. + /// Throws when passing in a list, a string, or a primitive value. + /// A collection of key value pairs. The keys and values are not URL encoded. + internal static IEnumerable> ToExplodedForm(object value) + { + var queryCollection = new List>(); + var json = JsonUtils.SerializeToElement(value); + AssertRootJson(json); + JsonToFormExploded(json, "", queryCollection); + return queryCollection; + } + + /// + /// Converts an object into a query string collection using Form notation without exploding parameters. + /// + /// Object to form URL-encode. You can pass in an object or dictionary, but not lists, strings, or primitives. + /// Throws when passing in a list, a string, or a primitive value. + /// A collection of key value pairs. The keys and values are not URL encoded. + internal static IEnumerable> ToForm(object value) + { + var queryCollection = new List>(); + var json = JsonUtils.SerializeToElement(value); + AssertRootJson(json); + JsonToForm(json, "", queryCollection); + return queryCollection; + } + + private static void AssertRootJson(JsonElement json) + { + switch (json.ValueKind) + { + case JsonValueKind.Object: + break; + case JsonValueKind.Array: + case JsonValueKind.Undefined: + case JsonValueKind.String: + case JsonValueKind.Number: + case JsonValueKind.True: + case JsonValueKind.False: + case JsonValueKind.Null: + default: + throw new Exception( + $"Only objects can be converted to query string collections. Given type is {json.ValueKind}." + ); + } + } + + private static void JsonToForm( + JsonElement element, + string prefix, + List> parameters + ) + { + switch (element.ValueKind) + { + case JsonValueKind.Object: + foreach (var property in element.EnumerateObject()) + { + var newPrefix = string.IsNullOrEmpty(prefix) + ? property.Name + : $"{prefix}[{property.Name}]"; + + JsonToForm(property.Value, newPrefix, parameters); + } + break; + case JsonValueKind.Array: + var arrayValues = element.EnumerateArray().Select(ValueToString).ToArray(); + parameters.Add( + new KeyValuePair(prefix, string.Join(",", arrayValues)) + ); + break; + case JsonValueKind.Null: + break; + case JsonValueKind.Undefined: + case JsonValueKind.String: + case JsonValueKind.Number: + case JsonValueKind.True: + case JsonValueKind.False: + default: + parameters.Add(new KeyValuePair(prefix, ValueToString(element))); + break; + } + } + + private static void JsonToFormExploded( + JsonElement element, + string prefix, + List> parameters + ) + { + switch (element.ValueKind) + { + case JsonValueKind.Object: + foreach (var property in element.EnumerateObject()) + { + var newPrefix = string.IsNullOrEmpty(prefix) + ? property.Name + : $"{prefix}[{property.Name}]"; + + JsonToFormExploded(property.Value, newPrefix, parameters); + } + + break; + case JsonValueKind.Array: + foreach (var item in element.EnumerateArray()) + { + if ( + item.ValueKind != JsonValueKind.Object + && item.ValueKind != JsonValueKind.Array + ) + { + parameters.Add( + new KeyValuePair(prefix, ValueToString(item)) + ); + } + else + { + JsonToFormExploded(item, prefix, parameters); + } + } + + break; + case JsonValueKind.Null: + break; + case JsonValueKind.Undefined: + case JsonValueKind.String: + case JsonValueKind.Number: + case JsonValueKind.True: + case JsonValueKind.False: + default: + parameters.Add(new KeyValuePair(prefix, ValueToString(element))); + break; + } + } + + private static void JsonToDeepObject( + JsonElement element, + string prefix, + List> parameters + ) + { + switch (element.ValueKind) + { + case JsonValueKind.Object: + foreach (var property in element.EnumerateObject()) + { + var newPrefix = string.IsNullOrEmpty(prefix) + ? property.Name + : $"{prefix}[{property.Name}]"; + + JsonToDeepObject(property.Value, newPrefix, parameters); + } + + break; + case JsonValueKind.Array: + var index = 0; + foreach (var item in element.EnumerateArray()) + { + var newPrefix = $"{prefix}[{index++}]"; + + if ( + item.ValueKind != JsonValueKind.Object + && item.ValueKind != JsonValueKind.Array + ) + { + parameters.Add( + new KeyValuePair(newPrefix, ValueToString(item)) + ); + } + else + { + JsonToDeepObject(item, newPrefix, parameters); + } + } + + break; + case JsonValueKind.Null: + break; + case JsonValueKind.Undefined: + case JsonValueKind.String: + case JsonValueKind.Number: + case JsonValueKind.True: + case JsonValueKind.False: + default: + parameters.Add(new KeyValuePair(prefix, ValueToString(element))); + break; + } + } + + private static string ValueToString(JsonElement element) + { + return element.ValueKind switch + { + JsonValueKind.String => element.GetString() ?? "", + JsonValueKind.Number => element.GetRawText(), + JsonValueKind.True => "true", + JsonValueKind.False => "false", + JsonValueKind.Null => "", + _ => element.GetRawText(), + }; + } +} diff --git a/src/Merge.Client/Core/RawClient.cs b/src/Merge.Client/Core/RawClient.cs index 7bc0a9e2..946fcd18 100644 --- a/src/Merge.Client/Core/RawClient.cs +++ b/src/Merge.Client/Core/RawClient.cs @@ -1,26 +1,34 @@ -using System.Net.Http; -using System.Net.Http.Headers; -using System.Text; -using System.Threading; -using SystemTask = System.Threading.Tasks.Task; +using global::System.Net.Http; +using global::System.Net.Http.Headers; +using global::System.Text; +using SystemTask = global::System.Threading.Tasks.Task; namespace Merge.Client.Core; /// /// Utility class for making raw HTTP requests to the API. /// -internal class RawClient(ClientOptions clientOptions) +internal partial class RawClient(ClientOptions clientOptions) { - private const int InitialRetryDelayMs = 1000; private const int MaxRetryDelayMs = 60000; + internal int BaseRetryDelay { get; set; } = 1000; /// /// The client options applied on every request. /// - public readonly ClientOptions Options = clientOptions; + internal readonly ClientOptions Options = clientOptions; - public async Task MakeRequestAsync( - BaseApiRequest request, + [Obsolete("Use SendRequestAsync instead.")] + internal Task MakeRequestAsync( + Merge.Client.Core.BaseRequest request, + CancellationToken cancellationToken = default + ) + { + return SendRequestAsync(request, cancellationToken); + } + + internal async Task SendRequestAsync( + Merge.Client.Core.BaseRequest request, CancellationToken cancellationToken = default ) { @@ -29,76 +37,118 @@ public async Task MakeRequestAsync( var timeout = request.Options?.Timeout ?? Options.Timeout; cts.CancelAfter(timeout); + var httpRequest = CreateHttpRequest(request); // Send the request. - return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); + return await SendWithRetriesAsync(httpRequest, request.Options, cts.Token) + .ConfigureAwait(false); } - public record BaseApiRequest + internal async Task SendRequestAsync( + HttpRequestMessage request, + IRequestOptions? options, + CancellationToken cancellationToken = default + ) { - public required string BaseUrl { get; init; } - - public required HttpMethod Method { get; init; } - - public required string Path { get; init; } + // Apply the request timeout. + var cts = CancellationTokenSource.CreateLinkedTokenSource(cancellationToken); + var timeout = options?.Timeout ?? Options.Timeout; + cts.CancelAfter(timeout); - public string? ContentType { get; init; } + // Send the request. + return await SendWithRetriesAsync(request, options, cts.Token).ConfigureAwait(false); + } - public Dictionary Query { get; init; } = new(); + private static async Task CloneRequestAsync(HttpRequestMessage request) + { + var clonedRequest = new HttpRequestMessage(request.Method, request.RequestUri); + clonedRequest.Version = request.Version; + switch (request.Content) + { + case MultipartContent oldMultipartFormContent: + var originalBoundary = + oldMultipartFormContent + .Headers.ContentType?.Parameters.First(p => + p.Name.Equals("boundary", StringComparison.OrdinalIgnoreCase) + ) + .Value?.Trim('"') ?? Guid.NewGuid().ToString(); + var newMultipartContent = oldMultipartFormContent switch + { + MultipartFormDataContent => new MultipartFormDataContent(originalBoundary), + _ => new MultipartContent(), + }; + foreach (var content in oldMultipartFormContent) + { + var ms = new MemoryStream(); + await content.CopyToAsync(ms).ConfigureAwait(false); + ms.Position = 0; + var newPart = new StreamContent(ms); + foreach (var header in oldMultipartFormContent.Headers) + { + newPart.Headers.TryAddWithoutValidation(header.Key, header.Value); + } - public Headers Headers { get; init; } = new(); + newMultipartContent.Add(newPart); + } - public IRequestOptions? Options { get; init; } - } + clonedRequest.Content = newMultipartContent; + break; + default: + clonedRequest.Content = request.Content; + break; + } - /// - /// The request object to be sent for streaming uploads. - /// - public record StreamApiRequest : BaseApiRequest - { - public Stream? Body { get; init; } - } + foreach (var header in request.Headers) + { + clonedRequest.Headers.TryAddWithoutValidation(header.Key, header.Value); + } - /// - /// The request object to be sent for JSON APIs. - /// - public record JsonApiRequest : BaseApiRequest - { - public object? Body { get; init; } + return clonedRequest; } /// - /// The response object returned from the API. + /// Sends the request with retries, unless the request content is not retryable, + /// such as stream requests and multipart form data with stream content. /// - public record ApiResponse - { - public required int StatusCode { get; init; } - - public required HttpResponseMessage Raw { get; init; } - } - - private async Task SendWithRetriesAsync( - BaseApiRequest request, + private async Task SendWithRetriesAsync( + HttpRequestMessage request, + IRequestOptions? options, CancellationToken cancellationToken ) { - var httpClient = request.Options?.HttpClient ?? Options.HttpClient; - var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient - .SendAsync(BuildHttpRequest(request), cancellationToken) - .ConfigureAwait(false); + var httpClient = options?.HttpClient ?? Options.HttpClient; + var maxRetries = options?.MaxRetries ?? Options.MaxRetries; + var response = await httpClient.SendAsync(request, cancellationToken).ConfigureAwait(false); + var isRetryableContent = IsRetryableContent(request); + + if (!isRetryableContent) + { + return new Merge.Client.Core.ApiResponse + { + StatusCode = (int)response.StatusCode, + Raw = response, + }; + } + for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) { break; } - var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); + + var delayMs = Math.Min(BaseRetryDelay * (int)Math.Pow(2, i), MaxRetryDelayMs); await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); + using var retryRequest = await CloneRequestAsync(request).ConfigureAwait(false); response = await httpClient - .SendAsync(BuildHttpRequest(request), cancellationToken) + .SendAsync(retryRequest, cancellationToken) .ConfigureAwait(false); } - return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; + + return new Merge.Client.Core.ApiResponse + { + StatusCode = (int)response.StatusCode, + Raw = response, + }; } private static bool ShouldRetry(HttpResponseMessage response) @@ -107,56 +157,54 @@ private static bool ShouldRetry(HttpResponseMessage response) return statusCode is 408 or 429 or >= 500; } - private HttpRequestMessage BuildHttpRequest(BaseApiRequest request) + private static bool IsRetryableContent(HttpRequestMessage request) + { + return request.Content switch + { + IIsRetryableContent c => c.IsRetryable, + StreamContent => false, + MultipartContent content => !content.Any(c => c is StreamContent), + _ => true, + }; + } + + internal HttpRequestMessage CreateHttpRequest(Merge.Client.Core.BaseRequest request) { var url = BuildUrl(request); var httpRequest = new HttpRequestMessage(request.Method, url); - switch (request) - { - // Add the request body to the request. - case JsonApiRequest jsonRequest: - { - if (jsonRequest.Body != null) - { - httpRequest.Content = new StringContent( - JsonUtils.Serialize(jsonRequest.Body), - Encoding.UTF8, - "application/json" - ); - } - break; - } - case StreamApiRequest { Body: not null } streamRequest: - httpRequest.Content = new StreamContent(streamRequest.Body); - break; - } - if (request.ContentType != null) - { - httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse( - request.ContentType - ); - } - SetHeaders(httpRequest, Options.Headers); - SetHeaders(httpRequest, request.Headers); - SetHeaders(httpRequest, request.Options?.Headers ?? new Headers()); + httpRequest.Content = request.CreateContent(); + var mergedHeaders = new Dictionary>(); + MergeHeaders(mergedHeaders, Options.Headers); + MergeAdditionalHeaders(mergedHeaders, Options.AdditionalHeaders); + MergeHeaders(mergedHeaders, request.Headers); + MergeHeaders(mergedHeaders, request.Options?.Headers); + MergeAdditionalHeaders(mergedHeaders, request.Options?.AdditionalHeaders ?? []); + SetHeaders(httpRequest, mergedHeaders); return httpRequest; } - private static string BuildUrl(BaseApiRequest request) + private static string BuildUrl(Merge.Client.Core.BaseRequest request) { var baseUrl = request.Options?.BaseUrl ?? request.BaseUrl; var trimmedBaseUrl = baseUrl.TrimEnd('/'); var trimmedBasePath = request.Path.TrimStart('/'); var url = $"{trimmedBaseUrl}/{trimmedBasePath}"; - if (request.Query.Count <= 0) + + var queryParameters = GetQueryParameters(request); + if (!queryParameters.Any()) return url; + url += "?"; - url = request.Query.Aggregate( + url = queryParameters.Aggregate( url, (current, queryItem) => { - if (queryItem.Value is System.Collections.IEnumerable collection and not string) + if ( + queryItem.Value + is global::System.Collections.IEnumerable collection + and not string + ) { var items = collection .Cast() @@ -171,6 +219,7 @@ private static string BuildUrl(BaseApiRequest request) { current += $"{queryItem.Key}={queryItem.Value}&"; } + return current; } ); @@ -178,15 +227,183 @@ private static string BuildUrl(BaseApiRequest request) return url; } - private static void SetHeaders(HttpRequestMessage httpRequest, Headers headers) + private static List> GetQueryParameters( + Merge.Client.Core.BaseRequest request + ) { + var result = TransformToKeyValuePairs(request.Query); + if ( + request.Options?.AdditionalQueryParameters is null + || !request.Options.AdditionalQueryParameters.Any() + ) + { + return result; + } + + var additionalKeys = request + .Options.AdditionalQueryParameters.Select(p => p.Key) + .Distinct(); + foreach (var key in additionalKeys) + { + result.RemoveAll(kv => kv.Key == key); + } + + result.AddRange(request.Options.AdditionalQueryParameters); + return result; + } + + private static List> TransformToKeyValuePairs( + Dictionary inputDict + ) + { + var result = new List>(); + foreach (var kvp in inputDict) + { + switch (kvp.Value) + { + case string str: + result.Add(new KeyValuePair(kvp.Key, str)); + break; + case IEnumerable strList: + { + foreach (var value in strList) + { + result.Add(new KeyValuePair(kvp.Key, value)); + } + + break; + } + } + } + + return result; + } + + private static void MergeHeaders( + Dictionary> mergedHeaders, + Headers? headers + ) + { + if (headers is null) + { + return; + } + foreach (var header in headers) { var value = header.Value?.Match(str => str, func => func.Invoke()); if (value != null) { - httpRequest.Headers.TryAddWithoutValidation(header.Key, value); + mergedHeaders[header.Key] = [value]; } } } + + private static void MergeAdditionalHeaders( + Dictionary> mergedHeaders, + IEnumerable>? headers + ) + { + if (headers is null) + { + return; + } + + var usedKeys = new HashSet(); + foreach (var header in headers) + { + if (header.Value is null) + { + mergedHeaders.Remove(header.Key); + usedKeys.Remove(header.Key); + continue; + } + + if (usedKeys.Contains(header.Key)) + { + mergedHeaders[header.Key].Add(header.Value); + } + else + { + mergedHeaders[header.Key] = [header.Value]; + usedKeys.Add(header.Key); + } + } + } + + private void SetHeaders( + HttpRequestMessage httpRequest, + Dictionary> mergedHeaders + ) + { + foreach (var kv in mergedHeaders) + { + foreach (var header in kv.Value) + { + if (header is null) + { + continue; + } + + httpRequest.Headers.TryAddWithoutValidation(kv.Key, header); + } + } + } + + private static (Encoding encoding, string? charset, string mediaType) ParseContentTypeOrDefault( + string? contentType, + Encoding encodingFallback, + string mediaTypeFallback + ) + { + var encoding = encodingFallback; + var mediaType = mediaTypeFallback; + string? charset = null; + if (string.IsNullOrEmpty(contentType)) + { + return (encoding, charset, mediaType); + } + + if (!MediaTypeHeaderValue.TryParse(contentType, out var mediaTypeHeaderValue)) + { + return (encoding, charset, mediaType); + } + + if (!string.IsNullOrEmpty(mediaTypeHeaderValue.CharSet)) + { + charset = mediaTypeHeaderValue.CharSet; + encoding = Encoding.GetEncoding(mediaTypeHeaderValue.CharSet); + } + + if (!string.IsNullOrEmpty(mediaTypeHeaderValue.MediaType)) + { + mediaType = mediaTypeHeaderValue.MediaType; + } + + return (encoding, charset, mediaType); + } + + /// + [Obsolete("Use Merge.Client.Core.ApiResponse instead.")] + internal record ApiResponse : Merge.Client.Core.ApiResponse; + + /// + [Obsolete("Use Merge.Client.Core.BaseRequest instead.")] + internal abstract record BaseApiRequest : Merge.Client.Core.BaseRequest; + + /// + [Obsolete("Use Merge.Client.Core.EmptyRequest instead.")] + internal abstract record EmptyApiRequest : Merge.Client.Core.EmptyRequest; + + /// + [Obsolete("Use Merge.Client.Core.JsonRequest instead.")] + internal abstract record JsonApiRequest : Merge.Client.Core.JsonRequest; + + /// + [Obsolete("Use Merge.Client.Core.MultipartFormRequest instead.")] + internal abstract record MultipartFormRequest : Merge.Client.Core.MultipartFormRequest; + + /// + [Obsolete("Use Merge.Client.Core.StreamRequest instead.")] + internal abstract record StreamApiRequest : Merge.Client.Core.StreamRequest; } diff --git a/src/Merge.Client/Core/StreamRequest.cs b/src/Merge.Client/Core/StreamRequest.cs new file mode 100644 index 00000000..4e701588 --- /dev/null +++ b/src/Merge.Client/Core/StreamRequest.cs @@ -0,0 +1,29 @@ +using System.Net.Http; +using System.Net.Http.Headers; + +namespace Merge.Client.Core; + +/// +/// The request object to be sent for streaming uploads. +/// +internal record StreamRequest : BaseRequest +{ + internal Stream? Body { get; init; } + + internal override HttpContent? CreateContent() + { + if (Body is null) + { + return null; + } + + var content = new StreamContent(Body) + { + Headers = + { + ContentType = MediaTypeHeaderValue.Parse(ContentType ?? "application/octet-stream"), + }, + }; + return content; + } +} diff --git a/src/Merge.Client/Core/ValueConvert.cs b/src/Merge.Client/Core/ValueConvert.cs new file mode 100644 index 00000000..0e411eb5 --- /dev/null +++ b/src/Merge.Client/Core/ValueConvert.cs @@ -0,0 +1,109 @@ +using global::System.Globalization; + +namespace Merge.Client.Core; + +/// +/// Convert values to string for path and query parameters. +/// +public static class ValueConvert +{ + internal static string ToPathParameterString(T value) => ToString(value); + + internal static string ToPathParameterString(bool v) => ToString(v); + + internal static string ToPathParameterString(int v) => ToString(v); + + internal static string ToPathParameterString(long v) => ToString(v); + + internal static string ToPathParameterString(float v) => ToString(v); + + internal static string ToPathParameterString(double v) => ToString(v); + + internal static string ToPathParameterString(decimal v) => ToString(v); + + internal static string ToPathParameterString(short v) => ToString(v); + + internal static string ToPathParameterString(ushort v) => ToString(v); + + internal static string ToPathParameterString(uint v) => ToString(v); + + internal static string ToPathParameterString(ulong v) => ToString(v); + + internal static string ToPathParameterString(char v) => ToString(v); + + internal static string ToPathParameterString(Guid v) => ToString(v); + + internal static string ToQueryStringValue(T value) => value is null ? "" : ToString(value); + + internal static string ToQueryStringValue(bool v) => ToString(v); + + internal static string ToQueryStringValue(int v) => ToString(v); + + internal static string ToQueryStringValue(long v) => ToString(v); + + internal static string ToQueryStringValue(float v) => ToString(v); + + internal static string ToQueryStringValue(double v) => ToString(v); + + internal static string ToQueryStringValue(decimal v) => ToString(v); + + internal static string ToQueryStringValue(short v) => ToString(v); + + internal static string ToQueryStringValue(ushort v) => ToString(v); + + internal static string ToQueryStringValue(uint v) => ToString(v); + + internal static string ToQueryStringValue(ulong v) => ToString(v); + + internal static string ToQueryStringValue(char v) => ToString(v); + + internal static string ToQueryStringValue(Guid v) => ToString(v); + + internal static string ToString(T value) + { + return value switch + { + null => "null", + string str => str, + true => "true", + false => "false", + int i => ToString(i), + long l => ToString(l), + float f => ToString(f), + double d => ToString(d), + decimal dec => ToString(dec), + short s => ToString(s), + ushort u => ToString(u), + uint u => ToString(u), + ulong u => ToString(u), + char c => ToString(c), + Guid guid => ToString(guid), + Enum e => JsonUtils.Serialize(e).Trim('"'), + _ => JsonUtils.Serialize(value).Trim('"'), + }; + } + + internal static string ToString(bool v) => v ? "true" : "false"; + + internal static string ToString(int v) => v.ToString(CultureInfo.InvariantCulture); + + internal static string ToString(long v) => v.ToString(CultureInfo.InvariantCulture); + + internal static string ToString(float v) => v.ToString(CultureInfo.InvariantCulture); + + internal static string ToString(double v) => v.ToString(CultureInfo.InvariantCulture); + + internal static string ToString(decimal v) => v.ToString(CultureInfo.InvariantCulture); + + internal static string ToString(short v) => v.ToString(CultureInfo.InvariantCulture); + + internal static string ToString(ushort v) => v.ToString(CultureInfo.InvariantCulture); + + internal static string ToString(uint v) => v.ToString(CultureInfo.InvariantCulture); + + internal static string ToString(ulong v) => v.ToString(CultureInfo.InvariantCulture); + + internal static string ToString(char v) => v.ToString(CultureInfo.InvariantCulture); + + internal static string ToString(Guid v) => v.ToString("D"); +} diff --git a/src/Merge.Client/Crm/AccountDetails/AccountDetailsClient.cs b/src/Merge.Client/Crm/AccountDetails/AccountDetailsClient.cs index 7f2b5a45..6daea7dd 100644 --- a/src/Merge.Client/Crm/AccountDetails/AccountDetailsClient.cs +++ b/src/Merge.Client/Crm/AccountDetails/AccountDetailsClient.cs @@ -17,19 +17,17 @@ internal AccountDetailsClient(RawClient client) /// /// Get details for a linked account. /// - /// - /// + /// /// await client.Crm.AccountDetails.RetrieveAsync(); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -39,23 +37,26 @@ public async System.Threading.Tasks.Task RetrieveAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Crm/AccountToken/AccountTokenClient.cs b/src/Merge.Client/Crm/AccountToken/AccountTokenClient.cs index b594e18d..a1e6f14f 100644 --- a/src/Merge.Client/Crm/AccountToken/AccountTokenClient.cs +++ b/src/Merge.Client/Crm/AccountToken/AccountTokenClient.cs @@ -17,46 +17,50 @@ internal AccountTokenClient(RawClient client) /// /// Returns the account token for the end user with the provided public token. /// - /// - /// + /// /// await client.Crm.AccountToken.RetrieveAsync("public_token"); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string publicToken, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"crm/v1/account-token/{publicToken}", + Path = string.Format( + "crm/v1/account-token/{0}", + ValueConvert.ToPathParameterString(publicToken) + ), Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Crm/Accounts/AccountsClient.cs b/src/Merge.Client/Crm/Accounts/AccountsClient.cs index 27f6be2d..5829887e 100644 --- a/src/Merge.Client/Crm/Accounts/AccountsClient.cs +++ b/src/Merge.Client/Crm/Accounts/AccountsClient.cs @@ -17,12 +17,10 @@ internal AccountsClient(RawClient client) /// /// Returns a list of `Account` objects. /// - /// - /// + /// /// await client.Crm.Accounts.ListAsync(new AccountsListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( AccountsListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -94,8 +92,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["remote_id"] = request.RemoteId; } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -106,37 +104,38 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Creates an `Account` object with the given values. /// - /// - /// + /// /// await client.Crm.Accounts.CreateAsync( /// new CrmAccountEndpointRequest { Model = new Merge.Client.Crm.AccountRequest() } /// ); - /// - /// - public async System.Threading.Tasks.Task CreateAsync( + /// + public async Task CreateAsync( CrmAccountEndpointRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -151,15 +150,14 @@ public async System.Threading.Tasks.Task CreateAsync( { _query["run_async"] = JsonUtils.Serialize(request.RunAsync.Value); } - var requestBody = new Dictionary() { { "model", request.Model } }; var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, Path = "crm/v1/accounts", - Body = requestBody, + Body = request, Query = _query, ContentType = "application/json", Options = options, @@ -167,35 +165,36 @@ public async System.Threading.Tasks.Task CreateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns an `Account` object with the given `id`. /// - /// - /// + /// /// await client.Crm.Accounts.RetrieveAsync("id", new AccountsRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, AccountsRetrieveRequest request, RequestOptions? options = null, @@ -217,51 +216,59 @@ public async System.Threading.Tasks.Task RetrieveAsync( request.IncludeRemoteFields.Value ); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"crm/v1/accounts/{id}", + Path = string.Format( + "crm/v1/accounts/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Updates an `Account` object with the given `id`. /// - /// - /// + /// /// await client.Crm.Accounts.PartialUpdateAsync( /// "id", /// new PatchedCrmAccountEndpointRequest { Model = new PatchedAccountRequest() } /// ); - /// - /// - public async System.Threading.Tasks.Task PartialUpdateAsync( + /// + public async Task PartialUpdateAsync( string id, PatchedCrmAccountEndpointRequest request, RequestOptions? options = null, @@ -277,15 +284,17 @@ public async System.Threading.Tasks.Task PartialUpdateAsync( { _query["run_async"] = JsonUtils.Serialize(request.RunAsync.Value); } - var requestBody = new Dictionary() { { "model", request.Model } }; var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethodExtensions.Patch, - Path = $"crm/v1/accounts/{id}", - Body = requestBody, + Path = string.Format( + "crm/v1/accounts/{0}", + ValueConvert.ToPathParameterString(id) + ), + Body = request, Query = _query, ContentType = "application/json", Options = options, @@ -293,88 +302,93 @@ public async System.Threading.Tasks.Task PartialUpdateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns metadata for `CRMAccount` PATCHs. /// - /// - /// + /// /// await client.Crm.Accounts.MetaPatchRetrieveAsync("id"); - /// - /// - public async System.Threading.Tasks.Task MetaPatchRetrieveAsync( + /// + public async Task MetaPatchRetrieveAsync( string id, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"crm/v1/accounts/meta/patch/{id}", + Path = string.Format( + "crm/v1/accounts/meta/patch/{0}", + ValueConvert.ToPathParameterString(id) + ), Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns metadata for `CRMAccount` POSTs. /// - /// - /// + /// /// await client.Crm.Accounts.MetaPostRetrieveAsync(); - /// - /// - public async System.Threading.Tasks.Task MetaPostRetrieveAsync( + /// + public async Task MetaPostRetrieveAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -384,35 +398,36 @@ public async System.Threading.Tasks.Task MetaPostRetrieveAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a list of `RemoteFieldClass` objects. /// - /// - /// + /// /// await client.Crm.Accounts.RemoteFieldClassesListAsync(new AccountsRemoteFieldClassesListRequest()); - /// - /// - public async System.Threading.Tasks.Task RemoteFieldClassesListAsync( + /// + public async Task RemoteFieldClassesListAsync( AccountsRemoteFieldClassesListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -450,8 +465,8 @@ public async System.Threading.Tasks.Task RemoteFi _query["page_size"] = request.PageSize.Value.ToString(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -462,23 +477,26 @@ public async System.Threading.Tasks.Task RemoteFi cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Crm/Accounts/Requests/AccountsListRequest.cs b/src/Merge.Client/Crm/Accounts/Requests/AccountsListRequest.cs index 04264469..c4a2d271 100644 --- a/src/Merge.Client/Crm/Accounts/Requests/AccountsListRequest.cs +++ b/src/Merge.Client/Crm/Accounts/Requests/AccountsListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; @@ -7,73 +8,88 @@ public record AccountsListRequest /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public string? Expand { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include all remote fields, including fields that Merge did not map to common models, in a normalized format. /// + [JsonIgnore] public bool? IncludeRemoteFields { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// If provided, will only return accounts with this name. /// + [JsonIgnore] public string? Name { get; set; } /// /// If provided, will only return accounts with this owner. /// + [JsonIgnore] public string? OwnerId { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Accounts/Requests/AccountsRemoteFieldClassesListRequest.cs b/src/Merge.Client/Crm/Accounts/Requests/AccountsRemoteFieldClassesListRequest.cs index 17058f0c..a8875169 100644 --- a/src/Merge.Client/Crm/Accounts/Requests/AccountsRemoteFieldClassesListRequest.cs +++ b/src/Merge.Client/Crm/Accounts/Requests/AccountsRemoteFieldClassesListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; @@ -7,38 +8,46 @@ public record AccountsRemoteFieldClassesListRequest /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include all remote fields, including fields that Merge did not map to common models, in a normalized format. /// + [JsonIgnore] public bool? IncludeRemoteFields { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, will only return remote field classes with this is_common_model_field value /// + [JsonIgnore] public bool? IsCommonModelField { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Accounts/Requests/AccountsRetrieveRequest.cs b/src/Merge.Client/Crm/Accounts/Requests/AccountsRetrieveRequest.cs index 501c94b6..7f2fee36 100644 --- a/src/Merge.Client/Crm/Accounts/Requests/AccountsRetrieveRequest.cs +++ b/src/Merge.Client/Crm/Accounts/Requests/AccountsRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; @@ -7,18 +8,28 @@ public record AccountsRetrieveRequest /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public string? Expand { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include all remote fields, including fields that Merge did not map to common models, in a normalized format. /// + [JsonIgnore] public bool? IncludeRemoteFields { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Accounts/Requests/CrmAccountEndpointRequest.cs b/src/Merge.Client/Crm/Accounts/Requests/CrmAccountEndpointRequest.cs index 8b4a2091..62090836 100644 --- a/src/Merge.Client/Crm/Accounts/Requests/CrmAccountEndpointRequest.cs +++ b/src/Merge.Client/Crm/Accounts/Requests/CrmAccountEndpointRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; @@ -7,15 +8,19 @@ public record CrmAccountEndpointRequest /// /// Whether to include debug fields (such as log file links) in the response. /// + [JsonIgnore] public bool? IsDebugMode { get; set; } /// /// Whether or not third-party updates should be run asynchronously. /// + [JsonIgnore] public bool? RunAsync { get; set; } + [JsonPropertyName("model")] public required AccountRequest Model { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Accounts/Requests/PatchedCrmAccountEndpointRequest.cs b/src/Merge.Client/Crm/Accounts/Requests/PatchedCrmAccountEndpointRequest.cs index 8611b029..4e32f688 100644 --- a/src/Merge.Client/Crm/Accounts/Requests/PatchedCrmAccountEndpointRequest.cs +++ b/src/Merge.Client/Crm/Accounts/Requests/PatchedCrmAccountEndpointRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; @@ -7,15 +8,19 @@ public record PatchedCrmAccountEndpointRequest /// /// Whether to include debug fields (such as log file links) in the response. /// + [JsonIgnore] public bool? IsDebugMode { get; set; } /// /// Whether or not third-party updates should be run asynchronously. /// + [JsonIgnore] public bool? RunAsync { get; set; } + [JsonPropertyName("model")] public required PatchedAccountRequest Model { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/AssociationTypes/AssociationTypesClient.cs b/src/Merge.Client/Crm/AssociationTypes/AssociationTypesClient.cs index 7fb7e55b..5854c84b 100644 --- a/src/Merge.Client/Crm/AssociationTypes/AssociationTypesClient.cs +++ b/src/Merge.Client/Crm/AssociationTypes/AssociationTypesClient.cs @@ -17,15 +17,13 @@ internal AssociationTypesClient(RawClient client) /// /// Returns a list of `AssociationType` objects. /// - /// - /// + /// /// await client.Crm.AssociationTypes.CustomObjectClassesAssociationTypesListAsync( /// "custom_object_class_id", /// new CustomObjectClassesAssociationTypesListRequest() /// ); - /// - /// - public async System.Threading.Tasks.Task CustomObjectClassesAssociationTypesListAsync( + /// + public async Task CustomObjectClassesAssociationTypesListAsync( string customObjectClassId, CustomObjectClassesAssociationTypesListRequest request, RequestOptions? options = null, @@ -84,43 +82,48 @@ public async System.Threading.Tasks.Task CustomObj _query["remote_id"] = request.RemoteId; } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"crm/v1/custom-object-classes/{customObjectClassId}/association-types", + Path = string.Format( + "crm/v1/custom-object-classes/{0}/association-types", + ValueConvert.ToPathParameterString(customObjectClassId) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Creates an `AssociationType` object with the given values. /// - /// - /// + /// /// await client.Crm.AssociationTypes.CustomObjectClassesAssociationTypesCreateAsync( /// "custom_object_class_id", /// new CrmAssociationTypeEndpointRequest @@ -144,9 +147,8 @@ public async System.Threading.Tasks.Task CustomObj /// }, /// } /// ); - /// - /// - public async System.Threading.Tasks.Task CustomObjectClassesAssociationTypesCreateAsync( + /// + public async Task CustomObjectClassesAssociationTypesCreateAsync( string customObjectClassId, CrmAssociationTypeEndpointRequest request, RequestOptions? options = null, @@ -162,15 +164,17 @@ public async System.Threading.Tasks.Task CustomObjec { _query["run_async"] = JsonUtils.Serialize(request.RunAsync.Value); } - var requestBody = new Dictionary() { { "model", request.Model } }; var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, - Path = $"crm/v1/custom-object-classes/{customObjectClassId}/association-types", - Body = requestBody, + Path = string.Format( + "crm/v1/custom-object-classes/{0}/association-types", + ValueConvert.ToPathParameterString(customObjectClassId) + ), + Body = request, Query = _query, ContentType = "application/json", Options = options, @@ -178,39 +182,40 @@ public async System.Threading.Tasks.Task CustomObjec cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns an `AssociationType` object with the given `id`. /// - /// - /// + /// /// await client.Crm.AssociationTypes.CustomObjectClassesAssociationTypesRetrieveAsync( /// "custom_object_class_id", /// "id", /// new CustomObjectClassesAssociationTypesRetrieveRequest() /// ); - /// - /// - public async System.Threading.Tasks.Task CustomObjectClassesAssociationTypesRetrieveAsync( + /// + public async Task CustomObjectClassesAssociationTypesRetrieveAsync( string customObjectClassId, string id, CustomObjectClassesAssociationTypesRetrieveRequest request, @@ -227,86 +232,99 @@ public async System.Threading.Tasks.Task CustomObjectClassesAss { _query["include_remote_data"] = JsonUtils.Serialize(request.IncludeRemoteData.Value); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = - $"crm/v1/custom-object-classes/{customObjectClassId}/association-types/{id}", + Path = string.Format( + "crm/v1/custom-object-classes/{0}/association-types/{1}", + ValueConvert.ToPathParameterString(customObjectClassId), + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns metadata for `CRMAssociationType` POSTs. /// - /// - /// + /// /// await client.Crm.AssociationTypes.CustomObjectClassesAssociationTypesMetaPostRetrieveAsync( /// "custom_object_class_id" /// ); - /// - /// - public async System.Threading.Tasks.Task CustomObjectClassesAssociationTypesMetaPostRetrieveAsync( + /// + public async Task CustomObjectClassesAssociationTypesMetaPostRetrieveAsync( string customObjectClassId, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = - $"crm/v1/custom-object-classes/{customObjectClassId}/association-types/meta/post", + Path = string.Format( + "crm/v1/custom-object-classes/{0}/association-types/meta/post", + ValueConvert.ToPathParameterString(customObjectClassId) + ), Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Crm/AssociationTypes/Requests/CrmAssociationTypeEndpointRequest.cs b/src/Merge.Client/Crm/AssociationTypes/Requests/CrmAssociationTypeEndpointRequest.cs index 58519a5d..8b581ae0 100644 --- a/src/Merge.Client/Crm/AssociationTypes/Requests/CrmAssociationTypeEndpointRequest.cs +++ b/src/Merge.Client/Crm/AssociationTypes/Requests/CrmAssociationTypeEndpointRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; @@ -7,15 +8,19 @@ public record CrmAssociationTypeEndpointRequest /// /// Whether to include debug fields (such as log file links) in the response. /// + [JsonIgnore] public bool? IsDebugMode { get; set; } /// /// Whether or not third-party updates should be run asynchronously. /// + [JsonIgnore] public bool? RunAsync { get; set; } + [JsonPropertyName("model")] public required AssociationTypeRequestRequest Model { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/AssociationTypes/Requests/CustomObjectClassesAssociationTypesListRequest.cs b/src/Merge.Client/Crm/AssociationTypes/Requests/CustomObjectClassesAssociationTypesListRequest.cs index 2eb276ff..d3510b03 100644 --- a/src/Merge.Client/Crm/AssociationTypes/Requests/CustomObjectClassesAssociationTypesListRequest.cs +++ b/src/Merge.Client/Crm/AssociationTypes/Requests/CustomObjectClassesAssociationTypesListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; @@ -7,58 +8,70 @@ public record CustomObjectClassesAssociationTypesListRequest /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public string? Expand { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/AssociationTypes/Requests/CustomObjectClassesAssociationTypesRetrieveRequest.cs b/src/Merge.Client/Crm/AssociationTypes/Requests/CustomObjectClassesAssociationTypesRetrieveRequest.cs index 1c84dad3..6ab71ac3 100644 --- a/src/Merge.Client/Crm/AssociationTypes/Requests/CustomObjectClassesAssociationTypesRetrieveRequest.cs +++ b/src/Merge.Client/Crm/AssociationTypes/Requests/CustomObjectClassesAssociationTypesRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; @@ -7,13 +8,22 @@ public record CustomObjectClassesAssociationTypesRetrieveRequest /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public string? Expand { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Associations/AssociationsClient.cs b/src/Merge.Client/Crm/Associations/AssociationsClient.cs index 91bb4179..c80fcf17 100644 --- a/src/Merge.Client/Crm/Associations/AssociationsClient.cs +++ b/src/Merge.Client/Crm/Associations/AssociationsClient.cs @@ -17,16 +17,14 @@ internal AssociationsClient(RawClient client) /// /// Returns a list of `Association` objects. /// - /// - /// + /// /// await client.Crm.Associations.CustomObjectClassesCustomObjectsAssociationsListAsync( /// "custom_object_class_id", /// "object_id", /// new CustomObjectClassesCustomObjectsAssociationsListRequest() /// ); - /// - /// - public async System.Threading.Tasks.Task CustomObjectClassesCustomObjectsAssociationsListAsync( + /// + public async Task CustomObjectClassesCustomObjectsAssociationsListAsync( string customObjectClassId, string objectId, CustomObjectClassesCustomObjectsAssociationsListRequest request, @@ -90,44 +88,49 @@ public async System.Threading.Tasks.Task CustomObjectC _query["remote_id"] = request.RemoteId; } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = - $"crm/v1/custom-object-classes/{customObjectClassId}/custom-objects/{objectId}/associations", + Path = string.Format( + "crm/v1/custom-object-classes/{0}/custom-objects/{1}/associations", + ValueConvert.ToPathParameterString(customObjectClassId), + ValueConvert.ToPathParameterString(objectId) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Creates an Association between `source_object_id` and `target_object_id` of type `association_type_id`. /// - /// - /// + /// /// await client.Crm.Associations.CustomObjectClassesCustomObjectsAssociationsUpdateAsync( /// "association_type_id", /// "source_class_id", @@ -136,9 +139,8 @@ public async System.Threading.Tasks.Task CustomObjectC /// "target_object_id", /// new CustomObjectClassesCustomObjectsAssociationsUpdateRequest() /// ); - /// - /// - public async System.Threading.Tasks.Task CustomObjectClassesCustomObjectsAssociationsUpdateAsync( + /// + public async Task CustomObjectClassesCustomObjectsAssociationsUpdateAsync( string associationTypeId, string sourceClassId, string sourceObjectId, @@ -159,36 +161,45 @@ public async System.Threading.Tasks.Task CustomObjectClassesCustomO _query["run_async"] = JsonUtils.Serialize(request.RunAsync.Value); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Put, - Path = - $"crm/v1/custom-object-classes/{sourceClassId}/custom-objects/{sourceObjectId}/associations/{targetClassId}/{targetObjectId}/{associationTypeId}", + Path = string.Format( + "crm/v1/custom-object-classes/{0}/custom-objects/{1}/associations/{2}/{3}/{4}", + ValueConvert.ToPathParameterString(sourceClassId), + ValueConvert.ToPathParameterString(sourceObjectId), + ValueConvert.ToPathParameterString(targetClassId), + ValueConvert.ToPathParameterString(targetObjectId), + ValueConvert.ToPathParameterString(associationTypeId) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Crm/Associations/Requests/CustomObjectClassesCustomObjectsAssociationsListRequest.cs b/src/Merge.Client/Crm/Associations/Requests/CustomObjectClassesCustomObjectsAssociationsListRequest.cs index 6d0d60c3..75dc3caf 100644 --- a/src/Merge.Client/Crm/Associations/Requests/CustomObjectClassesCustomObjectsAssociationsListRequest.cs +++ b/src/Merge.Client/Crm/Associations/Requests/CustomObjectClassesCustomObjectsAssociationsListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; @@ -7,63 +8,76 @@ public record CustomObjectClassesCustomObjectsAssociationsListRequest /// /// If provided, will only return opportunities with this association_type. /// + [JsonIgnore] public string? AssociationTypeId { get; set; } /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public string? Expand { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Associations/Requests/CustomObjectClassesCustomObjectsAssociationsUpdateRequest.cs b/src/Merge.Client/Crm/Associations/Requests/CustomObjectClassesCustomObjectsAssociationsUpdateRequest.cs index f3e9f638..debe12ba 100644 --- a/src/Merge.Client/Crm/Associations/Requests/CustomObjectClassesCustomObjectsAssociationsUpdateRequest.cs +++ b/src/Merge.Client/Crm/Associations/Requests/CustomObjectClassesCustomObjectsAssociationsUpdateRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; @@ -7,13 +8,16 @@ public record CustomObjectClassesCustomObjectsAssociationsUpdateRequest /// /// Whether to include debug fields (such as log file links) in the response. /// + [JsonIgnore] public bool? IsDebugMode { get; set; } /// /// Whether or not third-party updates should be run asynchronously. /// + [JsonIgnore] public bool? RunAsync { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/AsyncPassthrough/AsyncPassthroughClient.cs b/src/Merge.Client/Crm/AsyncPassthrough/AsyncPassthroughClient.cs index c9966cb3..e5743da6 100644 --- a/src/Merge.Client/Crm/AsyncPassthrough/AsyncPassthroughClient.cs +++ b/src/Merge.Client/Crm/AsyncPassthrough/AsyncPassthroughClient.cs @@ -18,8 +18,7 @@ internal AsyncPassthroughClient(RawClient client) /// /// Asynchronously pull data from an endpoint not currently supported by Merge. /// - /// - /// + /// /// await client.Crm.AsyncPassthrough.CreateAsync( /// new Merge.Client.Crm.DataPassthroughRequest /// { @@ -27,17 +26,16 @@ internal AsyncPassthroughClient(RawClient client) /// Path = "/scooters", /// } /// ); - /// - /// - public async System.Threading.Tasks.Task CreateAsync( + /// + public async Task CreateAsync( DataPassthroughRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, @@ -49,69 +47,76 @@ public async System.Threading.Tasks.Task CreateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Retrieves data from earlier async-passthrough POST request /// - /// - /// + /// /// await client.Crm.AsyncPassthrough.RetrieveAsync("async_passthrough_receipt_id"); - /// - /// - public async System.Threading.Tasks.Task> RetrieveAsync( + /// + public async Task> RetrieveAsync( string asyncPassthroughReceiptId, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"crm/v1/async-passthrough/{asyncPassthroughReceiptId}", + Path = string.Format( + "crm/v1/async-passthrough/{0}", + ValueConvert.ToPathParameterString(asyncPassthroughReceiptId) + ), Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize>(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Crm/AuditTrail/AuditTrailClient.cs b/src/Merge.Client/Crm/AuditTrail/AuditTrailClient.cs index a04b5a39..694671dc 100644 --- a/src/Merge.Client/Crm/AuditTrail/AuditTrailClient.cs +++ b/src/Merge.Client/Crm/AuditTrail/AuditTrailClient.cs @@ -17,12 +17,10 @@ internal AuditTrailClient(RawClient client) /// /// Gets a list of audit trail events. /// - /// - /// + /// /// await client.Crm.AuditTrail.ListAsync(new AuditTrailListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( AuditTrailListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -54,8 +52,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["user_email"] = request.UserEmail; } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -66,23 +64,26 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Crm/AuditTrail/Requests/AuditTrailListRequest.cs b/src/Merge.Client/Crm/AuditTrail/Requests/AuditTrailListRequest.cs index c301315f..83263f39 100644 --- a/src/Merge.Client/Crm/AuditTrail/Requests/AuditTrailListRequest.cs +++ b/src/Merge.Client/Crm/AuditTrail/Requests/AuditTrailListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; @@ -7,33 +8,40 @@ public record AuditTrailListRequest /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// If included, will only include audit trail events that occurred before this time /// + [JsonIgnore] public string? EndDate { get; set; } /// - /// If included, will only include events with the given event type. Possible values include: `CREATED_REMOTE_PRODUCTION_API_KEY`, `DELETED_REMOTE_PRODUCTION_API_KEY`, `CREATED_TEST_API_KEY`, `DELETED_TEST_API_KEY`, `REGENERATED_PRODUCTION_API_KEY`, `INVITED_USER`, `TWO_FACTOR_AUTH_ENABLED`, `TWO_FACTOR_AUTH_DISABLED`, `DELETED_LINKED_ACCOUNT`, `CREATED_DESTINATION`, `DELETED_DESTINATION`, `CHANGED_DESTINATION`, `CHANGED_SCOPES`, `CHANGED_PERSONAL_INFORMATION`, `CHANGED_ORGANIZATION_SETTINGS`, `ENABLED_INTEGRATION`, `DISABLED_INTEGRATION`, `ENABLED_CATEGORY`, `DISABLED_CATEGORY`, `CHANGED_PASSWORD`, `RESET_PASSWORD`, `ENABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION`, `ENABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT`, `DISABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION`, `DISABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT`, `CREATED_INTEGRATION_WIDE_FIELD_MAPPING`, `CREATED_LINKED_ACCOUNT_FIELD_MAPPING`, `CHANGED_INTEGRATION_WIDE_FIELD_MAPPING`, `CHANGED_LINKED_ACCOUNT_FIELD_MAPPING`, `DELETED_INTEGRATION_WIDE_FIELD_MAPPING`, `DELETED_LINKED_ACCOUNT_FIELD_MAPPING`, `CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE`, `CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE`, `DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE`, `FORCED_LINKED_ACCOUNT_RESYNC`, `MUTED_ISSUE`, `GENERATED_MAGIC_LINK`, `ENABLED_MERGE_WEBHOOK`, `DISABLED_MERGE_WEBHOOK`, `MERGE_WEBHOOK_TARGET_CHANGED`, `END_USER_CREDENTIALS_ACCESSED` + /// If included, will only include events with the given event type. Possible values include: `CREATED_REMOTE_PRODUCTION_API_KEY`, `DELETED_REMOTE_PRODUCTION_API_KEY`, `CREATED_TEST_API_KEY`, `DELETED_TEST_API_KEY`, `REGENERATED_PRODUCTION_API_KEY`, `INVITED_USER`, `TWO_FACTOR_AUTH_ENABLED`, `TWO_FACTOR_AUTH_DISABLED`, `DELETED_LINKED_ACCOUNT`, `DELETED_ALL_COMMON_MODELS_FOR_LINKED_ACCOUNT`, `CREATED_DESTINATION`, `DELETED_DESTINATION`, `CHANGED_DESTINATION`, `CHANGED_SCOPES`, `CHANGED_PERSONAL_INFORMATION`, `CHANGED_ORGANIZATION_SETTINGS`, `ENABLED_INTEGRATION`, `DISABLED_INTEGRATION`, `ENABLED_CATEGORY`, `DISABLED_CATEGORY`, `CHANGED_PASSWORD`, `RESET_PASSWORD`, `ENABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION`, `ENABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT`, `DISABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION`, `DISABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT`, `CREATED_INTEGRATION_WIDE_FIELD_MAPPING`, `CREATED_LINKED_ACCOUNT_FIELD_MAPPING`, `CHANGED_INTEGRATION_WIDE_FIELD_MAPPING`, `CHANGED_LINKED_ACCOUNT_FIELD_MAPPING`, `DELETED_INTEGRATION_WIDE_FIELD_MAPPING`, `DELETED_LINKED_ACCOUNT_FIELD_MAPPING`, `CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE`, `CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE`, `DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE`, `FORCED_LINKED_ACCOUNT_RESYNC`, `MUTED_ISSUE`, `GENERATED_MAGIC_LINK`, `ENABLED_MERGE_WEBHOOK`, `DISABLED_MERGE_WEBHOOK`, `MERGE_WEBHOOK_TARGET_CHANGED`, `END_USER_CREDENTIALS_ACCESSED` /// + [JsonIgnore] public string? EventType { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// If included, will only include audit trail events that occurred after this time /// + [JsonIgnore] public string? StartDate { get; set; } /// /// If provided, this will return events associated with the specified user email. Please note that the email address reflects the user's email at the time of the event, and may not be their current email. /// + [JsonIgnore] public string? UserEmail { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/AvailableActions/AvailableActionsClient.cs b/src/Merge.Client/Crm/AvailableActions/AvailableActionsClient.cs index f199e4fd..6703870f 100644 --- a/src/Merge.Client/Crm/AvailableActions/AvailableActionsClient.cs +++ b/src/Merge.Client/Crm/AvailableActions/AvailableActionsClient.cs @@ -17,19 +17,17 @@ internal AvailableActionsClient(RawClient client) /// /// Returns a list of models and actions available for an account. /// - /// - /// + /// /// await client.Crm.AvailableActions.RetrieveAsync(); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -39,23 +37,26 @@ public async System.Threading.Tasks.Task RetrieveAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Crm/Contacts/ContactsClient.cs b/src/Merge.Client/Crm/Contacts/ContactsClient.cs index edc1e47a..cfc23fdd 100644 --- a/src/Merge.Client/Crm/Contacts/ContactsClient.cs +++ b/src/Merge.Client/Crm/Contacts/ContactsClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using global::System.Threading.Tasks; using Merge.Client.Core; namespace Merge.Client.Crm; @@ -17,12 +18,10 @@ internal ContactsClient(RawClient client) /// /// Returns a list of `Contact` objects. /// - /// - /// + /// /// await client.Crm.Contacts.ListAsync(new ContactsListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( ContactsListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -98,8 +97,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["remote_id"] = request.RemoteId; } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -110,37 +109,38 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Creates a `Contact` object with the given values. /// - /// - /// + /// /// await client.Crm.Contacts.CreateAsync( /// new CrmContactEndpointRequest { Model = new Merge.Client.Crm.ContactRequest() } /// ); - /// - /// - public async System.Threading.Tasks.Task CreateAsync( + /// + public async Task CreateAsync( CrmContactEndpointRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -155,15 +155,14 @@ public async System.Threading.Tasks.Task CreateAsync( { _query["run_async"] = JsonUtils.Serialize(request.RunAsync.Value); } - var requestBody = new Dictionary() { { "model", request.Model } }; var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, Path = "crm/v1/contacts", - Body = requestBody, + Body = request, Query = _query, ContentType = "application/json", Options = options, @@ -171,35 +170,36 @@ public async System.Threading.Tasks.Task CreateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a `Contact` object with the given `id`. /// - /// - /// + /// /// await client.Crm.Contacts.RetrieveAsync("id", new ContactsRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, ContactsRetrieveRequest request, RequestOptions? options = null, @@ -221,51 +221,59 @@ public async System.Threading.Tasks.Task RetrieveAsync( request.IncludeRemoteFields.Value ); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"crm/v1/contacts/{id}", + Path = string.Format( + "crm/v1/contacts/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Updates a `Contact` object with the given `id`. /// - /// - /// + /// /// await client.Crm.Contacts.PartialUpdateAsync( /// "id", /// new PatchedCrmContactEndpointRequest { Model = new PatchedContactRequest() } /// ); - /// - /// - public async System.Threading.Tasks.Task PartialUpdateAsync( + /// + public async Task PartialUpdateAsync( string id, PatchedCrmContactEndpointRequest request, RequestOptions? options = null, @@ -281,15 +289,17 @@ public async System.Threading.Tasks.Task PartialUpdateAsync( { _query["run_async"] = JsonUtils.Serialize(request.RunAsync.Value); } - var requestBody = new Dictionary() { { "model", request.Model } }; var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethodExtensions.Patch, - Path = $"crm/v1/contacts/{id}", - Body = requestBody, + Path = string.Format( + "crm/v1/contacts/{0}", + ValueConvert.ToPathParameterString(id) + ), + Body = request, Query = _query, ContentType = "application/json", Options = options, @@ -297,38 +307,39 @@ public async System.Threading.Tasks.Task PartialUpdateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Ignores a specific row based on the `model_id` in the url. These records will have their properties set to null, and will not be updated in future syncs. The "reason" and "message" fields in the request body will be stored for audit purposes. /// - /// - /// + /// /// await client.Crm.Contacts.IgnoreCreateAsync( /// "model_id", /// new IgnoreCommonModelRequest { Reason = Merge.Client.Crm.ReasonEnum.GeneralCustomerRequest } /// ); - /// - /// - public async System.Threading.Tasks.Task IgnoreCreateAsync( + /// + public async global::System.Threading.Tasks.Task IgnoreCreateAsync( string modelId, IgnoreCommonModelRequest request, RequestOptions? options = null, @@ -336,12 +347,15 @@ public async System.Threading.Tasks.Task IgnoreCreateAsync( ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, - Path = $"crm/v1/contacts/ignore/{modelId}", + Path = string.Format( + "crm/v1/contacts/ignore/{0}", + ValueConvert.ToPathParameterString(modelId) + ), Body = request, ContentType = "application/json", Options = options, @@ -353,76 +367,80 @@ public async System.Threading.Tasks.Task IgnoreCreateAsync( { return; } - var responseBody = await response.Raw.Content.ReadAsStringAsync(); - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns metadata for `CRMContact` PATCHs. /// - /// - /// + /// /// await client.Crm.Contacts.MetaPatchRetrieveAsync("id"); - /// - /// - public async System.Threading.Tasks.Task MetaPatchRetrieveAsync( + /// + public async Task MetaPatchRetrieveAsync( string id, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"crm/v1/contacts/meta/patch/{id}", + Path = string.Format( + "crm/v1/contacts/meta/patch/{0}", + ValueConvert.ToPathParameterString(id) + ), Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns metadata for `CRMContact` POSTs. /// - /// - /// + /// /// await client.Crm.Contacts.MetaPostRetrieveAsync(); - /// - /// - public async System.Threading.Tasks.Task MetaPostRetrieveAsync( + /// + public async Task MetaPostRetrieveAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -432,35 +450,36 @@ public async System.Threading.Tasks.Task MetaPostRetrieveAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a list of `RemoteFieldClass` objects. /// - /// - /// + /// /// await client.Crm.Contacts.RemoteFieldClassesListAsync(new ContactsRemoteFieldClassesListRequest()); - /// - /// - public async System.Threading.Tasks.Task RemoteFieldClassesListAsync( + /// + public async Task RemoteFieldClassesListAsync( ContactsRemoteFieldClassesListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -498,8 +517,8 @@ public async System.Threading.Tasks.Task RemoteFi _query["page_size"] = request.PageSize.Value.ToString(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -510,23 +529,26 @@ public async System.Threading.Tasks.Task RemoteFi cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Crm/Contacts/Requests/ContactsListRequest.cs b/src/Merge.Client/Crm/Contacts/Requests/ContactsListRequest.cs index 6f5fe6dc..53c963d0 100644 --- a/src/Merge.Client/Crm/Contacts/Requests/ContactsListRequest.cs +++ b/src/Merge.Client/Crm/Contacts/Requests/ContactsListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; @@ -7,78 +8,94 @@ public record ContactsListRequest /// /// If provided, will only return contacts with this account. /// + [JsonIgnore] public string? AccountId { get; set; } /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// If provided, will only return contacts matching the email addresses; multiple email_addresses can be separated by commas. /// + [JsonIgnore] public string? EmailAddresses { get; set; } /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public ContactsListRequestExpand? Expand { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include all remote fields, including fields that Merge did not map to common models, in a normalized format. /// + [JsonIgnore] public bool? IncludeRemoteFields { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// If provided, will only return contacts matching the phone numbers; multiple phone numbers can be separated by commas. /// + [JsonIgnore] public string? PhoneNumbers { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Contacts/Requests/ContactsRemoteFieldClassesListRequest.cs b/src/Merge.Client/Crm/Contacts/Requests/ContactsRemoteFieldClassesListRequest.cs index b6df484e..786b28a0 100644 --- a/src/Merge.Client/Crm/Contacts/Requests/ContactsRemoteFieldClassesListRequest.cs +++ b/src/Merge.Client/Crm/Contacts/Requests/ContactsRemoteFieldClassesListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; @@ -7,38 +8,46 @@ public record ContactsRemoteFieldClassesListRequest /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include all remote fields, including fields that Merge did not map to common models, in a normalized format. /// + [JsonIgnore] public bool? IncludeRemoteFields { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, will only return remote field classes with this is_common_model_field value /// + [JsonIgnore] public bool? IsCommonModelField { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Contacts/Requests/ContactsRetrieveRequest.cs b/src/Merge.Client/Crm/Contacts/Requests/ContactsRetrieveRequest.cs index 639c56e4..5ee94881 100644 --- a/src/Merge.Client/Crm/Contacts/Requests/ContactsRetrieveRequest.cs +++ b/src/Merge.Client/Crm/Contacts/Requests/ContactsRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; @@ -7,18 +8,28 @@ public record ContactsRetrieveRequest /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public ContactsRetrieveRequestExpand? Expand { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include all remote fields, including fields that Merge did not map to common models, in a normalized format. /// + [JsonIgnore] public bool? IncludeRemoteFields { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Contacts/Requests/CrmContactEndpointRequest.cs b/src/Merge.Client/Crm/Contacts/Requests/CrmContactEndpointRequest.cs index a363f4cc..db6796b9 100644 --- a/src/Merge.Client/Crm/Contacts/Requests/CrmContactEndpointRequest.cs +++ b/src/Merge.Client/Crm/Contacts/Requests/CrmContactEndpointRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; @@ -7,15 +8,19 @@ public record CrmContactEndpointRequest /// /// Whether to include debug fields (such as log file links) in the response. /// + [JsonIgnore] public bool? IsDebugMode { get; set; } /// /// Whether or not third-party updates should be run asynchronously. /// + [JsonIgnore] public bool? RunAsync { get; set; } + [JsonPropertyName("model")] public required ContactRequest Model { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Contacts/Requests/PatchedCrmContactEndpointRequest.cs b/src/Merge.Client/Crm/Contacts/Requests/PatchedCrmContactEndpointRequest.cs index 5466c30b..1d32a50a 100644 --- a/src/Merge.Client/Crm/Contacts/Requests/PatchedCrmContactEndpointRequest.cs +++ b/src/Merge.Client/Crm/Contacts/Requests/PatchedCrmContactEndpointRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; @@ -7,15 +8,19 @@ public record PatchedCrmContactEndpointRequest /// /// Whether to include debug fields (such as log file links) in the response. /// + [JsonIgnore] public bool? IsDebugMode { get; set; } /// /// Whether or not third-party updates should be run asynchronously. /// + [JsonIgnore] public bool? RunAsync { get; set; } + [JsonPropertyName("model")] public required PatchedContactRequest Model { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/CustomObjectClasses/CustomObjectClassesClient.cs b/src/Merge.Client/Crm/CustomObjectClasses/CustomObjectClassesClient.cs index 3696314d..1f6053ef 100644 --- a/src/Merge.Client/Crm/CustomObjectClasses/CustomObjectClassesClient.cs +++ b/src/Merge.Client/Crm/CustomObjectClasses/CustomObjectClassesClient.cs @@ -17,12 +17,10 @@ internal CustomObjectClassesClient(RawClient client) /// /// Returns a list of `CustomObjectClass` objects. /// - /// - /// + /// /// await client.Crm.CustomObjectClasses.ListAsync(new CustomObjectClassesListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( CustomObjectClassesListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -80,8 +78,8 @@ public async System.Threading.Tasks.Task ListAsy _query["remote_id"] = request.RemoteId; } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -92,35 +90,36 @@ public async System.Threading.Tasks.Task ListAsy cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a `CustomObjectClass` object with the given `id`. /// - /// - /// + /// /// await client.Crm.CustomObjectClasses.RetrieveAsync("id", new CustomObjectClassesRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, CustomObjectClassesRetrieveRequest request, RequestOptions? options = null, @@ -136,36 +135,46 @@ public async System.Threading.Tasks.Task RetrieveAsync( { _query["include_remote_data"] = JsonUtils.Serialize(request.IncludeRemoteData.Value); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"crm/v1/custom-object-classes/{id}", + Path = string.Format( + "crm/v1/custom-object-classes/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Crm/CustomObjectClasses/Requests/CustomObjectClassesListRequest.cs b/src/Merge.Client/Crm/CustomObjectClasses/Requests/CustomObjectClassesListRequest.cs index 04b1acee..22a38dc3 100644 --- a/src/Merge.Client/Crm/CustomObjectClasses/Requests/CustomObjectClassesListRequest.cs +++ b/src/Merge.Client/Crm/CustomObjectClasses/Requests/CustomObjectClassesListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; @@ -7,58 +8,70 @@ public record CustomObjectClassesListRequest /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public string? Expand { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/CustomObjectClasses/Requests/CustomObjectClassesRetrieveRequest.cs b/src/Merge.Client/Crm/CustomObjectClasses/Requests/CustomObjectClassesRetrieveRequest.cs index 41242efd..3a7f73c5 100644 --- a/src/Merge.Client/Crm/CustomObjectClasses/Requests/CustomObjectClassesRetrieveRequest.cs +++ b/src/Merge.Client/Crm/CustomObjectClasses/Requests/CustomObjectClassesRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; @@ -7,13 +8,22 @@ public record CustomObjectClassesRetrieveRequest /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public string? Expand { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/CustomObjects/CustomObjectsClient.cs b/src/Merge.Client/Crm/CustomObjects/CustomObjectsClient.cs index 27c9564b..f7826275 100644 --- a/src/Merge.Client/Crm/CustomObjects/CustomObjectsClient.cs +++ b/src/Merge.Client/Crm/CustomObjects/CustomObjectsClient.cs @@ -17,15 +17,13 @@ internal CustomObjectsClient(RawClient client) /// /// Returns a list of `CustomObject` objects. /// - /// - /// + /// /// await client.Crm.CustomObjects.CustomObjectClassesCustomObjectsListAsync( /// "custom_object_class_id", /// new CustomObjectClassesCustomObjectsListRequest() /// ); - /// - /// - public async System.Threading.Tasks.Task CustomObjectClassesCustomObjectsListAsync( + /// + public async Task CustomObjectClassesCustomObjectsListAsync( string customObjectClassId, CustomObjectClassesCustomObjectsListRequest request, RequestOptions? options = null, @@ -86,43 +84,48 @@ public async System.Threading.Tasks.Task CustomObject _query["remote_id"] = request.RemoteId; } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"crm/v1/custom-object-classes/{customObjectClassId}/custom-objects", + Path = string.Format( + "crm/v1/custom-object-classes/{0}/custom-objects", + ValueConvert.ToPathParameterString(customObjectClassId) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Creates a `CustomObject` object with the given values. /// - /// - /// + /// /// await client.Crm.CustomObjects.CustomObjectClassesCustomObjectsCreateAsync( /// "custom_object_class_id", /// new CrmCustomObjectEndpointRequest @@ -133,9 +136,8 @@ public async System.Threading.Tasks.Task CustomObject /// }, /// } /// ); - /// - /// - public async System.Threading.Tasks.Task CustomObjectClassesCustomObjectsCreateAsync( + /// + public async Task CustomObjectClassesCustomObjectsCreateAsync( string customObjectClassId, CrmCustomObjectEndpointRequest request, RequestOptions? options = null, @@ -151,15 +153,17 @@ public async System.Threading.Tasks.Task CustomObjectCl { _query["run_async"] = JsonUtils.Serialize(request.RunAsync.Value); } - var requestBody = new Dictionary() { { "model", request.Model } }; var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, - Path = $"crm/v1/custom-object-classes/{customObjectClassId}/custom-objects", - Body = requestBody, + Path = string.Format( + "crm/v1/custom-object-classes/{0}/custom-objects", + ValueConvert.ToPathParameterString(customObjectClassId) + ), + Body = request, Query = _query, ContentType = "application/json", Options = options, @@ -167,39 +171,40 @@ public async System.Threading.Tasks.Task CustomObjectCl cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a `CustomObject` object with the given `id`. /// - /// - /// + /// /// await client.Crm.CustomObjects.CustomObjectClassesCustomObjectsRetrieveAsync( /// "custom_object_class_id", /// "id", /// new CustomObjectClassesCustomObjectsRetrieveRequest() /// ); - /// - /// - public async System.Threading.Tasks.Task CustomObjectClassesCustomObjectsRetrieveAsync( + /// + public async Task CustomObjectClassesCustomObjectsRetrieveAsync( string customObjectClassId, string id, CustomObjectClassesCustomObjectsRetrieveRequest request, @@ -218,100 +223,111 @@ public async System.Threading.Tasks.Task CustomObjectClassesCustom request.IncludeRemoteFields.Value ); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = - $"crm/v1/custom-object-classes/{customObjectClassId}/custom-objects/{id}", + Path = string.Format( + "crm/v1/custom-object-classes/{0}/custom-objects/{1}", + ValueConvert.ToPathParameterString(customObjectClassId), + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns metadata for `CRMCustomObject` POSTs. /// - /// - /// + /// /// await client.Crm.CustomObjects.CustomObjectClassesCustomObjectsMetaPostRetrieveAsync( /// "custom_object_class_id" /// ); - /// - /// - public async System.Threading.Tasks.Task CustomObjectClassesCustomObjectsMetaPostRetrieveAsync( + /// + public async Task CustomObjectClassesCustomObjectsMetaPostRetrieveAsync( string customObjectClassId, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = - $"crm/v1/custom-object-classes/{customObjectClassId}/custom-objects/meta/post", + Path = string.Format( + "crm/v1/custom-object-classes/{0}/custom-objects/meta/post", + ValueConvert.ToPathParameterString(customObjectClassId) + ), Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a list of `RemoteFieldClass` objects. /// - /// - /// + /// /// await client.Crm.CustomObjects.CustomObjectClassesCustomObjectsRemoteFieldClassesListAsync( /// new CustomObjectClassesCustomObjectsRemoteFieldClassesListRequest() /// ); - /// - /// - public async System.Threading.Tasks.Task CustomObjectClassesCustomObjectsRemoteFieldClassesListAsync( + /// + public async Task CustomObjectClassesCustomObjectsRemoteFieldClassesListAsync( CustomObjectClassesCustomObjectsRemoteFieldClassesListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -349,8 +365,8 @@ public async System.Threading.Tasks.Task CustomOb _query["page_size"] = request.PageSize.Value.ToString(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -361,23 +377,26 @@ public async System.Threading.Tasks.Task CustomOb cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Crm/CustomObjects/Requests/CrmCustomObjectEndpointRequest.cs b/src/Merge.Client/Crm/CustomObjects/Requests/CrmCustomObjectEndpointRequest.cs index 0a975062..8ba5029e 100644 --- a/src/Merge.Client/Crm/CustomObjects/Requests/CrmCustomObjectEndpointRequest.cs +++ b/src/Merge.Client/Crm/CustomObjects/Requests/CrmCustomObjectEndpointRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; @@ -7,15 +8,19 @@ public record CrmCustomObjectEndpointRequest /// /// Whether to include debug fields (such as log file links) in the response. /// + [JsonIgnore] public bool? IsDebugMode { get; set; } /// /// Whether or not third-party updates should be run asynchronously. /// + [JsonIgnore] public bool? RunAsync { get; set; } + [JsonPropertyName("model")] public required CustomObjectRequest Model { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/CustomObjects/Requests/CustomObjectClassesCustomObjectsListRequest.cs b/src/Merge.Client/Crm/CustomObjects/Requests/CustomObjectClassesCustomObjectsListRequest.cs index 17d68e4f..6d8e1353 100644 --- a/src/Merge.Client/Crm/CustomObjects/Requests/CustomObjectClassesCustomObjectsListRequest.cs +++ b/src/Merge.Client/Crm/CustomObjects/Requests/CustomObjectClassesCustomObjectsListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; @@ -7,58 +8,70 @@ public record CustomObjectClassesCustomObjectsListRequest /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include all remote fields, including fields that Merge did not map to common models, in a normalized format. /// + [JsonIgnore] public bool? IncludeRemoteFields { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/CustomObjects/Requests/CustomObjectClassesCustomObjectsRemoteFieldClassesListRequest.cs b/src/Merge.Client/Crm/CustomObjects/Requests/CustomObjectClassesCustomObjectsRemoteFieldClassesListRequest.cs index 6af5f3c4..44adfe25 100644 --- a/src/Merge.Client/Crm/CustomObjects/Requests/CustomObjectClassesCustomObjectsRemoteFieldClassesListRequest.cs +++ b/src/Merge.Client/Crm/CustomObjects/Requests/CustomObjectClassesCustomObjectsRemoteFieldClassesListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; @@ -7,38 +8,46 @@ public record CustomObjectClassesCustomObjectsRemoteFieldClassesListRequest /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include all remote fields, including fields that Merge did not map to common models, in a normalized format. /// + [JsonIgnore] public bool? IncludeRemoteFields { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, will only return remote field classes with this is_common_model_field value /// + [JsonIgnore] public bool? IsCommonModelField { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/CustomObjects/Requests/CustomObjectClassesCustomObjectsRetrieveRequest.cs b/src/Merge.Client/Crm/CustomObjects/Requests/CustomObjectClassesCustomObjectsRetrieveRequest.cs index 442adea5..d2cbf009 100644 --- a/src/Merge.Client/Crm/CustomObjects/Requests/CustomObjectClassesCustomObjectsRetrieveRequest.cs +++ b/src/Merge.Client/Crm/CustomObjects/Requests/CustomObjectClassesCustomObjectsRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; @@ -7,13 +8,22 @@ public record CustomObjectClassesCustomObjectsRetrieveRequest /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include all remote fields, including fields that Merge did not map to common models, in a normalized format. /// + [JsonIgnore] public bool? IncludeRemoteFields { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/DeleteAccount/DeleteAccountClient.cs b/src/Merge.Client/Crm/DeleteAccount/DeleteAccountClient.cs index 726538c8..f3de87e2 100644 --- a/src/Merge.Client/Crm/DeleteAccount/DeleteAccountClient.cs +++ b/src/Merge.Client/Crm/DeleteAccount/DeleteAccountClient.cs @@ -1,5 +1,6 @@ using System.Net.Http; using System.Threading; +using global::System.Threading.Tasks; using Merge.Client.Core; namespace Merge.Client.Crm; @@ -16,19 +17,17 @@ internal DeleteAccountClient(RawClient client) /// /// Delete a linked account. /// - /// - /// + /// /// await client.Crm.DeleteAccount.DeleteAsync(); - /// - /// - public async System.Threading.Tasks.Task DeleteAsync( + /// + public async global::System.Threading.Tasks.Task DeleteAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, @@ -42,11 +41,13 @@ public async System.Threading.Tasks.Task DeleteAsync( { return; } - var responseBody = await response.Raw.Content.ReadAsStringAsync(); - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Crm/EngagementTypes/EngagementTypesClient.cs b/src/Merge.Client/Crm/EngagementTypes/EngagementTypesClient.cs index c854577d..6e92cbb8 100644 --- a/src/Merge.Client/Crm/EngagementTypes/EngagementTypesClient.cs +++ b/src/Merge.Client/Crm/EngagementTypes/EngagementTypesClient.cs @@ -17,12 +17,10 @@ internal EngagementTypesClient(RawClient client) /// /// Returns a list of `EngagementType` objects. /// - /// - /// + /// /// await client.Crm.EngagementTypes.ListAsync(new EngagementTypesListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( EngagementTypesListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -82,8 +80,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["remote_id"] = request.RemoteId; } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -94,35 +92,36 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns an `EngagementType` object with the given `id`. /// - /// - /// + /// /// await client.Crm.EngagementTypes.RetrieveAsync("id", new EngagementTypesRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, EngagementTypesRetrieveRequest request, RequestOptions? options = null, @@ -140,50 +139,58 @@ public async System.Threading.Tasks.Task RetrieveAsync( request.IncludeRemoteFields.Value ); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"crm/v1/engagement-types/{id}", + Path = string.Format( + "crm/v1/engagement-types/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a list of `RemoteFieldClass` objects. /// - /// - /// + /// /// await client.Crm.EngagementTypes.RemoteFieldClassesListAsync( /// new EngagementTypesRemoteFieldClassesListRequest() /// ); - /// - /// - public async System.Threading.Tasks.Task RemoteFieldClassesListAsync( + /// + public async Task RemoteFieldClassesListAsync( EngagementTypesRemoteFieldClassesListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -221,8 +228,8 @@ public async System.Threading.Tasks.Task RemoteFi _query["page_size"] = request.PageSize.Value.ToString(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -233,23 +240,26 @@ public async System.Threading.Tasks.Task RemoteFi cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Crm/EngagementTypes/Requests/EngagementTypesListRequest.cs b/src/Merge.Client/Crm/EngagementTypes/Requests/EngagementTypesListRequest.cs index 6c751517..63390485 100644 --- a/src/Merge.Client/Crm/EngagementTypes/Requests/EngagementTypesListRequest.cs +++ b/src/Merge.Client/Crm/EngagementTypes/Requests/EngagementTypesListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; @@ -7,58 +8,70 @@ public record EngagementTypesListRequest /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include all remote fields, including fields that Merge did not map to common models, in a normalized format. /// + [JsonIgnore] public bool? IncludeRemoteFields { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/EngagementTypes/Requests/EngagementTypesRemoteFieldClassesListRequest.cs b/src/Merge.Client/Crm/EngagementTypes/Requests/EngagementTypesRemoteFieldClassesListRequest.cs index 06d55b45..8949c11f 100644 --- a/src/Merge.Client/Crm/EngagementTypes/Requests/EngagementTypesRemoteFieldClassesListRequest.cs +++ b/src/Merge.Client/Crm/EngagementTypes/Requests/EngagementTypesRemoteFieldClassesListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; @@ -7,38 +8,46 @@ public record EngagementTypesRemoteFieldClassesListRequest /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include all remote fields, including fields that Merge did not map to common models, in a normalized format. /// + [JsonIgnore] public bool? IncludeRemoteFields { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, will only return remote field classes with this is_common_model_field value /// + [JsonIgnore] public bool? IsCommonModelField { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/EngagementTypes/Requests/EngagementTypesRetrieveRequest.cs b/src/Merge.Client/Crm/EngagementTypes/Requests/EngagementTypesRetrieveRequest.cs index 1e81c0f1..b8649ce2 100644 --- a/src/Merge.Client/Crm/EngagementTypes/Requests/EngagementTypesRetrieveRequest.cs +++ b/src/Merge.Client/Crm/EngagementTypes/Requests/EngagementTypesRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; @@ -7,13 +8,22 @@ public record EngagementTypesRetrieveRequest /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include all remote fields, including fields that Merge did not map to common models, in a normalized format. /// + [JsonIgnore] public bool? IncludeRemoteFields { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Engagements/EngagementsClient.cs b/src/Merge.Client/Crm/Engagements/EngagementsClient.cs index 8fdde7cf..d14833f7 100644 --- a/src/Merge.Client/Crm/Engagements/EngagementsClient.cs +++ b/src/Merge.Client/Crm/Engagements/EngagementsClient.cs @@ -17,12 +17,10 @@ internal EngagementsClient(RawClient client) /// /// Returns a list of `Engagement` objects. /// - /// - /// + /// /// await client.Crm.Engagements.ListAsync(new EngagementsListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( EngagementsListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -96,8 +94,8 @@ public async System.Threading.Tasks.Task ListAsync( ); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -108,37 +106,38 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Creates an `Engagement` object with the given values. /// - /// - /// + /// /// await client.Crm.Engagements.CreateAsync( /// new EngagementEndpointRequest { Model = new EngagementRequest() } /// ); - /// - /// - public async System.Threading.Tasks.Task CreateAsync( + /// + public async Task CreateAsync( EngagementEndpointRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -153,15 +152,14 @@ public async System.Threading.Tasks.Task CreateAsync( { _query["run_async"] = JsonUtils.Serialize(request.RunAsync.Value); } - var requestBody = new Dictionary() { { "model", request.Model } }; var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, Path = "crm/v1/engagements", - Body = requestBody, + Body = request, Query = _query, ContentType = "application/json", Options = options, @@ -169,35 +167,36 @@ public async System.Threading.Tasks.Task CreateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns an `Engagement` object with the given `id`. /// - /// - /// + /// /// await client.Crm.Engagements.RetrieveAsync("id", new EngagementsRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, EngagementsRetrieveRequest request, RequestOptions? options = null, @@ -219,51 +218,59 @@ public async System.Threading.Tasks.Task RetrieveAsync( request.IncludeRemoteFields.Value ); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"crm/v1/engagements/{id}", + Path = string.Format( + "crm/v1/engagements/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Updates an `Engagement` object with the given `id`. /// - /// - /// + /// /// await client.Crm.Engagements.PartialUpdateAsync( /// "id", /// new PatchedEngagementEndpointRequest { Model = new PatchedEngagementRequest() } /// ); - /// - /// - public async System.Threading.Tasks.Task PartialUpdateAsync( + /// + public async Task PartialUpdateAsync( string id, PatchedEngagementEndpointRequest request, RequestOptions? options = null, @@ -279,15 +286,17 @@ public async System.Threading.Tasks.Task PartialUpdateAsync( { _query["run_async"] = JsonUtils.Serialize(request.RunAsync.Value); } - var requestBody = new Dictionary() { { "model", request.Model } }; var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethodExtensions.Patch, - Path = $"crm/v1/engagements/{id}", - Body = requestBody, + Path = string.Format( + "crm/v1/engagements/{0}", + ValueConvert.ToPathParameterString(id) + ), + Body = request, Query = _query, ContentType = "application/json", Options = options, @@ -295,88 +304,93 @@ public async System.Threading.Tasks.Task PartialUpdateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns metadata for `Engagement` PATCHs. /// - /// - /// + /// /// await client.Crm.Engagements.MetaPatchRetrieveAsync("id"); - /// - /// - public async System.Threading.Tasks.Task MetaPatchRetrieveAsync( + /// + public async Task MetaPatchRetrieveAsync( string id, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"crm/v1/engagements/meta/patch/{id}", + Path = string.Format( + "crm/v1/engagements/meta/patch/{0}", + ValueConvert.ToPathParameterString(id) + ), Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns metadata for `Engagement` POSTs. /// - /// - /// + /// /// await client.Crm.Engagements.MetaPostRetrieveAsync(); - /// - /// - public async System.Threading.Tasks.Task MetaPostRetrieveAsync( + /// + public async Task MetaPostRetrieveAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -386,37 +400,38 @@ public async System.Threading.Tasks.Task MetaPostRetrieveAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a list of `RemoteFieldClass` objects. /// - /// - /// + /// /// await client.Crm.Engagements.RemoteFieldClassesListAsync( /// new EngagementsRemoteFieldClassesListRequest() /// ); - /// - /// - public async System.Threading.Tasks.Task RemoteFieldClassesListAsync( + /// + public async Task RemoteFieldClassesListAsync( EngagementsRemoteFieldClassesListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -454,8 +469,8 @@ public async System.Threading.Tasks.Task RemoteFi _query["page_size"] = request.PageSize.Value.ToString(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -466,23 +481,26 @@ public async System.Threading.Tasks.Task RemoteFi cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Crm/Engagements/Requests/EngagementEndpointRequest.cs b/src/Merge.Client/Crm/Engagements/Requests/EngagementEndpointRequest.cs index c40dbf9f..b591baa6 100644 --- a/src/Merge.Client/Crm/Engagements/Requests/EngagementEndpointRequest.cs +++ b/src/Merge.Client/Crm/Engagements/Requests/EngagementEndpointRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; @@ -7,15 +8,19 @@ public record EngagementEndpointRequest /// /// Whether to include debug fields (such as log file links) in the response. /// + [JsonIgnore] public bool? IsDebugMode { get; set; } /// /// Whether or not third-party updates should be run asynchronously. /// + [JsonIgnore] public bool? RunAsync { get; set; } + [JsonPropertyName("model")] public required EngagementRequest Model { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Engagements/Requests/EngagementsListRequest.cs b/src/Merge.Client/Crm/Engagements/Requests/EngagementsListRequest.cs index 9216507f..f408902d 100644 --- a/src/Merge.Client/Crm/Engagements/Requests/EngagementsListRequest.cs +++ b/src/Merge.Client/Crm/Engagements/Requests/EngagementsListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; @@ -7,73 +8,88 @@ public record EngagementsListRequest /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public EngagementsListRequestExpand? Expand { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include all remote fields, including fields that Merge did not map to common models, in a normalized format. /// + [JsonIgnore] public bool? IncludeRemoteFields { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } /// /// If provided, will only return engagements started after this datetime. /// + [JsonIgnore] public DateTime? StartedAfter { get; set; } /// /// If provided, will only return engagements started before this datetime. /// + [JsonIgnore] public DateTime? StartedBefore { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Engagements/Requests/EngagementsRemoteFieldClassesListRequest.cs b/src/Merge.Client/Crm/Engagements/Requests/EngagementsRemoteFieldClassesListRequest.cs index 1e7ab3c9..989fa9c5 100644 --- a/src/Merge.Client/Crm/Engagements/Requests/EngagementsRemoteFieldClassesListRequest.cs +++ b/src/Merge.Client/Crm/Engagements/Requests/EngagementsRemoteFieldClassesListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; @@ -7,38 +8,46 @@ public record EngagementsRemoteFieldClassesListRequest /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include all remote fields, including fields that Merge did not map to common models, in a normalized format. /// + [JsonIgnore] public bool? IncludeRemoteFields { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, will only return remote field classes with this is_common_model_field value /// + [JsonIgnore] public bool? IsCommonModelField { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Engagements/Requests/EngagementsRetrieveRequest.cs b/src/Merge.Client/Crm/Engagements/Requests/EngagementsRetrieveRequest.cs index 48b8351a..38604ec5 100644 --- a/src/Merge.Client/Crm/Engagements/Requests/EngagementsRetrieveRequest.cs +++ b/src/Merge.Client/Crm/Engagements/Requests/EngagementsRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; @@ -7,18 +8,28 @@ public record EngagementsRetrieveRequest /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public EngagementsRetrieveRequestExpand? Expand { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include all remote fields, including fields that Merge did not map to common models, in a normalized format. /// + [JsonIgnore] public bool? IncludeRemoteFields { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Engagements/Requests/PatchedEngagementEndpointRequest.cs b/src/Merge.Client/Crm/Engagements/Requests/PatchedEngagementEndpointRequest.cs index b2eaa31d..404600c2 100644 --- a/src/Merge.Client/Crm/Engagements/Requests/PatchedEngagementEndpointRequest.cs +++ b/src/Merge.Client/Crm/Engagements/Requests/PatchedEngagementEndpointRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; @@ -7,15 +8,19 @@ public record PatchedEngagementEndpointRequest /// /// Whether to include debug fields (such as log file links) in the response. /// + [JsonIgnore] public bool? IsDebugMode { get; set; } /// /// Whether or not third-party updates should be run asynchronously. /// + [JsonIgnore] public bool? RunAsync { get; set; } + [JsonPropertyName("model")] public required PatchedEngagementRequest Model { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/FieldMapping/FieldMappingClient.cs b/src/Merge.Client/Crm/FieldMapping/FieldMappingClient.cs index d08f97cf..cd54c38b 100644 --- a/src/Merge.Client/Crm/FieldMapping/FieldMappingClient.cs +++ b/src/Merge.Client/Crm/FieldMapping/FieldMappingClient.cs @@ -17,12 +17,10 @@ internal FieldMappingClient(RawClient client) /// /// Get all Field Mappings for this Linked Account. Field Mappings are mappings between third-party Remote Fields and user defined Merge fields. [Learn more](https://docs.merge.dev/supplemental-data/field-mappings/overview/). /// - /// - /// + /// /// await client.Crm.FieldMapping.FieldMappingsRetrieveAsync(new FieldMappingsRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task FieldMappingsRetrieveAsync( + /// + public async Task FieldMappingsRetrieveAsync( FieldMappingsRetrieveRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -36,8 +34,8 @@ public async System.Threading.Tasks.Task FieldM ); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -48,31 +46,33 @@ public async System.Threading.Tasks.Task FieldM cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Create new Field Mappings that will be available after the next scheduled sync. This will cause the next sync for this Linked Account to sync **ALL** data from start. /// - /// - /// + /// /// await client.Crm.FieldMapping.FieldMappingsCreateAsync( /// new CreateFieldMappingRequest /// { @@ -84,9 +84,8 @@ public async System.Threading.Tasks.Task FieldM /// CommonModelName = "ExampleCommonModel", /// } /// ); - /// - /// - public async System.Threading.Tasks.Task FieldMappingsCreateAsync( + /// + public async Task FieldMappingsCreateAsync( CreateFieldMappingRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -99,23 +98,14 @@ public async System.Threading.Tasks.Task FieldMapp request.ExcludeRemoteFieldMetadata.Value ); } - var requestBody = new Dictionary() - { - { "target_field_name", request.TargetFieldName }, - { "target_field_description", request.TargetFieldDescription }, - { "remote_field_traversal_path", request.RemoteFieldTraversalPath }, - { "remote_method", request.RemoteMethod }, - { "remote_url_path", request.RemoteUrlPath }, - { "common_model_name", request.CommonModelName }, - }; var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, Path = "crm/v1/field-mappings", - Body = requestBody, + Body = request, Query = _query, ContentType = "application/json", Options = options, @@ -123,84 +113,89 @@ public async System.Threading.Tasks.Task FieldMapp cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Deletes Field Mappings for a Linked Account. All data related to this Field Mapping will be deleted and these changes will be reflected after the next scheduled sync. This will cause the next sync for this Linked Account to sync **ALL** data from start. /// - /// - /// + /// /// await client.Crm.FieldMapping.FieldMappingsDestroyAsync("field_mapping_id"); - /// - /// - public async System.Threading.Tasks.Task FieldMappingsDestroyAsync( + /// + public async Task FieldMappingsDestroyAsync( string fieldMappingId, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Delete, - Path = $"crm/v1/field-mappings/{fieldMappingId}", + Path = string.Format( + "crm/v1/field-mappings/{0}", + ValueConvert.ToPathParameterString(fieldMappingId) + ), Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Create or update existing Field Mappings for a Linked Account. Changes will be reflected after the next scheduled sync. This will cause the next sync for this Linked Account to sync **ALL** data from start. /// - /// - /// + /// /// await client.Crm.FieldMapping.FieldMappingsPartialUpdateAsync( /// "field_mapping_id", /// new PatchedEditFieldMappingRequest() /// ); - /// - /// - public async System.Threading.Tasks.Task FieldMappingsPartialUpdateAsync( + /// + public async Task FieldMappingsPartialUpdateAsync( string fieldMappingId, PatchedEditFieldMappingRequest request, RequestOptions? options = null, @@ -208,12 +203,15 @@ public async System.Threading.Tasks.Task FieldMapp ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethodExtensions.Patch, - Path = $"crm/v1/field-mappings/{fieldMappingId}", + Path = string.Format( + "crm/v1/field-mappings/{0}", + ValueConvert.ToPathParameterString(fieldMappingId) + ), Body = request, ContentType = "application/json", Options = options, @@ -221,35 +219,36 @@ public async System.Threading.Tasks.Task FieldMapp cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Get all remote fields for a Linked Account. Remote fields are third-party fields that are accessible after initial sync if remote_data is enabled. You can use remote fields to override existing Merge fields or map a new Merge field. [Learn more](https://docs.merge.dev/supplemental-data/field-mappings/overview/). /// - /// - /// + /// /// await client.Crm.FieldMapping.RemoteFieldsRetrieveAsync(new RemoteFieldsRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RemoteFieldsRetrieveAsync( + /// + public async Task RemoteFieldsRetrieveAsync( RemoteFieldsRetrieveRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -265,8 +264,8 @@ public async System.Threading.Tasks.Task RemoteFieldsRet _query["include_example_values"] = request.IncludeExampleValues; } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -277,42 +276,43 @@ public async System.Threading.Tasks.Task RemoteFieldsRet cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Get all organization-wide Target Fields, this will not include any Linked Account specific Target Fields. Organization-wide Target Fields are additional fields appended to the Merge Common Model for all Linked Accounts in a category. [Learn more](https://docs.merge.dev/supplemental-data/field-mappings/target-fields/). /// - /// - /// + /// /// await client.Crm.FieldMapping.TargetFieldsRetrieveAsync(); - /// - /// - public async System.Threading.Tasks.Task TargetFieldsRetrieveAsync( + /// + public async Task TargetFieldsRetrieveAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -322,23 +322,26 @@ public async System.Threading.Tasks.Task TargetF cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Crm/FieldMapping/Requests/CreateFieldMappingRequest.cs b/src/Merge.Client/Crm/FieldMapping/Requests/CreateFieldMappingRequest.cs index 09c0765c..85fdbd45 100644 --- a/src/Merge.Client/Crm/FieldMapping/Requests/CreateFieldMappingRequest.cs +++ b/src/Merge.Client/Crm/FieldMapping/Requests/CreateFieldMappingRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; @@ -7,38 +8,46 @@ public record CreateFieldMappingRequest /// /// If `true`, remote fields metadata is excluded from each field mapping instance (i.e. `remote_fields.remote_key_name` and `remote_fields.schema` will be null). This will increase the speed of the request since these fields require some calculations. /// + [JsonIgnore] public bool? ExcludeRemoteFieldMetadata { get; set; } /// /// The name of the target field you want this remote field to map to. /// + [JsonPropertyName("target_field_name")] public required string TargetFieldName { get; set; } /// /// The description of the target field you want this remote field to map to. /// + [JsonPropertyName("target_field_description")] public required string TargetFieldDescription { get; set; } /// /// The field traversal path of the remote field listed when you hit the GET /remote-fields endpoint. /// + [JsonPropertyName("remote_field_traversal_path")] public IEnumerable RemoteFieldTraversalPath { get; set; } = new List(); /// /// The method of the remote endpoint where the remote field is coming from. /// + [JsonPropertyName("remote_method")] public required string RemoteMethod { get; set; } /// /// The path of the remote endpoint where the remote field is coming from. /// + [JsonPropertyName("remote_url_path")] public required string RemoteUrlPath { get; set; } /// /// The name of the Common Model that the remote field corresponds to in a given category. /// + [JsonPropertyName("common_model_name")] public required string CommonModelName { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/FieldMapping/Requests/FieldMappingsRetrieveRequest.cs b/src/Merge.Client/Crm/FieldMapping/Requests/FieldMappingsRetrieveRequest.cs index c5702495..25d5b2d1 100644 --- a/src/Merge.Client/Crm/FieldMapping/Requests/FieldMappingsRetrieveRequest.cs +++ b/src/Merge.Client/Crm/FieldMapping/Requests/FieldMappingsRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; @@ -7,8 +8,10 @@ public record FieldMappingsRetrieveRequest /// /// If `true`, remote fields metadata is excluded from each field mapping instance (i.e. `remote_fields.remote_key_name` and `remote_fields.schema` will be null). This will increase the speed of the request since these fields require some calculations. /// + [JsonIgnore] public bool? ExcludeRemoteFieldMetadata { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/FieldMapping/Requests/PatchedEditFieldMappingRequest.cs b/src/Merge.Client/Crm/FieldMapping/Requests/PatchedEditFieldMappingRequest.cs index 47b3de09..b8937cca 100644 --- a/src/Merge.Client/Crm/FieldMapping/Requests/PatchedEditFieldMappingRequest.cs +++ b/src/Merge.Client/Crm/FieldMapping/Requests/PatchedEditFieldMappingRequest.cs @@ -23,6 +23,7 @@ public record PatchedEditFieldMappingRequest [JsonPropertyName("remote_url_path")] public string? RemoteUrlPath { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/FieldMapping/Requests/RemoteFieldsRetrieveRequest.cs b/src/Merge.Client/Crm/FieldMapping/Requests/RemoteFieldsRetrieveRequest.cs index c88aeb3a..09eea809 100644 --- a/src/Merge.Client/Crm/FieldMapping/Requests/RemoteFieldsRetrieveRequest.cs +++ b/src/Merge.Client/Crm/FieldMapping/Requests/RemoteFieldsRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; @@ -7,13 +8,16 @@ public record RemoteFieldsRetrieveRequest /// /// A comma seperated list of Common Model names. If included, will only return Remote Fields for those Common Models. /// + [JsonIgnore] public string? CommonModels { get; set; } /// /// If true, will include example values, where available, for remote fields in the 3rd party platform. These examples come from active data from your customers. /// + [JsonIgnore] public string? IncludeExampleValues { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/ForceResync/ForceResyncClient.cs b/src/Merge.Client/Crm/ForceResync/ForceResyncClient.cs index d6f4d0fb..29f10ec6 100644 --- a/src/Merge.Client/Crm/ForceResync/ForceResyncClient.cs +++ b/src/Merge.Client/Crm/ForceResync/ForceResyncClient.cs @@ -15,21 +15,19 @@ internal ForceResyncClient(RawClient client) } /// - /// Force re-sync of all models. This is available for all organizations via the dashboard. Force re-sync is also available programmatically via API for monthly, quarterly, and highest sync frequency customers on the Professional or Enterprise plans. Doing so will consume a sync credit for the relevant linked account. + /// Force re-sync of all models. This endpoint is available for monthly, quarterly, and highest sync frequency customers on the Professional or Enterprise plans. Doing so will consume a sync credit for the relevant linked account. Force re-syncs can also be triggered manually in the Merge Dashboard and is available for all customers. /// - /// - /// + /// /// await client.Crm.ForceResync.SyncStatusResyncCreateAsync(); - /// - /// - public async System.Threading.Tasks.Task> SyncStatusResyncCreateAsync( + /// + public async Task> SyncStatusResyncCreateAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, @@ -39,23 +37,26 @@ public async System.Threading.Tasks.Task> SyncStatusResy cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize>(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Crm/GenerateKey/GenerateKeyClient.cs b/src/Merge.Client/Crm/GenerateKey/GenerateKeyClient.cs index a87973e9..0fb3268c 100644 --- a/src/Merge.Client/Crm/GenerateKey/GenerateKeyClient.cs +++ b/src/Merge.Client/Crm/GenerateKey/GenerateKeyClient.cs @@ -17,22 +17,20 @@ internal GenerateKeyClient(RawClient client) /// /// Create a remote key. /// - /// - /// + /// /// await client.Crm.GenerateKey.CreateAsync( /// new GenerateRemoteKeyRequest { Name = "Remote Deployment Key 1" } /// ); - /// - /// - public async System.Threading.Tasks.Task CreateAsync( + /// + public async Task CreateAsync( GenerateRemoteKeyRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, @@ -44,23 +42,26 @@ public async System.Threading.Tasks.Task CreateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Crm/GenerateKey/Requests/GenerateRemoteKeyRequest.cs b/src/Merge.Client/Crm/GenerateKey/Requests/GenerateRemoteKeyRequest.cs index 6778a3d9..0e9162aa 100644 --- a/src/Merge.Client/Crm/GenerateKey/Requests/GenerateRemoteKeyRequest.cs +++ b/src/Merge.Client/Crm/GenerateKey/Requests/GenerateRemoteKeyRequest.cs @@ -11,6 +11,7 @@ public record GenerateRemoteKeyRequest [JsonPropertyName("name")] public required string Name { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Issues/IssuesClient.cs b/src/Merge.Client/Crm/Issues/IssuesClient.cs index cb685932..51a56108 100644 --- a/src/Merge.Client/Crm/Issues/IssuesClient.cs +++ b/src/Merge.Client/Crm/Issues/IssuesClient.cs @@ -17,12 +17,10 @@ internal IssuesClient(RawClient client) /// /// Gets all issues for Organization. /// - /// - /// + /// /// await client.Crm.Issues.ListAsync(new IssuesListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( IssuesListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -94,8 +92,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["status"] = request.Status.Value.Stringify(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -106,69 +104,76 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Get a specific issue. /// - /// - /// + /// /// await client.Crm.Issues.RetrieveAsync("id"); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"crm/v1/issues/{id}", + Path = string.Format( + "crm/v1/issues/{0}", + ValueConvert.ToPathParameterString(id) + ), Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Crm/Issues/Requests/IssuesListRequest.cs b/src/Merge.Client/Crm/Issues/Requests/IssuesListRequest.cs index b97cccda..c4d5da3f 100644 --- a/src/Merge.Client/Crm/Issues/Requests/IssuesListRequest.cs +++ b/src/Merge.Client/Crm/Issues/Requests/IssuesListRequest.cs @@ -1,73 +1,89 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; public record IssuesListRequest { + [JsonIgnore] public string? AccountToken { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// If included, will only include issues whose most recent action occurred before this time /// + [JsonIgnore] public string? EndDate { get; set; } + [JsonIgnore] public string? EndUserOrganizationName { get; set; } /// /// If provided, will only return issues whose first incident time was after this datetime. /// + [JsonIgnore] public DateTime? FirstIncidentTimeAfter { get; set; } /// /// If provided, will only return issues whose first incident time was before this datetime. /// + [JsonIgnore] public DateTime? FirstIncidentTimeBefore { get; set; } /// /// If true, will include muted issues /// + [JsonIgnore] public string? IncludeMuted { get; set; } + [JsonIgnore] public string? IntegrationName { get; set; } /// /// If provided, will only return issues whose last incident time was after this datetime. /// + [JsonIgnore] public DateTime? LastIncidentTimeAfter { get; set; } /// /// If provided, will only return issues whose last incident time was before this datetime. /// + [JsonIgnore] public DateTime? LastIncidentTimeBefore { get; set; } /// /// If provided, will only include issues pertaining to the linked account passed in. /// + [JsonIgnore] public string? LinkedAccountId { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// If included, will only include issues whose most recent action occurred after this time /// + [JsonIgnore] public string? StartDate { get; set; } /// /// Status of the issue. Options: ('ONGOING', 'RESOLVED') /// - /// - `ONGOING` - ONGOING - /// - `RESOLVED` - RESOLVED + /// * `ONGOING` - ONGOING + /// * `RESOLVED` - RESOLVED /// + [JsonIgnore] public IssuesListRequestStatus? Status { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Leads/LeadsClient.cs b/src/Merge.Client/Crm/Leads/LeadsClient.cs index 660c9f29..b4e690b1 100644 --- a/src/Merge.Client/Crm/Leads/LeadsClient.cs +++ b/src/Merge.Client/Crm/Leads/LeadsClient.cs @@ -17,12 +17,10 @@ internal LeadsClient(RawClient client) /// /// Returns a list of `Lead` objects. /// - /// - /// + /// /// await client.Crm.Leads.ListAsync(new LeadsListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( LeadsListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -106,8 +104,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["remote_id"] = request.RemoteId; } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -118,35 +116,36 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Creates a `Lead` object with the given values. /// - /// - /// + /// /// await client.Crm.Leads.CreateAsync(new LeadEndpointRequest { Model = new LeadRequest() }); - /// - /// - public async System.Threading.Tasks.Task CreateAsync( + /// + public async Task CreateAsync( LeadEndpointRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -161,15 +160,14 @@ public async System.Threading.Tasks.Task CreateAsync( { _query["run_async"] = JsonUtils.Serialize(request.RunAsync.Value); } - var requestBody = new Dictionary() { { "model", request.Model } }; var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, Path = "crm/v1/leads", - Body = requestBody, + Body = request, Query = _query, ContentType = "application/json", Options = options, @@ -177,35 +175,36 @@ public async System.Threading.Tasks.Task CreateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a `Lead` object with the given `id`. /// - /// - /// + /// /// await client.Crm.Leads.RetrieveAsync("id", new LeadsRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, LeadsRetrieveRequest request, RequestOptions? options = null, @@ -227,55 +226,63 @@ public async System.Threading.Tasks.Task RetrieveAsync( request.IncludeRemoteFields.Value ); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"crm/v1/leads/{id}", + Path = string.Format( + "crm/v1/leads/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns metadata for `Lead` POSTs. /// - /// - /// + /// /// await client.Crm.Leads.MetaPostRetrieveAsync(); - /// - /// - public async System.Threading.Tasks.Task MetaPostRetrieveAsync( + /// + public async Task MetaPostRetrieveAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -285,35 +292,36 @@ public async System.Threading.Tasks.Task MetaPostRetrieveAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a list of `RemoteFieldClass` objects. /// - /// - /// + /// /// await client.Crm.Leads.RemoteFieldClassesListAsync(new LeadsRemoteFieldClassesListRequest()); - /// - /// - public async System.Threading.Tasks.Task RemoteFieldClassesListAsync( + /// + public async Task RemoteFieldClassesListAsync( LeadsRemoteFieldClassesListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -351,8 +359,8 @@ public async System.Threading.Tasks.Task RemoteFi _query["page_size"] = request.PageSize.Value.ToString(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -363,23 +371,26 @@ public async System.Threading.Tasks.Task RemoteFi cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Crm/Leads/Requests/LeadEndpointRequest.cs b/src/Merge.Client/Crm/Leads/Requests/LeadEndpointRequest.cs index bfd980df..bb523ce1 100644 --- a/src/Merge.Client/Crm/Leads/Requests/LeadEndpointRequest.cs +++ b/src/Merge.Client/Crm/Leads/Requests/LeadEndpointRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; @@ -7,15 +8,19 @@ public record LeadEndpointRequest /// /// Whether to include debug fields (such as log file links) in the response. /// + [JsonIgnore] public bool? IsDebugMode { get; set; } /// /// Whether or not third-party updates should be run asynchronously. /// + [JsonIgnore] public bool? RunAsync { get; set; } + [JsonPropertyName("model")] public required LeadRequest Model { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Leads/Requests/LeadsListRequest.cs b/src/Merge.Client/Crm/Leads/Requests/LeadsListRequest.cs index 6a035c77..bb20be6b 100644 --- a/src/Merge.Client/Crm/Leads/Requests/LeadsListRequest.cs +++ b/src/Merge.Client/Crm/Leads/Requests/LeadsListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; @@ -7,88 +8,106 @@ public record LeadsListRequest /// /// If provided, will only return leads with this account. /// + [JsonIgnore] public string? ConvertedAccountId { get; set; } /// /// If provided, will only return leads with this contact. /// + [JsonIgnore] public string? ConvertedContactId { get; set; } /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// If provided, will only return contacts matching the email addresses; multiple email_addresses can be separated by commas. /// + [JsonIgnore] public string? EmailAddresses { get; set; } /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public LeadsListRequestExpand? Expand { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include all remote fields, including fields that Merge did not map to common models, in a normalized format. /// + [JsonIgnore] public bool? IncludeRemoteFields { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// If provided, will only return leads with this owner. /// + [JsonIgnore] public string? OwnerId { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// If provided, will only return contacts matching the phone numbers; multiple phone numbers can be separated by commas. /// + [JsonIgnore] public string? PhoneNumbers { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Leads/Requests/LeadsRemoteFieldClassesListRequest.cs b/src/Merge.Client/Crm/Leads/Requests/LeadsRemoteFieldClassesListRequest.cs index 65de80d2..36f38dbe 100644 --- a/src/Merge.Client/Crm/Leads/Requests/LeadsRemoteFieldClassesListRequest.cs +++ b/src/Merge.Client/Crm/Leads/Requests/LeadsRemoteFieldClassesListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; @@ -7,38 +8,46 @@ public record LeadsRemoteFieldClassesListRequest /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include all remote fields, including fields that Merge did not map to common models, in a normalized format. /// + [JsonIgnore] public bool? IncludeRemoteFields { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, will only return remote field classes with this is_common_model_field value /// + [JsonIgnore] public bool? IsCommonModelField { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Leads/Requests/LeadsRetrieveRequest.cs b/src/Merge.Client/Crm/Leads/Requests/LeadsRetrieveRequest.cs index a664578a..afb64170 100644 --- a/src/Merge.Client/Crm/Leads/Requests/LeadsRetrieveRequest.cs +++ b/src/Merge.Client/Crm/Leads/Requests/LeadsRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; @@ -7,18 +8,28 @@ public record LeadsRetrieveRequest /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public LeadsRetrieveRequestExpand? Expand { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include all remote fields, including fields that Merge did not map to common models, in a normalized format. /// + [JsonIgnore] public bool? IncludeRemoteFields { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/LinkToken/LinkTokenClient.cs b/src/Merge.Client/Crm/LinkToken/LinkTokenClient.cs index d7b4f59e..a40df69f 100644 --- a/src/Merge.Client/Crm/LinkToken/LinkTokenClient.cs +++ b/src/Merge.Client/Crm/LinkToken/LinkTokenClient.cs @@ -17,8 +17,7 @@ internal LinkTokenClient(RawClient client) /// /// Creates a link token to be used when linking a new end user. /// - /// - /// + /// /// await client.Crm.LinkToken.CreateAsync( /// new EndUserDetailsRequest /// { @@ -32,17 +31,16 @@ internal LinkTokenClient(RawClient client) /// }, /// } /// ); - /// - /// - public async System.Threading.Tasks.Task CreateAsync( + /// + public async Task CreateAsync( EndUserDetailsRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, @@ -54,23 +52,26 @@ public async System.Threading.Tasks.Task CreateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Crm/LinkToken/Requests/EndUserDetailsRequest.cs b/src/Merge.Client/Crm/LinkToken/Requests/EndUserDetailsRequest.cs index 591e22a4..4335970c 100644 --- a/src/Merge.Client/Crm/LinkToken/Requests/EndUserDetailsRequest.cs +++ b/src/Merge.Client/Crm/LinkToken/Requests/EndUserDetailsRequest.cs @@ -89,6 +89,7 @@ public Dictionary< [JsonPropertyName("integration_specific_config")] public Dictionary? IntegrationSpecificConfig { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/LinkedAccounts/LinkedAccountsClient.cs b/src/Merge.Client/Crm/LinkedAccounts/LinkedAccountsClient.cs index 22100c27..a819d83c 100644 --- a/src/Merge.Client/Crm/LinkedAccounts/LinkedAccountsClient.cs +++ b/src/Merge.Client/Crm/LinkedAccounts/LinkedAccountsClient.cs @@ -17,12 +17,10 @@ internal LinkedAccountsClient(RawClient client) /// /// List linked accounts for your organization. /// - /// - /// + /// /// await client.Crm.LinkedAccounts.ListAsync(new LinkedAccountsListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( LinkedAccountsListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -82,8 +80,8 @@ public async System.Threading.Tasks.Task _query["status"] = request.Status; } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -94,23 +92,26 @@ public async System.Threading.Tasks.Task cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Crm/LinkedAccounts/Requests/LinkedAccountsListRequest.cs b/src/Merge.Client/Crm/LinkedAccounts/Requests/LinkedAccountsListRequest.cs index e9770a5d..7f1d8b44 100644 --- a/src/Merge.Client/Crm/LinkedAccounts/Requests/LinkedAccountsListRequest.cs +++ b/src/Merge.Client/Crm/LinkedAccounts/Requests/LinkedAccountsListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; @@ -7,73 +8,87 @@ public record LinkedAccountsListRequest /// /// Options: `accounting`, `ats`, `crm`, `filestorage`, `hris`, `mktg`, `ticketing` /// - /// - `hris` - hris - /// - `ats` - ats - /// - `accounting` - accounting - /// - `ticketing` - ticketing - /// - `crm` - crm - /// - `mktg` - mktg - /// - `filestorage` - filestorage + /// * `hris` - hris + /// * `ats` - ats + /// * `accounting` - accounting + /// * `ticketing` - ticketing + /// * `crm` - crm + /// * `mktg` - mktg + /// * `filestorage` - filestorage /// + [JsonIgnore] public LinkedAccountsListRequestCategory? Category { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// If provided, will only return linked accounts associated with the given email address. /// + [JsonIgnore] public string? EndUserEmailAddress { get; set; } /// /// If provided, will only return linked accounts associated with the given organization name. /// + [JsonIgnore] public string? EndUserOrganizationName { get; set; } /// /// If provided, will only return linked accounts associated with the given origin ID. /// + [JsonIgnore] public string? EndUserOriginId { get; set; } /// /// Comma-separated list of EndUser origin IDs, making it possible to specify multiple EndUsers at once. /// + [JsonIgnore] public string? EndUserOriginIds { get; set; } + [JsonIgnore] public string? Id { get; set; } /// /// Comma-separated list of LinkedAccount IDs, making it possible to specify multiple LinkedAccounts at once. /// + [JsonIgnore] public string? Ids { get; set; } /// /// If `true`, will include complete production duplicates of the account specified by the `id` query parameter in the response. `id` must be for a complete production linked account. /// + [JsonIgnore] public bool? IncludeDuplicates { get; set; } /// /// If provided, will only return linked accounts associated with the given integration name. /// + [JsonIgnore] public string? IntegrationName { get; set; } /// /// If included, will only include test linked accounts. If not included, will only include non-test linked accounts. /// + [JsonIgnore] public string? IsTestAccount { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// Filter by status. Options: `COMPLETE`, `IDLE`, `INCOMPLETE`, `RELINK_NEEDED` /// + [JsonIgnore] public string? Status { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Notes/NotesClient.cs b/src/Merge.Client/Crm/Notes/NotesClient.cs index 44220ef9..fd9cf7d6 100644 --- a/src/Merge.Client/Crm/Notes/NotesClient.cs +++ b/src/Merge.Client/Crm/Notes/NotesClient.cs @@ -17,12 +17,10 @@ internal NotesClient(RawClient client) /// /// Returns a list of `Note` objects. /// - /// - /// + /// /// await client.Crm.Notes.ListAsync(new NotesListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( NotesListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -102,8 +100,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["remote_id"] = request.RemoteId; } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -114,35 +112,36 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Creates a `Note` object with the given values. /// - /// - /// + /// /// await client.Crm.Notes.CreateAsync(new NoteEndpointRequest { Model = new NoteRequest() }); - /// - /// - public async System.Threading.Tasks.Task CreateAsync( + /// + public async Task CreateAsync( NoteEndpointRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -157,15 +156,14 @@ public async System.Threading.Tasks.Task CreateAsync( { _query["run_async"] = JsonUtils.Serialize(request.RunAsync.Value); } - var requestBody = new Dictionary() { { "model", request.Model } }; var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, Path = "crm/v1/notes", - Body = requestBody, + Body = request, Query = _query, ContentType = "application/json", Options = options, @@ -173,35 +171,36 @@ public async System.Threading.Tasks.Task CreateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a `Note` object with the given `id`. /// - /// - /// + /// /// await client.Crm.Notes.RetrieveAsync("id", new NotesRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, NotesRetrieveRequest request, RequestOptions? options = null, @@ -223,55 +222,63 @@ public async System.Threading.Tasks.Task RetrieveAsync( request.IncludeRemoteFields.Value ); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"crm/v1/notes/{id}", + Path = string.Format( + "crm/v1/notes/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns metadata for `Note` POSTs. /// - /// - /// + /// /// await client.Crm.Notes.MetaPostRetrieveAsync(); - /// - /// - public async System.Threading.Tasks.Task MetaPostRetrieveAsync( + /// + public async Task MetaPostRetrieveAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -281,35 +288,36 @@ public async System.Threading.Tasks.Task MetaPostRetrieveAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a list of `RemoteFieldClass` objects. /// - /// - /// + /// /// await client.Crm.Notes.RemoteFieldClassesListAsync(new NotesRemoteFieldClassesListRequest()); - /// - /// - public async System.Threading.Tasks.Task RemoteFieldClassesListAsync( + /// + public async Task RemoteFieldClassesListAsync( NotesRemoteFieldClassesListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -347,8 +355,8 @@ public async System.Threading.Tasks.Task RemoteFi _query["page_size"] = request.PageSize.Value.ToString(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -359,23 +367,26 @@ public async System.Threading.Tasks.Task RemoteFi cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Crm/Notes/Requests/NoteEndpointRequest.cs b/src/Merge.Client/Crm/Notes/Requests/NoteEndpointRequest.cs index 3f0e09cc..8f6af3e2 100644 --- a/src/Merge.Client/Crm/Notes/Requests/NoteEndpointRequest.cs +++ b/src/Merge.Client/Crm/Notes/Requests/NoteEndpointRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; @@ -7,15 +8,19 @@ public record NoteEndpointRequest /// /// Whether to include debug fields (such as log file links) in the response. /// + [JsonIgnore] public bool? IsDebugMode { get; set; } /// /// Whether or not third-party updates should be run asynchronously. /// + [JsonIgnore] public bool? RunAsync { get; set; } + [JsonPropertyName("model")] public required NoteRequest Model { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Notes/Requests/NotesListRequest.cs b/src/Merge.Client/Crm/Notes/Requests/NotesListRequest.cs index 3c38db19..2afebf78 100644 --- a/src/Merge.Client/Crm/Notes/Requests/NotesListRequest.cs +++ b/src/Merge.Client/Crm/Notes/Requests/NotesListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; @@ -7,83 +8,100 @@ public record NotesListRequest /// /// If provided, will only return notes with this account. /// + [JsonIgnore] public string? AccountId { get; set; } /// /// If provided, will only return notes with this contact. /// + [JsonIgnore] public string? ContactId { get; set; } /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public NotesListRequestExpand? Expand { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include all remote fields, including fields that Merge did not map to common models, in a normalized format. /// + [JsonIgnore] public bool? IncludeRemoteFields { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// If provided, will only return notes with this opportunity. /// + [JsonIgnore] public string? OpportunityId { get; set; } /// /// If provided, will only return notes with this owner. /// + [JsonIgnore] public string? OwnerId { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Notes/Requests/NotesRemoteFieldClassesListRequest.cs b/src/Merge.Client/Crm/Notes/Requests/NotesRemoteFieldClassesListRequest.cs index c4557399..b957251f 100644 --- a/src/Merge.Client/Crm/Notes/Requests/NotesRemoteFieldClassesListRequest.cs +++ b/src/Merge.Client/Crm/Notes/Requests/NotesRemoteFieldClassesListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; @@ -7,38 +8,46 @@ public record NotesRemoteFieldClassesListRequest /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include all remote fields, including fields that Merge did not map to common models, in a normalized format. /// + [JsonIgnore] public bool? IncludeRemoteFields { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, will only return remote field classes with this is_common_model_field value /// + [JsonIgnore] public bool? IsCommonModelField { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Notes/Requests/NotesRetrieveRequest.cs b/src/Merge.Client/Crm/Notes/Requests/NotesRetrieveRequest.cs index 626d5f5e..8e1ad310 100644 --- a/src/Merge.Client/Crm/Notes/Requests/NotesRetrieveRequest.cs +++ b/src/Merge.Client/Crm/Notes/Requests/NotesRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; @@ -7,18 +8,28 @@ public record NotesRetrieveRequest /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public NotesRetrieveRequestExpand? Expand { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include all remote fields, including fields that Merge did not map to common models, in a normalized format. /// + [JsonIgnore] public bool? IncludeRemoteFields { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Opportunities/OpportunitiesClient.cs b/src/Merge.Client/Crm/Opportunities/OpportunitiesClient.cs index ef516cc2..44cf614e 100644 --- a/src/Merge.Client/Crm/Opportunities/OpportunitiesClient.cs +++ b/src/Merge.Client/Crm/Opportunities/OpportunitiesClient.cs @@ -17,12 +17,10 @@ internal OpportunitiesClient(RawClient client) /// /// Returns a list of `Opportunity` objects. /// - /// - /// + /// /// await client.Crm.Opportunities.ListAsync(new OpportunitiesListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( OpportunitiesListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -116,8 +114,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["status"] = request.Status.Value.Stringify(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -128,37 +126,38 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Creates an `Opportunity` object with the given values. /// - /// - /// + /// /// await client.Crm.Opportunities.CreateAsync( /// new OpportunityEndpointRequest { Model = new OpportunityRequest() } /// ); - /// - /// - public async System.Threading.Tasks.Task CreateAsync( + /// + public async Task CreateAsync( OpportunityEndpointRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -173,15 +172,14 @@ public async System.Threading.Tasks.Task CreateAsync( { _query["run_async"] = JsonUtils.Serialize(request.RunAsync.Value); } - var requestBody = new Dictionary() { { "model", request.Model } }; var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, Path = "crm/v1/opportunities", - Body = requestBody, + Body = request, Query = _query, ContentType = "application/json", Options = options, @@ -189,35 +187,36 @@ public async System.Threading.Tasks.Task CreateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns an `Opportunity` object with the given `id`. /// - /// - /// + /// /// await client.Crm.Opportunities.RetrieveAsync("id", new OpportunitiesRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, OpportunitiesRetrieveRequest request, RequestOptions? options = null, @@ -239,6 +238,10 @@ public async System.Threading.Tasks.Task RetrieveAsync( request.IncludeRemoteFields.Value ); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } if (request.RemoteFields != null) { _query["remote_fields"] = request.RemoteFields.ToString(); @@ -248,50 +251,54 @@ public async System.Threading.Tasks.Task RetrieveAsync( _query["show_enum_origins"] = request.ShowEnumOrigins.ToString(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"crm/v1/opportunities/{id}", + Path = string.Format( + "crm/v1/opportunities/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Updates an `Opportunity` object with the given `id`. /// - /// - /// + /// /// await client.Crm.Opportunities.PartialUpdateAsync( /// "id", /// new PatchedOpportunityEndpointRequest { Model = new PatchedOpportunityRequest() } /// ); - /// - /// - public async System.Threading.Tasks.Task PartialUpdateAsync( + /// + public async Task PartialUpdateAsync( string id, PatchedOpportunityEndpointRequest request, RequestOptions? options = null, @@ -307,15 +314,17 @@ public async System.Threading.Tasks.Task PartialUpdateAsync { _query["run_async"] = JsonUtils.Serialize(request.RunAsync.Value); } - var requestBody = new Dictionary() { { "model", request.Model } }; var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethodExtensions.Patch, - Path = $"crm/v1/opportunities/{id}", - Body = requestBody, + Path = string.Format( + "crm/v1/opportunities/{0}", + ValueConvert.ToPathParameterString(id) + ), + Body = request, Query = _query, ContentType = "application/json", Options = options, @@ -323,88 +332,93 @@ public async System.Threading.Tasks.Task PartialUpdateAsync cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns metadata for `Opportunity` PATCHs. /// - /// - /// + /// /// await client.Crm.Opportunities.MetaPatchRetrieveAsync("id"); - /// - /// - public async System.Threading.Tasks.Task MetaPatchRetrieveAsync( + /// + public async Task MetaPatchRetrieveAsync( string id, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"crm/v1/opportunities/meta/patch/{id}", + Path = string.Format( + "crm/v1/opportunities/meta/patch/{0}", + ValueConvert.ToPathParameterString(id) + ), Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns metadata for `Opportunity` POSTs. /// - /// - /// + /// /// await client.Crm.Opportunities.MetaPostRetrieveAsync(); - /// - /// - public async System.Threading.Tasks.Task MetaPostRetrieveAsync( + /// + public async Task MetaPostRetrieveAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -414,37 +428,38 @@ public async System.Threading.Tasks.Task MetaPostRetrieveAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a list of `RemoteFieldClass` objects. /// - /// - /// + /// /// await client.Crm.Opportunities.RemoteFieldClassesListAsync( /// new OpportunitiesRemoteFieldClassesListRequest() /// ); - /// - /// - public async System.Threading.Tasks.Task RemoteFieldClassesListAsync( + /// + public async Task RemoteFieldClassesListAsync( OpportunitiesRemoteFieldClassesListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -482,8 +497,8 @@ public async System.Threading.Tasks.Task RemoteFi _query["page_size"] = request.PageSize.Value.ToString(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -494,23 +509,26 @@ public async System.Threading.Tasks.Task RemoteFi cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Crm/Opportunities/Requests/OpportunitiesListRequest.cs b/src/Merge.Client/Crm/Opportunities/Requests/OpportunitiesListRequest.cs index 2cf340a6..8b8cb854 100644 --- a/src/Merge.Client/Crm/Opportunities/Requests/OpportunitiesListRequest.cs +++ b/src/Merge.Client/Crm/Opportunities/Requests/OpportunitiesListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; @@ -7,102 +8,122 @@ public record OpportunitiesListRequest /// /// If provided, will only return opportunities with this account. /// + [JsonIgnore] public string? AccountId { get; set; } /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public OpportunitiesListRequestExpand? Expand { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include all remote fields, including fields that Merge did not map to common models, in a normalized format. /// + [JsonIgnore] public bool? IncludeRemoteFields { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// If provided, will only return opportunities with this owner. /// + [JsonIgnore] public string? OwnerId { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// If provided, will only return opportunities created in the third party platform after this datetime. /// + [JsonIgnore] public DateTime? RemoteCreatedAfter { get; set; } /// /// Deprecated. Use show_enum_origins. /// + [JsonIgnore] public string? RemoteFields { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } /// /// A comma separated list of enum field names for which you'd like the original values to be returned, instead of Merge's normalized enum values. [Learn more](https://help.merge.dev/en/articles/8950958-show_enum_origins-query-parameter) /// + [JsonIgnore] public string? ShowEnumOrigins { get; set; } /// /// If provided, will only return opportunities with this stage. /// + [JsonIgnore] public string? StageId { get; set; } /// /// If provided, will only return opportunities with this status. Options: ('OPEN', 'WON', 'LOST') /// - /// - `OPEN` - OPEN - /// - `WON` - WON - /// - `LOST` - LOST + /// * `OPEN` - OPEN + /// * `WON` - WON + /// * `LOST` - LOST /// + [JsonIgnore] public OpportunitiesListRequestStatus? Status { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Opportunities/Requests/OpportunitiesRemoteFieldClassesListRequest.cs b/src/Merge.Client/Crm/Opportunities/Requests/OpportunitiesRemoteFieldClassesListRequest.cs index 10d003dd..62a81ebc 100644 --- a/src/Merge.Client/Crm/Opportunities/Requests/OpportunitiesRemoteFieldClassesListRequest.cs +++ b/src/Merge.Client/Crm/Opportunities/Requests/OpportunitiesRemoteFieldClassesListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; @@ -7,38 +8,46 @@ public record OpportunitiesRemoteFieldClassesListRequest /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include all remote fields, including fields that Merge did not map to common models, in a normalized format. /// + [JsonIgnore] public bool? IncludeRemoteFields { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, will only return remote field classes with this is_common_model_field value /// + [JsonIgnore] public bool? IsCommonModelField { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Opportunities/Requests/OpportunitiesRetrieveRequest.cs b/src/Merge.Client/Crm/Opportunities/Requests/OpportunitiesRetrieveRequest.cs index 05c191ef..743be411 100644 --- a/src/Merge.Client/Crm/Opportunities/Requests/OpportunitiesRetrieveRequest.cs +++ b/src/Merge.Client/Crm/Opportunities/Requests/OpportunitiesRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; @@ -7,28 +8,40 @@ public record OpportunitiesRetrieveRequest /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public OpportunitiesRetrieveRequestExpand? Expand { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include all remote fields, including fields that Merge did not map to common models, in a normalized format. /// + [JsonIgnore] public bool? IncludeRemoteFields { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + /// /// Deprecated. Use show_enum_origins. /// + [JsonIgnore] public string? RemoteFields { get; set; } /// /// A comma separated list of enum field names for which you'd like the original values to be returned, instead of Merge's normalized enum values. [Learn more](https://help.merge.dev/en/articles/8950958-show_enum_origins-query-parameter) /// + [JsonIgnore] public string? ShowEnumOrigins { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Opportunities/Requests/OpportunityEndpointRequest.cs b/src/Merge.Client/Crm/Opportunities/Requests/OpportunityEndpointRequest.cs index 315c3c49..189b5449 100644 --- a/src/Merge.Client/Crm/Opportunities/Requests/OpportunityEndpointRequest.cs +++ b/src/Merge.Client/Crm/Opportunities/Requests/OpportunityEndpointRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; @@ -7,15 +8,19 @@ public record OpportunityEndpointRequest /// /// Whether to include debug fields (such as log file links) in the response. /// + [JsonIgnore] public bool? IsDebugMode { get; set; } /// /// Whether or not third-party updates should be run asynchronously. /// + [JsonIgnore] public bool? RunAsync { get; set; } + [JsonPropertyName("model")] public required OpportunityRequest Model { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Opportunities/Requests/PatchedOpportunityEndpointRequest.cs b/src/Merge.Client/Crm/Opportunities/Requests/PatchedOpportunityEndpointRequest.cs index 3b96f07a..c201c980 100644 --- a/src/Merge.Client/Crm/Opportunities/Requests/PatchedOpportunityEndpointRequest.cs +++ b/src/Merge.Client/Crm/Opportunities/Requests/PatchedOpportunityEndpointRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; @@ -7,15 +8,19 @@ public record PatchedOpportunityEndpointRequest /// /// Whether to include debug fields (such as log file links) in the response. /// + [JsonIgnore] public bool? IsDebugMode { get; set; } /// /// Whether or not third-party updates should be run asynchronously. /// + [JsonIgnore] public bool? RunAsync { get; set; } + [JsonPropertyName("model")] public required PatchedOpportunityRequest Model { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Passthrough/PassthroughClient.cs b/src/Merge.Client/Crm/Passthrough/PassthroughClient.cs index 8d69bcdf..fb53e55d 100644 --- a/src/Merge.Client/Crm/Passthrough/PassthroughClient.cs +++ b/src/Merge.Client/Crm/Passthrough/PassthroughClient.cs @@ -17,8 +17,7 @@ internal PassthroughClient(RawClient client) /// /// Pull data from an endpoint not currently supported by Merge. /// - /// - /// + /// /// await client.Crm.Passthrough.CreateAsync( /// new Merge.Client.Crm.DataPassthroughRequest /// { @@ -26,17 +25,16 @@ internal PassthroughClient(RawClient client) /// Path = "/scooters", /// } /// ); - /// - /// - public async System.Threading.Tasks.Task CreateAsync( + /// + public async Task CreateAsync( DataPassthroughRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, @@ -48,23 +46,26 @@ public async System.Threading.Tasks.Task CreateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Crm/RegenerateKey/RegenerateKeyClient.cs b/src/Merge.Client/Crm/RegenerateKey/RegenerateKeyClient.cs index f4fc3a29..e4aabb64 100644 --- a/src/Merge.Client/Crm/RegenerateKey/RegenerateKeyClient.cs +++ b/src/Merge.Client/Crm/RegenerateKey/RegenerateKeyClient.cs @@ -17,22 +17,20 @@ internal RegenerateKeyClient(RawClient client) /// /// Exchange remote keys. /// - /// - /// + /// /// await client.Crm.RegenerateKey.CreateAsync( /// new RemoteKeyForRegenerationRequest { Name = "Remote Deployment Key 1" } /// ); - /// - /// - public async System.Threading.Tasks.Task CreateAsync( + /// + public async Task CreateAsync( RemoteKeyForRegenerationRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, @@ -44,23 +42,26 @@ public async System.Threading.Tasks.Task CreateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Crm/RegenerateKey/Requests/RemoteKeyForRegenerationRequest.cs b/src/Merge.Client/Crm/RegenerateKey/Requests/RemoteKeyForRegenerationRequest.cs index 7bfbf2b7..df240f48 100644 --- a/src/Merge.Client/Crm/RegenerateKey/Requests/RemoteKeyForRegenerationRequest.cs +++ b/src/Merge.Client/Crm/RegenerateKey/Requests/RemoteKeyForRegenerationRequest.cs @@ -11,6 +11,7 @@ public record RemoteKeyForRegenerationRequest [JsonPropertyName("name")] public required string Name { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Scopes/Requests/LinkedAccountCommonModelScopeDeserializerRequest.cs b/src/Merge.Client/Crm/Scopes/Requests/LinkedAccountCommonModelScopeDeserializerRequest.cs index c7387fc1..636771ea 100644 --- a/src/Merge.Client/Crm/Scopes/Requests/LinkedAccountCommonModelScopeDeserializerRequest.cs +++ b/src/Merge.Client/Crm/Scopes/Requests/LinkedAccountCommonModelScopeDeserializerRequest.cs @@ -12,6 +12,7 @@ public record LinkedAccountCommonModelScopeDeserializerRequest public IEnumerable CommonModels { get; set; } = new List(); + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Scopes/ScopesClient.cs b/src/Merge.Client/Crm/Scopes/ScopesClient.cs index 7997f90f..20b7be20 100644 --- a/src/Merge.Client/Crm/Scopes/ScopesClient.cs +++ b/src/Merge.Client/Crm/Scopes/ScopesClient.cs @@ -17,19 +17,17 @@ internal ScopesClient(RawClient client) /// /// Get the default permissions for Merge Common Models and fields across all Linked Accounts of a given category. [Learn more](https://help.merge.dev/en/articles/5950052-common-model-and-field-scopes). /// - /// - /// + /// /// await client.Crm.Scopes.DefaultScopesRetrieveAsync(); - /// - /// - public async System.Threading.Tasks.Task DefaultScopesRetrieveAsync( + /// + public async Task DefaultScopesRetrieveAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -39,42 +37,43 @@ public async System.Threading.Tasks.Task DefaultScopesRetri cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Get all available permissions for Merge Common Models and fields for a single Linked Account. [Learn more](https://help.merge.dev/en/articles/5950052-common-model-and-field-scopes). /// - /// - /// + /// /// await client.Crm.Scopes.LinkedAccountScopesRetrieveAsync(); - /// - /// - public async System.Threading.Tasks.Task LinkedAccountScopesRetrieveAsync( + /// + public async Task LinkedAccountScopesRetrieveAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -84,31 +83,33 @@ public async System.Threading.Tasks.Task LinkedAccountScope cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Update permissions for any Common Model or field for a single Linked Account. Any Scopes not set in this POST request will inherit the default Scopes. [Learn more](https://help.merge.dev/en/articles/5950052-common-model-and-field-scopes) /// - /// - /// + /// /// await client.Crm.Scopes.LinkedAccountScopesCreateAsync( /// new LinkedAccountCommonModelScopeDeserializerRequest /// { @@ -160,17 +161,16 @@ public async System.Threading.Tasks.Task LinkedAccountScope /// }, /// } /// ); - /// - /// - public async System.Threading.Tasks.Task LinkedAccountScopesCreateAsync( + /// + public async Task LinkedAccountScopesCreateAsync( LinkedAccountCommonModelScopeDeserializerRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, @@ -182,23 +182,26 @@ public async System.Threading.Tasks.Task LinkedAccountScope cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Crm/Stages/Requests/StagesListRequest.cs b/src/Merge.Client/Crm/Stages/Requests/StagesListRequest.cs index 7aabf186..9e5201ab 100644 --- a/src/Merge.Client/Crm/Stages/Requests/StagesListRequest.cs +++ b/src/Merge.Client/Crm/Stages/Requests/StagesListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; @@ -7,58 +8,70 @@ public record StagesListRequest /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include all remote fields, including fields that Merge did not map to common models, in a normalized format. /// + [JsonIgnore] public bool? IncludeRemoteFields { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Stages/Requests/StagesRemoteFieldClassesListRequest.cs b/src/Merge.Client/Crm/Stages/Requests/StagesRemoteFieldClassesListRequest.cs index 139b563d..50c44078 100644 --- a/src/Merge.Client/Crm/Stages/Requests/StagesRemoteFieldClassesListRequest.cs +++ b/src/Merge.Client/Crm/Stages/Requests/StagesRemoteFieldClassesListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; @@ -7,38 +8,46 @@ public record StagesRemoteFieldClassesListRequest /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include all remote fields, including fields that Merge did not map to common models, in a normalized format. /// + [JsonIgnore] public bool? IncludeRemoteFields { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, will only return remote field classes with this is_common_model_field value /// + [JsonIgnore] public bool? IsCommonModelField { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Stages/Requests/StagesRetrieveRequest.cs b/src/Merge.Client/Crm/Stages/Requests/StagesRetrieveRequest.cs index 46717dcc..926d2c96 100644 --- a/src/Merge.Client/Crm/Stages/Requests/StagesRetrieveRequest.cs +++ b/src/Merge.Client/Crm/Stages/Requests/StagesRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; @@ -7,13 +8,22 @@ public record StagesRetrieveRequest /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include all remote fields, including fields that Merge did not map to common models, in a normalized format. /// + [JsonIgnore] public bool? IncludeRemoteFields { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Stages/StagesClient.cs b/src/Merge.Client/Crm/Stages/StagesClient.cs index 9cf7ef58..d84ac11c 100644 --- a/src/Merge.Client/Crm/Stages/StagesClient.cs +++ b/src/Merge.Client/Crm/Stages/StagesClient.cs @@ -17,12 +17,10 @@ internal StagesClient(RawClient client) /// /// Returns a list of `Stage` objects. /// - /// - /// + /// /// await client.Crm.Stages.ListAsync(new StagesListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( StagesListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -82,8 +80,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["remote_id"] = request.RemoteId; } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -94,35 +92,36 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a `Stage` object with the given `id`. /// - /// - /// + /// /// await client.Crm.Stages.RetrieveAsync("id", new StagesRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, StagesRetrieveRequest request, RequestOptions? options = null, @@ -140,48 +139,56 @@ public async System.Threading.Tasks.Task RetrieveAsync( request.IncludeRemoteFields.Value ); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"crm/v1/stages/{id}", + Path = string.Format( + "crm/v1/stages/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a list of `RemoteFieldClass` objects. /// - /// - /// + /// /// await client.Crm.Stages.RemoteFieldClassesListAsync(new StagesRemoteFieldClassesListRequest()); - /// - /// - public async System.Threading.Tasks.Task RemoteFieldClassesListAsync( + /// + public async Task RemoteFieldClassesListAsync( StagesRemoteFieldClassesListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -219,8 +226,8 @@ public async System.Threading.Tasks.Task RemoteFi _query["page_size"] = request.PageSize.Value.ToString(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -231,23 +238,26 @@ public async System.Threading.Tasks.Task RemoteFi cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Crm/SyncStatus/Requests/SyncStatusListRequest.cs b/src/Merge.Client/Crm/SyncStatus/Requests/SyncStatusListRequest.cs index f9820dff..7e77820a 100644 --- a/src/Merge.Client/Crm/SyncStatus/Requests/SyncStatusListRequest.cs +++ b/src/Merge.Client/Crm/SyncStatus/Requests/SyncStatusListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; @@ -7,13 +8,16 @@ public record SyncStatusListRequest /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/SyncStatus/SyncStatusClient.cs b/src/Merge.Client/Crm/SyncStatus/SyncStatusClient.cs index ee80d56e..b60c1b20 100644 --- a/src/Merge.Client/Crm/SyncStatus/SyncStatusClient.cs +++ b/src/Merge.Client/Crm/SyncStatus/SyncStatusClient.cs @@ -17,12 +17,10 @@ internal SyncStatusClient(RawClient client) /// /// Get syncing status. Possible values: `DISABLED`, `DONE`, `FAILED`, `PARTIALLY_SYNCED`, `PAUSED`, `SYNCING`. Learn more about sync status in our [Help Center](https://help.merge.dev/en/articles/8184193-merge-sync-statuses). /// - /// - /// + /// /// await client.Crm.SyncStatus.ListAsync(new SyncStatusListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( SyncStatusListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -38,8 +36,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["page_size"] = request.PageSize.Value.ToString(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -50,23 +48,26 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Crm/Tasks/Requests/PatchedTaskEndpointRequest.cs b/src/Merge.Client/Crm/Tasks/Requests/PatchedTaskEndpointRequest.cs index 74f3f2ee..a9f42a83 100644 --- a/src/Merge.Client/Crm/Tasks/Requests/PatchedTaskEndpointRequest.cs +++ b/src/Merge.Client/Crm/Tasks/Requests/PatchedTaskEndpointRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; @@ -7,15 +8,19 @@ public record PatchedTaskEndpointRequest /// /// Whether to include debug fields (such as log file links) in the response. /// + [JsonIgnore] public bool? IsDebugMode { get; set; } /// /// Whether or not third-party updates should be run asynchronously. /// + [JsonIgnore] public bool? RunAsync { get; set; } + [JsonPropertyName("model")] public required PatchedTaskRequest Model { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Tasks/Requests/TaskEndpointRequest.cs b/src/Merge.Client/Crm/Tasks/Requests/TaskEndpointRequest.cs index 914227ae..175292c5 100644 --- a/src/Merge.Client/Crm/Tasks/Requests/TaskEndpointRequest.cs +++ b/src/Merge.Client/Crm/Tasks/Requests/TaskEndpointRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; @@ -7,15 +8,19 @@ public record TaskEndpointRequest /// /// Whether to include debug fields (such as log file links) in the response. /// + [JsonIgnore] public bool? IsDebugMode { get; set; } /// /// Whether or not third-party updates should be run asynchronously. /// + [JsonIgnore] public bool? RunAsync { get; set; } + [JsonPropertyName("model")] public required TaskRequest Model { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Tasks/Requests/TasksListRequest.cs b/src/Merge.Client/Crm/Tasks/Requests/TasksListRequest.cs index c1874c3c..4a2fa8eb 100644 --- a/src/Merge.Client/Crm/Tasks/Requests/TasksListRequest.cs +++ b/src/Merge.Client/Crm/Tasks/Requests/TasksListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; @@ -7,63 +8,76 @@ public record TasksListRequest /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public TasksListRequestExpand? Expand { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include all remote fields, including fields that Merge did not map to common models, in a normalized format. /// + [JsonIgnore] public bool? IncludeRemoteFields { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Tasks/Requests/TasksRemoteFieldClassesListRequest.cs b/src/Merge.Client/Crm/Tasks/Requests/TasksRemoteFieldClassesListRequest.cs index 453f8a69..1490b23c 100644 --- a/src/Merge.Client/Crm/Tasks/Requests/TasksRemoteFieldClassesListRequest.cs +++ b/src/Merge.Client/Crm/Tasks/Requests/TasksRemoteFieldClassesListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; @@ -7,38 +8,46 @@ public record TasksRemoteFieldClassesListRequest /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include all remote fields, including fields that Merge did not map to common models, in a normalized format. /// + [JsonIgnore] public bool? IncludeRemoteFields { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, will only return remote field classes with this is_common_model_field value /// + [JsonIgnore] public bool? IsCommonModelField { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Tasks/Requests/TasksRetrieveRequest.cs b/src/Merge.Client/Crm/Tasks/Requests/TasksRetrieveRequest.cs index 75b7f247..b065c810 100644 --- a/src/Merge.Client/Crm/Tasks/Requests/TasksRetrieveRequest.cs +++ b/src/Merge.Client/Crm/Tasks/Requests/TasksRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; @@ -7,18 +8,28 @@ public record TasksRetrieveRequest /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public TasksRetrieveRequestExpand? Expand { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include all remote fields, including fields that Merge did not map to common models, in a normalized format. /// + [JsonIgnore] public bool? IncludeRemoteFields { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Tasks/TasksClient.cs b/src/Merge.Client/Crm/Tasks/TasksClient.cs index 59ece5a4..0a9f3036 100644 --- a/src/Merge.Client/Crm/Tasks/TasksClient.cs +++ b/src/Merge.Client/Crm/Tasks/TasksClient.cs @@ -17,12 +17,10 @@ internal TasksClient(RawClient client) /// /// Returns a list of `Task` objects. /// - /// - /// + /// /// await client.Crm.Tasks.ListAsync(new TasksListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( TasksListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -86,8 +84,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["remote_id"] = request.RemoteId; } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -98,35 +96,36 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Creates a `Task` object with the given values. /// - /// - /// + /// /// await client.Crm.Tasks.CreateAsync(new TaskEndpointRequest { Model = new TaskRequest() }); - /// - /// - public async System.Threading.Tasks.Task CreateAsync( + /// + public async Task CreateAsync( TaskEndpointRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -141,15 +140,14 @@ public async System.Threading.Tasks.Task CreateAsync( { _query["run_async"] = JsonUtils.Serialize(request.RunAsync.Value); } - var requestBody = new Dictionary() { { "model", request.Model } }; var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, Path = "crm/v1/tasks", - Body = requestBody, + Body = request, Query = _query, ContentType = "application/json", Options = options, @@ -157,35 +155,36 @@ public async System.Threading.Tasks.Task CreateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a `Task` object with the given `id`. /// - /// - /// + /// /// await client.Crm.Tasks.RetrieveAsync("id", new TasksRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, TasksRetrieveRequest request, RequestOptions? options = null, @@ -207,51 +206,59 @@ public async System.Threading.Tasks.Task RetrieveAsync( request.IncludeRemoteFields.Value ); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"crm/v1/tasks/{id}", + Path = string.Format( + "crm/v1/tasks/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Updates a `Task` object with the given `id`. /// - /// - /// + /// /// await client.Crm.Tasks.PartialUpdateAsync( /// "id", /// new PatchedTaskEndpointRequest { Model = new PatchedTaskRequest() } /// ); - /// - /// - public async System.Threading.Tasks.Task PartialUpdateAsync( + /// + public async Task PartialUpdateAsync( string id, PatchedTaskEndpointRequest request, RequestOptions? options = null, @@ -267,15 +274,17 @@ public async System.Threading.Tasks.Task PartialUpdateAsync( { _query["run_async"] = JsonUtils.Serialize(request.RunAsync.Value); } - var requestBody = new Dictionary() { { "model", request.Model } }; var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethodExtensions.Patch, - Path = $"crm/v1/tasks/{id}", - Body = requestBody, + Path = string.Format( + "crm/v1/tasks/{0}", + ValueConvert.ToPathParameterString(id) + ), + Body = request, Query = _query, ContentType = "application/json", Options = options, @@ -283,88 +292,93 @@ public async System.Threading.Tasks.Task PartialUpdateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns metadata for `Task` PATCHs. /// - /// - /// + /// /// await client.Crm.Tasks.MetaPatchRetrieveAsync("id"); - /// - /// - public async System.Threading.Tasks.Task MetaPatchRetrieveAsync( + /// + public async Task MetaPatchRetrieveAsync( string id, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"crm/v1/tasks/meta/patch/{id}", + Path = string.Format( + "crm/v1/tasks/meta/patch/{0}", + ValueConvert.ToPathParameterString(id) + ), Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns metadata for `Task` POSTs. /// - /// - /// + /// /// await client.Crm.Tasks.MetaPostRetrieveAsync(); - /// - /// - public async System.Threading.Tasks.Task MetaPostRetrieveAsync( + /// + public async Task MetaPostRetrieveAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -374,35 +388,36 @@ public async System.Threading.Tasks.Task MetaPostRetrieveAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a list of `RemoteFieldClass` objects. /// - /// - /// + /// /// await client.Crm.Tasks.RemoteFieldClassesListAsync(new TasksRemoteFieldClassesListRequest()); - /// - /// - public async System.Threading.Tasks.Task RemoteFieldClassesListAsync( + /// + public async Task RemoteFieldClassesListAsync( TasksRemoteFieldClassesListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -440,8 +455,8 @@ public async System.Threading.Tasks.Task RemoteFi _query["page_size"] = request.PageSize.Value.ToString(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -452,23 +467,26 @@ public async System.Threading.Tasks.Task RemoteFi cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Crm/Types/Account.cs b/src/Merge.Client/Crm/Types/Account.cs index ff674e18..0eb3f671 100644 --- a/src/Merge.Client/Crm/Types/Account.cs +++ b/src/Merge.Client/Crm/Types/Account.cs @@ -1,11 +1,20 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Crm; +/// +/// # The Account Object +/// ### Description +/// The `Account` object is used to represent a company in a CRM system. +/// ### Usage Example +/// TODO +/// public record Account { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -18,12 +27,14 @@ public record Account /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -66,6 +77,7 @@ public record Account [JsonPropertyName("addresses")] public IEnumerable
? Addresses { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("phone_numbers")] public IEnumerable? PhoneNumbers { get; set; } @@ -90,18 +102,33 @@ public record Account /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_fields")] public IEnumerable? RemoteFields { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/AccountDetails.cs b/src/Merge.Client/Crm/Types/AccountDetails.cs index 763c80ca..51550d7b 100644 --- a/src/Merge.Client/Crm/Types/AccountDetails.cs +++ b/src/Merge.Client/Crm/Types/AccountDetails.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -5,39 +6,49 @@ namespace Merge.Client.Crm; public record AccountDetails { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("integration")] public string? Integration { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("integration_slug")] public string? IntegrationSlug { get; set; } [JsonPropertyName("category")] public CategoryEnum? Category { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("end_user_origin_id")] public string? EndUserOriginId { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("end_user_organization_name")] public string? EndUserOrganizationName { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("end_user_email_address")] public string? EndUserEmailAddress { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("status")] public string? Status { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("webhook_listener_url")] public string? WebhookListenerUrl { get; set; } /// /// Whether a Production Linked Account's credentials match another existing Production Linked Account. This field is `null` for Test Linked Accounts, incomplete Production Linked Accounts, and ignored duplicate Production Linked Account sets. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("is_duplicate")] public bool? IsDuplicate { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("account_type")] public string? AccountType { get; set; } @@ -47,6 +58,17 @@ public record AccountDetails [JsonPropertyName("completed_at")] public DateTime? CompletedAt { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/AccountDetailsAndActions.cs b/src/Merge.Client/Crm/Types/AccountDetailsAndActions.cs index 0cadd89f..78f20d29 100644 --- a/src/Merge.Client/Crm/Types/AccountDetailsAndActions.cs +++ b/src/Merge.Client/Crm/Types/AccountDetailsAndActions.cs @@ -1,8 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; +/// +/// # The LinkedAccount Object +/// ### Description +/// The `LinkedAccount` object is used to represent an end user's link with a specific integration. +/// +/// ### Usage Example +/// View a list of your organization's `LinkedAccount` objects. +/// public record AccountDetailsAndActions { [JsonPropertyName("id")] @@ -50,6 +59,17 @@ public record AccountDetailsAndActions [JsonPropertyName("completed_at")] public required DateTime CompletedAt { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/AccountDetailsAndActionsIntegration.cs b/src/Merge.Client/Crm/Types/AccountDetailsAndActionsIntegration.cs index d8aa04f9..fb006c2f 100644 --- a/src/Merge.Client/Crm/Types/AccountDetailsAndActionsIntegration.cs +++ b/src/Merge.Client/Crm/Types/AccountDetailsAndActionsIntegration.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -29,6 +30,17 @@ public record AccountDetailsAndActionsIntegration [JsonPropertyName("available_model_operations")] public IEnumerable? AvailableModelOperations { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/AccountIntegration.cs b/src/Merge.Client/Crm/Types/AccountIntegration.cs index 64ad5bc0..028c9353 100644 --- a/src/Merge.Client/Crm/Types/AccountIntegration.cs +++ b/src/Merge.Client/Crm/Types/AccountIntegration.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -20,6 +21,7 @@ public record AccountIntegration /// /// Category or categories this integration belongs to. Multiple categories should be comma separated, i.e. [ats, hris]. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("categories")] public IEnumerable? Categories { get; set; } @@ -41,6 +43,7 @@ public record AccountIntegration [JsonPropertyName("color")] public string? Color { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("slug")] public string? Slug { get; set; } @@ -59,9 +62,21 @@ public record AccountIntegration /// /// Category or categories this integration is in beta status for. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("category_beta_status")] public Dictionary? CategoryBetaStatus { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/AccountRequest.cs b/src/Merge.Client/Crm/Types/AccountRequest.cs index 12707a5b..290c506e 100644 --- a/src/Merge.Client/Crm/Types/AccountRequest.cs +++ b/src/Merge.Client/Crm/Types/AccountRequest.cs @@ -1,9 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Crm; +/// +/// # The Account Object +/// ### Description +/// The `Account` object is used to represent a company in a CRM system. +/// ### Usage Example +/// TODO +/// public record AccountRequest { /// @@ -51,15 +59,29 @@ public record AccountRequest [JsonPropertyName("last_activity_at")] public DateTime? LastActivityAt { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("integration_params")] public Dictionary? IntegrationParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("linked_account_params")] public Dictionary? LinkedAccountParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("remote_fields")] public IEnumerable? RemoteFields { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/AccountToken.cs b/src/Merge.Client/Crm/Types/AccountToken.cs index 6fab399a..d1ef43dd 100644 --- a/src/Merge.Client/Crm/Types/AccountToken.cs +++ b/src/Merge.Client/Crm/Types/AccountToken.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -11,6 +12,20 @@ public record AccountToken [JsonPropertyName("integration")] public required AccountIntegration Integration { get; set; } + [JsonPropertyName("id")] + public required string Id { get; set; } + + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/Address.cs b/src/Merge.Client/Crm/Types/Address.cs index 54fd08c6..8df1b2ae 100644 --- a/src/Merge.Client/Crm/Types/Address.cs +++ b/src/Merge.Client/Crm/Types/Address.cs @@ -1,19 +1,29 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; +/// +/// # The Address Object +/// ### Description +/// The `Address` object is used to represent an entity's address. +/// ### Usage Example +/// TODO +/// public record Address { /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -50,255 +60,255 @@ public record Address /// /// The address's country. /// - /// - `AF` - Afghanistan - /// - `AX` - Åland Islands - /// - `AL` - Albania - /// - `DZ` - Algeria - /// - `AS` - American Samoa - /// - `AD` - Andorra - /// - `AO` - Angola - /// - `AI` - Anguilla - /// - `AQ` - Antarctica - /// - `AG` - Antigua and Barbuda - /// - `AR` - Argentina - /// - `AM` - Armenia - /// - `AW` - Aruba - /// - `AU` - Australia - /// - `AT` - Austria - /// - `AZ` - Azerbaijan - /// - `BS` - Bahamas - /// - `BH` - Bahrain - /// - `BD` - Bangladesh - /// - `BB` - Barbados - /// - `BY` - Belarus - /// - `BE` - Belgium - /// - `BZ` - Belize - /// - `BJ` - Benin - /// - `BM` - Bermuda - /// - `BT` - Bhutan - /// - `BO` - Bolivia - /// - `BQ` - Bonaire, Sint Eustatius and Saba - /// - `BA` - Bosnia and Herzegovina - /// - `BW` - Botswana - /// - `BV` - Bouvet Island - /// - `BR` - Brazil - /// - `IO` - British Indian Ocean Territory - /// - `BN` - Brunei - /// - `BG` - Bulgaria - /// - `BF` - Burkina Faso - /// - `BI` - Burundi - /// - `CV` - Cabo Verde - /// - `KH` - Cambodia - /// - `CM` - Cameroon - /// - `CA` - Canada - /// - `KY` - Cayman Islands - /// - `CF` - Central African Republic - /// - `TD` - Chad - /// - `CL` - Chile - /// - `CN` - China - /// - `CX` - Christmas Island - /// - `CC` - Cocos (Keeling) Islands - /// - `CO` - Colombia - /// - `KM` - Comoros - /// - `CG` - Congo - /// - `CD` - Congo (the Democratic Republic of the) - /// - `CK` - Cook Islands - /// - `CR` - Costa Rica - /// - `CI` - Côte d'Ivoire - /// - `HR` - Croatia - /// - `CU` - Cuba - /// - `CW` - Curaçao - /// - `CY` - Cyprus - /// - `CZ` - Czechia - /// - `DK` - Denmark - /// - `DJ` - Djibouti - /// - `DM` - Dominica - /// - `DO` - Dominican Republic - /// - `EC` - Ecuador - /// - `EG` - Egypt - /// - `SV` - El Salvador - /// - `GQ` - Equatorial Guinea - /// - `ER` - Eritrea - /// - `EE` - Estonia - /// - `SZ` - Eswatini - /// - `ET` - Ethiopia - /// - `FK` - Falkland Islands (Malvinas) - /// - `FO` - Faroe Islands - /// - `FJ` - Fiji - /// - `FI` - Finland - /// - `FR` - France - /// - `GF` - French Guiana - /// - `PF` - French Polynesia - /// - `TF` - French Southern Territories - /// - `GA` - Gabon - /// - `GM` - Gambia - /// - `GE` - Georgia - /// - `DE` - Germany - /// - `GH` - Ghana - /// - `GI` - Gibraltar - /// - `GR` - Greece - /// - `GL` - Greenland - /// - `GD` - Grenada - /// - `GP` - Guadeloupe - /// - `GU` - Guam - /// - `GT` - Guatemala - /// - `GG` - Guernsey - /// - `GN` - Guinea - /// - `GW` - Guinea-Bissau - /// - `GY` - Guyana - /// - `HT` - Haiti - /// - `HM` - Heard Island and McDonald Islands - /// - `VA` - Holy See - /// - `HN` - Honduras - /// - `HK` - Hong Kong - /// - `HU` - Hungary - /// - `IS` - Iceland - /// - `IN` - India - /// - `ID` - Indonesia - /// - `IR` - Iran - /// - `IQ` - Iraq - /// - `IE` - Ireland - /// - `IM` - Isle of Man - /// - `IL` - Israel - /// - `IT` - Italy - /// - `JM` - Jamaica - /// - `JP` - Japan - /// - `JE` - Jersey - /// - `JO` - Jordan - /// - `KZ` - Kazakhstan - /// - `KE` - Kenya - /// - `KI` - Kiribati - /// - `KW` - Kuwait - /// - `KG` - Kyrgyzstan - /// - `LA` - Laos - /// - `LV` - Latvia - /// - `LB` - Lebanon - /// - `LS` - Lesotho - /// - `LR` - Liberia - /// - `LY` - Libya - /// - `LI` - Liechtenstein - /// - `LT` - Lithuania - /// - `LU` - Luxembourg - /// - `MO` - Macao - /// - `MG` - Madagascar - /// - `MW` - Malawi - /// - `MY` - Malaysia - /// - `MV` - Maldives - /// - `ML` - Mali - /// - `MT` - Malta - /// - `MH` - Marshall Islands - /// - `MQ` - Martinique - /// - `MR` - Mauritania - /// - `MU` - Mauritius - /// - `YT` - Mayotte - /// - `MX` - Mexico - /// - `FM` - Micronesia (Federated States of) - /// - `MD` - Moldova - /// - `MC` - Monaco - /// - `MN` - Mongolia - /// - `ME` - Montenegro - /// - `MS` - Montserrat - /// - `MA` - Morocco - /// - `MZ` - Mozambique - /// - `MM` - Myanmar - /// - `NA` - Namibia - /// - `NR` - Nauru - /// - `NP` - Nepal - /// - `NL` - Netherlands - /// - `NC` - New Caledonia - /// - `NZ` - New Zealand - /// - `NI` - Nicaragua - /// - `NE` - Niger - /// - `NG` - Nigeria - /// - `NU` - Niue - /// - `NF` - Norfolk Island - /// - `KP` - North Korea - /// - `MK` - North Macedonia - /// - `MP` - Northern Mariana Islands - /// - `NO` - Norway - /// - `OM` - Oman - /// - `PK` - Pakistan - /// - `PW` - Palau - /// - `PS` - Palestine, State of - /// - `PA` - Panama - /// - `PG` - Papua New Guinea - /// - `PY` - Paraguay - /// - `PE` - Peru - /// - `PH` - Philippines - /// - `PN` - Pitcairn - /// - `PL` - Poland - /// - `PT` - Portugal - /// - `PR` - Puerto Rico - /// - `QA` - Qatar - /// - `RE` - Réunion - /// - `RO` - Romania - /// - `RU` - Russia - /// - `RW` - Rwanda - /// - `BL` - Saint Barthélemy - /// - `SH` - Saint Helena, Ascension and Tristan da Cunha - /// - `KN` - Saint Kitts and Nevis - /// - `LC` - Saint Lucia - /// - `MF` - Saint Martin (French part) - /// - `PM` - Saint Pierre and Miquelon - /// - `VC` - Saint Vincent and the Grenadines - /// - `WS` - Samoa - /// - `SM` - San Marino - /// - `ST` - Sao Tome and Principe - /// - `SA` - Saudi Arabia - /// - `SN` - Senegal - /// - `RS` - Serbia - /// - `SC` - Seychelles - /// - `SL` - Sierra Leone - /// - `SG` - Singapore - /// - `SX` - Sint Maarten (Dutch part) - /// - `SK` - Slovakia - /// - `SI` - Slovenia - /// - `SB` - Solomon Islands - /// - `SO` - Somalia - /// - `ZA` - South Africa - /// - `GS` - South Georgia and the South Sandwich Islands - /// - `KR` - South Korea - /// - `SS` - South Sudan - /// - `ES` - Spain - /// - `LK` - Sri Lanka - /// - `SD` - Sudan - /// - `SR` - Suriname - /// - `SJ` - Svalbard and Jan Mayen - /// - `SE` - Sweden - /// - `CH` - Switzerland - /// - `SY` - Syria - /// - `TW` - Taiwan - /// - `TJ` - Tajikistan - /// - `TZ` - Tanzania - /// - `TH` - Thailand - /// - `TL` - Timor-Leste - /// - `TG` - Togo - /// - `TK` - Tokelau - /// - `TO` - Tonga - /// - `TT` - Trinidad and Tobago - /// - `TN` - Tunisia - /// - `TR` - Turkey - /// - `TM` - Turkmenistan - /// - `TC` - Turks and Caicos Islands - /// - `TV` - Tuvalu - /// - `UG` - Uganda - /// - `UA` - Ukraine - /// - `AE` - United Arab Emirates - /// - `GB` - United Kingdom - /// - `UM` - United States Minor Outlying Islands - /// - `US` - United States of America - /// - `UY` - Uruguay - /// - `UZ` - Uzbekistan - /// - `VU` - Vanuatu - /// - `VE` - Venezuela - /// - `VN` - Vietnam - /// - `VG` - Virgin Islands (British) - /// - `VI` - Virgin Islands (U.S.) - /// - `WF` - Wallis and Futuna - /// - `EH` - Western Sahara - /// - `YE` - Yemen - /// - `ZM` - Zambia - /// - `ZW` - Zimbabwe + /// * `AF` - Afghanistan + /// * `AX` - Åland Islands + /// * `AL` - Albania + /// * `DZ` - Algeria + /// * `AS` - American Samoa + /// * `AD` - Andorra + /// * `AO` - Angola + /// * `AI` - Anguilla + /// * `AQ` - Antarctica + /// * `AG` - Antigua and Barbuda + /// * `AR` - Argentina + /// * `AM` - Armenia + /// * `AW` - Aruba + /// * `AU` - Australia + /// * `AT` - Austria + /// * `AZ` - Azerbaijan + /// * `BS` - Bahamas + /// * `BH` - Bahrain + /// * `BD` - Bangladesh + /// * `BB` - Barbados + /// * `BY` - Belarus + /// * `BE` - Belgium + /// * `BZ` - Belize + /// * `BJ` - Benin + /// * `BM` - Bermuda + /// * `BT` - Bhutan + /// * `BO` - Bolivia + /// * `BQ` - Bonaire, Sint Eustatius and Saba + /// * `BA` - Bosnia and Herzegovina + /// * `BW` - Botswana + /// * `BV` - Bouvet Island + /// * `BR` - Brazil + /// * `IO` - British Indian Ocean Territory + /// * `BN` - Brunei + /// * `BG` - Bulgaria + /// * `BF` - Burkina Faso + /// * `BI` - Burundi + /// * `CV` - Cabo Verde + /// * `KH` - Cambodia + /// * `CM` - Cameroon + /// * `CA` - Canada + /// * `KY` - Cayman Islands + /// * `CF` - Central African Republic + /// * `TD` - Chad + /// * `CL` - Chile + /// * `CN` - China + /// * `CX` - Christmas Island + /// * `CC` - Cocos (Keeling) Islands + /// * `CO` - Colombia + /// * `KM` - Comoros + /// * `CG` - Congo + /// * `CD` - Congo (the Democratic Republic of the) + /// * `CK` - Cook Islands + /// * `CR` - Costa Rica + /// * `CI` - Côte d'Ivoire + /// * `HR` - Croatia + /// * `CU` - Cuba + /// * `CW` - Curaçao + /// * `CY` - Cyprus + /// * `CZ` - Czechia + /// * `DK` - Denmark + /// * `DJ` - Djibouti + /// * `DM` - Dominica + /// * `DO` - Dominican Republic + /// * `EC` - Ecuador + /// * `EG` - Egypt + /// * `SV` - El Salvador + /// * `GQ` - Equatorial Guinea + /// * `ER` - Eritrea + /// * `EE` - Estonia + /// * `SZ` - Eswatini + /// * `ET` - Ethiopia + /// * `FK` - Falkland Islands (Malvinas) + /// * `FO` - Faroe Islands + /// * `FJ` - Fiji + /// * `FI` - Finland + /// * `FR` - France + /// * `GF` - French Guiana + /// * `PF` - French Polynesia + /// * `TF` - French Southern Territories + /// * `GA` - Gabon + /// * `GM` - Gambia + /// * `GE` - Georgia + /// * `DE` - Germany + /// * `GH` - Ghana + /// * `GI` - Gibraltar + /// * `GR` - Greece + /// * `GL` - Greenland + /// * `GD` - Grenada + /// * `GP` - Guadeloupe + /// * `GU` - Guam + /// * `GT` - Guatemala + /// * `GG` - Guernsey + /// * `GN` - Guinea + /// * `GW` - Guinea-Bissau + /// * `GY` - Guyana + /// * `HT` - Haiti + /// * `HM` - Heard Island and McDonald Islands + /// * `VA` - Holy See + /// * `HN` - Honduras + /// * `HK` - Hong Kong + /// * `HU` - Hungary + /// * `IS` - Iceland + /// * `IN` - India + /// * `ID` - Indonesia + /// * `IR` - Iran + /// * `IQ` - Iraq + /// * `IE` - Ireland + /// * `IM` - Isle of Man + /// * `IL` - Israel + /// * `IT` - Italy + /// * `JM` - Jamaica + /// * `JP` - Japan + /// * `JE` - Jersey + /// * `JO` - Jordan + /// * `KZ` - Kazakhstan + /// * `KE` - Kenya + /// * `KI` - Kiribati + /// * `KW` - Kuwait + /// * `KG` - Kyrgyzstan + /// * `LA` - Laos + /// * `LV` - Latvia + /// * `LB` - Lebanon + /// * `LS` - Lesotho + /// * `LR` - Liberia + /// * `LY` - Libya + /// * `LI` - Liechtenstein + /// * `LT` - Lithuania + /// * `LU` - Luxembourg + /// * `MO` - Macao + /// * `MG` - Madagascar + /// * `MW` - Malawi + /// * `MY` - Malaysia + /// * `MV` - Maldives + /// * `ML` - Mali + /// * `MT` - Malta + /// * `MH` - Marshall Islands + /// * `MQ` - Martinique + /// * `MR` - Mauritania + /// * `MU` - Mauritius + /// * `YT` - Mayotte + /// * `MX` - Mexico + /// * `FM` - Micronesia (Federated States of) + /// * `MD` - Moldova + /// * `MC` - Monaco + /// * `MN` - Mongolia + /// * `ME` - Montenegro + /// * `MS` - Montserrat + /// * `MA` - Morocco + /// * `MZ` - Mozambique + /// * `MM` - Myanmar + /// * `NA` - Namibia + /// * `NR` - Nauru + /// * `NP` - Nepal + /// * `NL` - Netherlands + /// * `NC` - New Caledonia + /// * `NZ` - New Zealand + /// * `NI` - Nicaragua + /// * `NE` - Niger + /// * `NG` - Nigeria + /// * `NU` - Niue + /// * `NF` - Norfolk Island + /// * `KP` - North Korea + /// * `MK` - North Macedonia + /// * `MP` - Northern Mariana Islands + /// * `NO` - Norway + /// * `OM` - Oman + /// * `PK` - Pakistan + /// * `PW` - Palau + /// * `PS` - Palestine, State of + /// * `PA` - Panama + /// * `PG` - Papua New Guinea + /// * `PY` - Paraguay + /// * `PE` - Peru + /// * `PH` - Philippines + /// * `PN` - Pitcairn + /// * `PL` - Poland + /// * `PT` - Portugal + /// * `PR` - Puerto Rico + /// * `QA` - Qatar + /// * `RE` - Réunion + /// * `RO` - Romania + /// * `RU` - Russia + /// * `RW` - Rwanda + /// * `BL` - Saint Barthélemy + /// * `SH` - Saint Helena, Ascension and Tristan da Cunha + /// * `KN` - Saint Kitts and Nevis + /// * `LC` - Saint Lucia + /// * `MF` - Saint Martin (French part) + /// * `PM` - Saint Pierre and Miquelon + /// * `VC` - Saint Vincent and the Grenadines + /// * `WS` - Samoa + /// * `SM` - San Marino + /// * `ST` - Sao Tome and Principe + /// * `SA` - Saudi Arabia + /// * `SN` - Senegal + /// * `RS` - Serbia + /// * `SC` - Seychelles + /// * `SL` - Sierra Leone + /// * `SG` - Singapore + /// * `SX` - Sint Maarten (Dutch part) + /// * `SK` - Slovakia + /// * `SI` - Slovenia + /// * `SB` - Solomon Islands + /// * `SO` - Somalia + /// * `ZA` - South Africa + /// * `GS` - South Georgia and the South Sandwich Islands + /// * `KR` - South Korea + /// * `SS` - South Sudan + /// * `ES` - Spain + /// * `LK` - Sri Lanka + /// * `SD` - Sudan + /// * `SR` - Suriname + /// * `SJ` - Svalbard and Jan Mayen + /// * `SE` - Sweden + /// * `CH` - Switzerland + /// * `SY` - Syria + /// * `TW` - Taiwan + /// * `TJ` - Tajikistan + /// * `TZ` - Tanzania + /// * `TH` - Thailand + /// * `TL` - Timor-Leste + /// * `TG` - Togo + /// * `TK` - Tokelau + /// * `TO` - Tonga + /// * `TT` - Trinidad and Tobago + /// * `TN` - Tunisia + /// * `TR` - Turkey + /// * `TM` - Turkmenistan + /// * `TC` - Turks and Caicos Islands + /// * `TV` - Tuvalu + /// * `UG` - Uganda + /// * `UA` - Ukraine + /// * `AE` - United Arab Emirates + /// * `GB` - United Kingdom + /// * `UM` - United States Minor Outlying Islands + /// * `US` - United States of America + /// * `UY` - Uruguay + /// * `UZ` - Uzbekistan + /// * `VU` - Vanuatu + /// * `VE` - Venezuela + /// * `VN` - Vietnam + /// * `VG` - Virgin Islands (British) + /// * `VI` - Virgin Islands (U.S.) + /// * `WF` - Wallis and Futuna + /// * `EH` - Western Sahara + /// * `YE` - Yemen + /// * `ZM` - Zambia + /// * `ZW` - Zimbabwe /// [JsonPropertyName("country")] public CountryEnum? Country { get; set; } @@ -306,12 +316,23 @@ public record Address /// /// The address type. /// - /// - `BILLING` - BILLING - /// - `SHIPPING` - SHIPPING + /// * `BILLING` - BILLING + /// * `SHIPPING` - SHIPPING /// [JsonPropertyName("address_type")] public AddressTypeEnum? AddressType { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/AddressRequest.cs b/src/Merge.Client/Crm/Types/AddressRequest.cs index 90d8191a..ccce7f9d 100644 --- a/src/Merge.Client/Crm/Types/AddressRequest.cs +++ b/src/Merge.Client/Crm/Types/AddressRequest.cs @@ -1,8 +1,16 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; +/// +/// # The Address Object +/// ### Description +/// The `Address` object is used to represent an entity's address. +/// ### Usage Example +/// TODO +/// public record AddressRequest { /// @@ -38,255 +46,255 @@ public record AddressRequest /// /// The address's country. /// - /// - `AF` - Afghanistan - /// - `AX` - Åland Islands - /// - `AL` - Albania - /// - `DZ` - Algeria - /// - `AS` - American Samoa - /// - `AD` - Andorra - /// - `AO` - Angola - /// - `AI` - Anguilla - /// - `AQ` - Antarctica - /// - `AG` - Antigua and Barbuda - /// - `AR` - Argentina - /// - `AM` - Armenia - /// - `AW` - Aruba - /// - `AU` - Australia - /// - `AT` - Austria - /// - `AZ` - Azerbaijan - /// - `BS` - Bahamas - /// - `BH` - Bahrain - /// - `BD` - Bangladesh - /// - `BB` - Barbados - /// - `BY` - Belarus - /// - `BE` - Belgium - /// - `BZ` - Belize - /// - `BJ` - Benin - /// - `BM` - Bermuda - /// - `BT` - Bhutan - /// - `BO` - Bolivia - /// - `BQ` - Bonaire, Sint Eustatius and Saba - /// - `BA` - Bosnia and Herzegovina - /// - `BW` - Botswana - /// - `BV` - Bouvet Island - /// - `BR` - Brazil - /// - `IO` - British Indian Ocean Territory - /// - `BN` - Brunei - /// - `BG` - Bulgaria - /// - `BF` - Burkina Faso - /// - `BI` - Burundi - /// - `CV` - Cabo Verde - /// - `KH` - Cambodia - /// - `CM` - Cameroon - /// - `CA` - Canada - /// - `KY` - Cayman Islands - /// - `CF` - Central African Republic - /// - `TD` - Chad - /// - `CL` - Chile - /// - `CN` - China - /// - `CX` - Christmas Island - /// - `CC` - Cocos (Keeling) Islands - /// - `CO` - Colombia - /// - `KM` - Comoros - /// - `CG` - Congo - /// - `CD` - Congo (the Democratic Republic of the) - /// - `CK` - Cook Islands - /// - `CR` - Costa Rica - /// - `CI` - Côte d'Ivoire - /// - `HR` - Croatia - /// - `CU` - Cuba - /// - `CW` - Curaçao - /// - `CY` - Cyprus - /// - `CZ` - Czechia - /// - `DK` - Denmark - /// - `DJ` - Djibouti - /// - `DM` - Dominica - /// - `DO` - Dominican Republic - /// - `EC` - Ecuador - /// - `EG` - Egypt - /// - `SV` - El Salvador - /// - `GQ` - Equatorial Guinea - /// - `ER` - Eritrea - /// - `EE` - Estonia - /// - `SZ` - Eswatini - /// - `ET` - Ethiopia - /// - `FK` - Falkland Islands (Malvinas) - /// - `FO` - Faroe Islands - /// - `FJ` - Fiji - /// - `FI` - Finland - /// - `FR` - France - /// - `GF` - French Guiana - /// - `PF` - French Polynesia - /// - `TF` - French Southern Territories - /// - `GA` - Gabon - /// - `GM` - Gambia - /// - `GE` - Georgia - /// - `DE` - Germany - /// - `GH` - Ghana - /// - `GI` - Gibraltar - /// - `GR` - Greece - /// - `GL` - Greenland - /// - `GD` - Grenada - /// - `GP` - Guadeloupe - /// - `GU` - Guam - /// - `GT` - Guatemala - /// - `GG` - Guernsey - /// - `GN` - Guinea - /// - `GW` - Guinea-Bissau - /// - `GY` - Guyana - /// - `HT` - Haiti - /// - `HM` - Heard Island and McDonald Islands - /// - `VA` - Holy See - /// - `HN` - Honduras - /// - `HK` - Hong Kong - /// - `HU` - Hungary - /// - `IS` - Iceland - /// - `IN` - India - /// - `ID` - Indonesia - /// - `IR` - Iran - /// - `IQ` - Iraq - /// - `IE` - Ireland - /// - `IM` - Isle of Man - /// - `IL` - Israel - /// - `IT` - Italy - /// - `JM` - Jamaica - /// - `JP` - Japan - /// - `JE` - Jersey - /// - `JO` - Jordan - /// - `KZ` - Kazakhstan - /// - `KE` - Kenya - /// - `KI` - Kiribati - /// - `KW` - Kuwait - /// - `KG` - Kyrgyzstan - /// - `LA` - Laos - /// - `LV` - Latvia - /// - `LB` - Lebanon - /// - `LS` - Lesotho - /// - `LR` - Liberia - /// - `LY` - Libya - /// - `LI` - Liechtenstein - /// - `LT` - Lithuania - /// - `LU` - Luxembourg - /// - `MO` - Macao - /// - `MG` - Madagascar - /// - `MW` - Malawi - /// - `MY` - Malaysia - /// - `MV` - Maldives - /// - `ML` - Mali - /// - `MT` - Malta - /// - `MH` - Marshall Islands - /// - `MQ` - Martinique - /// - `MR` - Mauritania - /// - `MU` - Mauritius - /// - `YT` - Mayotte - /// - `MX` - Mexico - /// - `FM` - Micronesia (Federated States of) - /// - `MD` - Moldova - /// - `MC` - Monaco - /// - `MN` - Mongolia - /// - `ME` - Montenegro - /// - `MS` - Montserrat - /// - `MA` - Morocco - /// - `MZ` - Mozambique - /// - `MM` - Myanmar - /// - `NA` - Namibia - /// - `NR` - Nauru - /// - `NP` - Nepal - /// - `NL` - Netherlands - /// - `NC` - New Caledonia - /// - `NZ` - New Zealand - /// - `NI` - Nicaragua - /// - `NE` - Niger - /// - `NG` - Nigeria - /// - `NU` - Niue - /// - `NF` - Norfolk Island - /// - `KP` - North Korea - /// - `MK` - North Macedonia - /// - `MP` - Northern Mariana Islands - /// - `NO` - Norway - /// - `OM` - Oman - /// - `PK` - Pakistan - /// - `PW` - Palau - /// - `PS` - Palestine, State of - /// - `PA` - Panama - /// - `PG` - Papua New Guinea - /// - `PY` - Paraguay - /// - `PE` - Peru - /// - `PH` - Philippines - /// - `PN` - Pitcairn - /// - `PL` - Poland - /// - `PT` - Portugal - /// - `PR` - Puerto Rico - /// - `QA` - Qatar - /// - `RE` - Réunion - /// - `RO` - Romania - /// - `RU` - Russia - /// - `RW` - Rwanda - /// - `BL` - Saint Barthélemy - /// - `SH` - Saint Helena, Ascension and Tristan da Cunha - /// - `KN` - Saint Kitts and Nevis - /// - `LC` - Saint Lucia - /// - `MF` - Saint Martin (French part) - /// - `PM` - Saint Pierre and Miquelon - /// - `VC` - Saint Vincent and the Grenadines - /// - `WS` - Samoa - /// - `SM` - San Marino - /// - `ST` - Sao Tome and Principe - /// - `SA` - Saudi Arabia - /// - `SN` - Senegal - /// - `RS` - Serbia - /// - `SC` - Seychelles - /// - `SL` - Sierra Leone - /// - `SG` - Singapore - /// - `SX` - Sint Maarten (Dutch part) - /// - `SK` - Slovakia - /// - `SI` - Slovenia - /// - `SB` - Solomon Islands - /// - `SO` - Somalia - /// - `ZA` - South Africa - /// - `GS` - South Georgia and the South Sandwich Islands - /// - `KR` - South Korea - /// - `SS` - South Sudan - /// - `ES` - Spain - /// - `LK` - Sri Lanka - /// - `SD` - Sudan - /// - `SR` - Suriname - /// - `SJ` - Svalbard and Jan Mayen - /// - `SE` - Sweden - /// - `CH` - Switzerland - /// - `SY` - Syria - /// - `TW` - Taiwan - /// - `TJ` - Tajikistan - /// - `TZ` - Tanzania - /// - `TH` - Thailand - /// - `TL` - Timor-Leste - /// - `TG` - Togo - /// - `TK` - Tokelau - /// - `TO` - Tonga - /// - `TT` - Trinidad and Tobago - /// - `TN` - Tunisia - /// - `TR` - Turkey - /// - `TM` - Turkmenistan - /// - `TC` - Turks and Caicos Islands - /// - `TV` - Tuvalu - /// - `UG` - Uganda - /// - `UA` - Ukraine - /// - `AE` - United Arab Emirates - /// - `GB` - United Kingdom - /// - `UM` - United States Minor Outlying Islands - /// - `US` - United States of America - /// - `UY` - Uruguay - /// - `UZ` - Uzbekistan - /// - `VU` - Vanuatu - /// - `VE` - Venezuela - /// - `VN` - Vietnam - /// - `VG` - Virgin Islands (British) - /// - `VI` - Virgin Islands (U.S.) - /// - `WF` - Wallis and Futuna - /// - `EH` - Western Sahara - /// - `YE` - Yemen - /// - `ZM` - Zambia - /// - `ZW` - Zimbabwe + /// * `AF` - Afghanistan + /// * `AX` - Åland Islands + /// * `AL` - Albania + /// * `DZ` - Algeria + /// * `AS` - American Samoa + /// * `AD` - Andorra + /// * `AO` - Angola + /// * `AI` - Anguilla + /// * `AQ` - Antarctica + /// * `AG` - Antigua and Barbuda + /// * `AR` - Argentina + /// * `AM` - Armenia + /// * `AW` - Aruba + /// * `AU` - Australia + /// * `AT` - Austria + /// * `AZ` - Azerbaijan + /// * `BS` - Bahamas + /// * `BH` - Bahrain + /// * `BD` - Bangladesh + /// * `BB` - Barbados + /// * `BY` - Belarus + /// * `BE` - Belgium + /// * `BZ` - Belize + /// * `BJ` - Benin + /// * `BM` - Bermuda + /// * `BT` - Bhutan + /// * `BO` - Bolivia + /// * `BQ` - Bonaire, Sint Eustatius and Saba + /// * `BA` - Bosnia and Herzegovina + /// * `BW` - Botswana + /// * `BV` - Bouvet Island + /// * `BR` - Brazil + /// * `IO` - British Indian Ocean Territory + /// * `BN` - Brunei + /// * `BG` - Bulgaria + /// * `BF` - Burkina Faso + /// * `BI` - Burundi + /// * `CV` - Cabo Verde + /// * `KH` - Cambodia + /// * `CM` - Cameroon + /// * `CA` - Canada + /// * `KY` - Cayman Islands + /// * `CF` - Central African Republic + /// * `TD` - Chad + /// * `CL` - Chile + /// * `CN` - China + /// * `CX` - Christmas Island + /// * `CC` - Cocos (Keeling) Islands + /// * `CO` - Colombia + /// * `KM` - Comoros + /// * `CG` - Congo + /// * `CD` - Congo (the Democratic Republic of the) + /// * `CK` - Cook Islands + /// * `CR` - Costa Rica + /// * `CI` - Côte d'Ivoire + /// * `HR` - Croatia + /// * `CU` - Cuba + /// * `CW` - Curaçao + /// * `CY` - Cyprus + /// * `CZ` - Czechia + /// * `DK` - Denmark + /// * `DJ` - Djibouti + /// * `DM` - Dominica + /// * `DO` - Dominican Republic + /// * `EC` - Ecuador + /// * `EG` - Egypt + /// * `SV` - El Salvador + /// * `GQ` - Equatorial Guinea + /// * `ER` - Eritrea + /// * `EE` - Estonia + /// * `SZ` - Eswatini + /// * `ET` - Ethiopia + /// * `FK` - Falkland Islands (Malvinas) + /// * `FO` - Faroe Islands + /// * `FJ` - Fiji + /// * `FI` - Finland + /// * `FR` - France + /// * `GF` - French Guiana + /// * `PF` - French Polynesia + /// * `TF` - French Southern Territories + /// * `GA` - Gabon + /// * `GM` - Gambia + /// * `GE` - Georgia + /// * `DE` - Germany + /// * `GH` - Ghana + /// * `GI` - Gibraltar + /// * `GR` - Greece + /// * `GL` - Greenland + /// * `GD` - Grenada + /// * `GP` - Guadeloupe + /// * `GU` - Guam + /// * `GT` - Guatemala + /// * `GG` - Guernsey + /// * `GN` - Guinea + /// * `GW` - Guinea-Bissau + /// * `GY` - Guyana + /// * `HT` - Haiti + /// * `HM` - Heard Island and McDonald Islands + /// * `VA` - Holy See + /// * `HN` - Honduras + /// * `HK` - Hong Kong + /// * `HU` - Hungary + /// * `IS` - Iceland + /// * `IN` - India + /// * `ID` - Indonesia + /// * `IR` - Iran + /// * `IQ` - Iraq + /// * `IE` - Ireland + /// * `IM` - Isle of Man + /// * `IL` - Israel + /// * `IT` - Italy + /// * `JM` - Jamaica + /// * `JP` - Japan + /// * `JE` - Jersey + /// * `JO` - Jordan + /// * `KZ` - Kazakhstan + /// * `KE` - Kenya + /// * `KI` - Kiribati + /// * `KW` - Kuwait + /// * `KG` - Kyrgyzstan + /// * `LA` - Laos + /// * `LV` - Latvia + /// * `LB` - Lebanon + /// * `LS` - Lesotho + /// * `LR` - Liberia + /// * `LY` - Libya + /// * `LI` - Liechtenstein + /// * `LT` - Lithuania + /// * `LU` - Luxembourg + /// * `MO` - Macao + /// * `MG` - Madagascar + /// * `MW` - Malawi + /// * `MY` - Malaysia + /// * `MV` - Maldives + /// * `ML` - Mali + /// * `MT` - Malta + /// * `MH` - Marshall Islands + /// * `MQ` - Martinique + /// * `MR` - Mauritania + /// * `MU` - Mauritius + /// * `YT` - Mayotte + /// * `MX` - Mexico + /// * `FM` - Micronesia (Federated States of) + /// * `MD` - Moldova + /// * `MC` - Monaco + /// * `MN` - Mongolia + /// * `ME` - Montenegro + /// * `MS` - Montserrat + /// * `MA` - Morocco + /// * `MZ` - Mozambique + /// * `MM` - Myanmar + /// * `NA` - Namibia + /// * `NR` - Nauru + /// * `NP` - Nepal + /// * `NL` - Netherlands + /// * `NC` - New Caledonia + /// * `NZ` - New Zealand + /// * `NI` - Nicaragua + /// * `NE` - Niger + /// * `NG` - Nigeria + /// * `NU` - Niue + /// * `NF` - Norfolk Island + /// * `KP` - North Korea + /// * `MK` - North Macedonia + /// * `MP` - Northern Mariana Islands + /// * `NO` - Norway + /// * `OM` - Oman + /// * `PK` - Pakistan + /// * `PW` - Palau + /// * `PS` - Palestine, State of + /// * `PA` - Panama + /// * `PG` - Papua New Guinea + /// * `PY` - Paraguay + /// * `PE` - Peru + /// * `PH` - Philippines + /// * `PN` - Pitcairn + /// * `PL` - Poland + /// * `PT` - Portugal + /// * `PR` - Puerto Rico + /// * `QA` - Qatar + /// * `RE` - Réunion + /// * `RO` - Romania + /// * `RU` - Russia + /// * `RW` - Rwanda + /// * `BL` - Saint Barthélemy + /// * `SH` - Saint Helena, Ascension and Tristan da Cunha + /// * `KN` - Saint Kitts and Nevis + /// * `LC` - Saint Lucia + /// * `MF` - Saint Martin (French part) + /// * `PM` - Saint Pierre and Miquelon + /// * `VC` - Saint Vincent and the Grenadines + /// * `WS` - Samoa + /// * `SM` - San Marino + /// * `ST` - Sao Tome and Principe + /// * `SA` - Saudi Arabia + /// * `SN` - Senegal + /// * `RS` - Serbia + /// * `SC` - Seychelles + /// * `SL` - Sierra Leone + /// * `SG` - Singapore + /// * `SX` - Sint Maarten (Dutch part) + /// * `SK` - Slovakia + /// * `SI` - Slovenia + /// * `SB` - Solomon Islands + /// * `SO` - Somalia + /// * `ZA` - South Africa + /// * `GS` - South Georgia and the South Sandwich Islands + /// * `KR` - South Korea + /// * `SS` - South Sudan + /// * `ES` - Spain + /// * `LK` - Sri Lanka + /// * `SD` - Sudan + /// * `SR` - Suriname + /// * `SJ` - Svalbard and Jan Mayen + /// * `SE` - Sweden + /// * `CH` - Switzerland + /// * `SY` - Syria + /// * `TW` - Taiwan + /// * `TJ` - Tajikistan + /// * `TZ` - Tanzania + /// * `TH` - Thailand + /// * `TL` - Timor-Leste + /// * `TG` - Togo + /// * `TK` - Tokelau + /// * `TO` - Tonga + /// * `TT` - Trinidad and Tobago + /// * `TN` - Tunisia + /// * `TR` - Turkey + /// * `TM` - Turkmenistan + /// * `TC` - Turks and Caicos Islands + /// * `TV` - Tuvalu + /// * `UG` - Uganda + /// * `UA` - Ukraine + /// * `AE` - United Arab Emirates + /// * `GB` - United Kingdom + /// * `UM` - United States Minor Outlying Islands + /// * `US` - United States of America + /// * `UY` - Uruguay + /// * `UZ` - Uzbekistan + /// * `VU` - Vanuatu + /// * `VE` - Venezuela + /// * `VN` - Vietnam + /// * `VG` - Virgin Islands (British) + /// * `VI` - Virgin Islands (U.S.) + /// * `WF` - Wallis and Futuna + /// * `EH` - Western Sahara + /// * `YE` - Yemen + /// * `ZM` - Zambia + /// * `ZW` - Zimbabwe /// [JsonPropertyName("country")] public CountryEnum? Country { get; set; } @@ -294,18 +302,31 @@ public record AddressRequest /// /// The address type. /// - /// - `BILLING` - BILLING - /// - `SHIPPING` - SHIPPING + /// * `BILLING` - BILLING + /// * `SHIPPING` - SHIPPING /// [JsonPropertyName("address_type")] public AddressTypeEnum? AddressType { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("integration_params")] public Dictionary? IntegrationParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("linked_account_params")] public Dictionary? LinkedAccountParams { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/AdvancedMetadata.cs b/src/Merge.Client/Crm/Types/AdvancedMetadata.cs index 430eb2e7..bd9664dd 100644 --- a/src/Merge.Client/Crm/Types/AdvancedMetadata.cs +++ b/src/Merge.Client/Crm/Types/AdvancedMetadata.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -23,6 +24,17 @@ public record AdvancedMetadata [JsonPropertyName("field_choices")] public IEnumerable? FieldChoices { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/Association.cs b/src/Merge.Client/Crm/Types/Association.cs index 3a7a6e40..fce07ea6 100644 --- a/src/Merge.Client/Crm/Types/Association.cs +++ b/src/Merge.Client/Crm/Types/Association.cs @@ -1,26 +1,38 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Crm; +/// +/// # The Association Object +/// ### Description +/// The `Association` record refers to an instance of an Association Type. +/// ### Usage Example +/// TODO +/// public record Association { /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("source_object")] public string? SourceObject { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("target_object")] public string? TargetObject { get; set; } @@ -30,6 +42,17 @@ public record Association [JsonPropertyName("association_type")] public OneOf? AssociationType { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/AssociationSubType.cs b/src/Merge.Client/Crm/Types/AssociationSubType.cs index af842e73..7ad2d871 100644 --- a/src/Merge.Client/Crm/Types/AssociationSubType.cs +++ b/src/Merge.Client/Crm/Types/AssociationSubType.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -5,24 +6,39 @@ namespace Merge.Client.Crm; public record AssociationSubType { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("origin_type")] public string? OriginType { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/AssociationType.cs b/src/Merge.Client/Crm/Types/AssociationType.cs index 7f0127da..4806c994 100644 --- a/src/Merge.Client/Crm/Types/AssociationType.cs +++ b/src/Merge.Client/Crm/Types/AssociationType.cs @@ -1,10 +1,19 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; +/// +/// # The AssociationType Object +/// ### Description +/// The `Association Type` object represents the relationship between two objects. +/// ### Usage Example +/// TODO +/// public record AssociationType { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -17,21 +26,25 @@ public record AssociationType /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } /// /// The class of the source object (Custom Object or Common Model) for the association type. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("source_object_class")] public Dictionary? SourceObjectClass { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("target_object_classes")] public IEnumerable? TargetObjectClasses { get; set; } @@ -47,6 +60,17 @@ public record AssociationType [JsonPropertyName("is_required")] public bool? IsRequired { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/AssociationTypeRequestRequest.cs b/src/Merge.Client/Crm/Types/AssociationTypeRequestRequest.cs index 12d8be04..2a2bc9c3 100644 --- a/src/Merge.Client/Crm/Types/AssociationTypeRequestRequest.cs +++ b/src/Merge.Client/Crm/Types/AssociationTypeRequestRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -24,6 +25,17 @@ public record AssociationTypeRequestRequest [JsonPropertyName("is_required")] public bool? IsRequired { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/AsyncPassthroughReciept.cs b/src/Merge.Client/Crm/Types/AsyncPassthroughReciept.cs index bc0a1562..48baf582 100644 --- a/src/Merge.Client/Crm/Types/AsyncPassthroughReciept.cs +++ b/src/Merge.Client/Crm/Types/AsyncPassthroughReciept.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -8,6 +9,17 @@ public record AsyncPassthroughReciept [JsonPropertyName("async_passthrough_receipt_id")] public required string AsyncPassthroughReceiptId { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/AuditLogEvent.cs b/src/Merge.Client/Crm/Types/AuditLogEvent.cs index c61bbec4..2f827356 100644 --- a/src/Merge.Client/Crm/Types/AuditLogEvent.cs +++ b/src/Merge.Client/Crm/Types/AuditLogEvent.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -5,6 +6,7 @@ namespace Merge.Client.Crm; public record AuditLogEvent { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -23,12 +25,12 @@ public record AuditLogEvent /// /// Designates the role of the user (or SYSTEM/API if action not taken by a user) at the time of this Event occurring. /// - /// - `ADMIN` - ADMIN - /// - `DEVELOPER` - DEVELOPER - /// - `MEMBER` - MEMBER - /// - `API` - API - /// - `SYSTEM` - SYSTEM - /// - `MERGE_TEAM` - MERGE_TEAM + /// * `ADMIN` - ADMIN + /// * `DEVELOPER` - DEVELOPER + /// * `MEMBER` - MEMBER + /// * `API` - API + /// * `SYSTEM` - SYSTEM + /// * `MERGE_TEAM` - MERGE_TEAM /// [JsonPropertyName("role")] public required RoleEnum Role { get; set; } @@ -39,47 +41,48 @@ public record AuditLogEvent /// /// Designates the type of event that occurred. /// - /// - `CREATED_REMOTE_PRODUCTION_API_KEY` - CREATED_REMOTE_PRODUCTION_API_KEY - /// - `DELETED_REMOTE_PRODUCTION_API_KEY` - DELETED_REMOTE_PRODUCTION_API_KEY - /// - `CREATED_TEST_API_KEY` - CREATED_TEST_API_KEY - /// - `DELETED_TEST_API_KEY` - DELETED_TEST_API_KEY - /// - `REGENERATED_PRODUCTION_API_KEY` - REGENERATED_PRODUCTION_API_KEY - /// - `INVITED_USER` - INVITED_USER - /// - `TWO_FACTOR_AUTH_ENABLED` - TWO_FACTOR_AUTH_ENABLED - /// - `TWO_FACTOR_AUTH_DISABLED` - TWO_FACTOR_AUTH_DISABLED - /// - `DELETED_LINKED_ACCOUNT` - DELETED_LINKED_ACCOUNT - /// - `CREATED_DESTINATION` - CREATED_DESTINATION - /// - `DELETED_DESTINATION` - DELETED_DESTINATION - /// - `CHANGED_DESTINATION` - CHANGED_DESTINATION - /// - `CHANGED_SCOPES` - CHANGED_SCOPES - /// - `CHANGED_PERSONAL_INFORMATION` - CHANGED_PERSONAL_INFORMATION - /// - `CHANGED_ORGANIZATION_SETTINGS` - CHANGED_ORGANIZATION_SETTINGS - /// - `ENABLED_INTEGRATION` - ENABLED_INTEGRATION - /// - `DISABLED_INTEGRATION` - DISABLED_INTEGRATION - /// - `ENABLED_CATEGORY` - ENABLED_CATEGORY - /// - `DISABLED_CATEGORY` - DISABLED_CATEGORY - /// - `CHANGED_PASSWORD` - CHANGED_PASSWORD - /// - `RESET_PASSWORD` - RESET_PASSWORD - /// - `ENABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION` - ENABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION - /// - `ENABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT` - ENABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT - /// - `DISABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION` - DISABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION - /// - `DISABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT` - DISABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT - /// - `CREATED_INTEGRATION_WIDE_FIELD_MAPPING` - CREATED_INTEGRATION_WIDE_FIELD_MAPPING - /// - `CREATED_LINKED_ACCOUNT_FIELD_MAPPING` - CREATED_LINKED_ACCOUNT_FIELD_MAPPING - /// - `CHANGED_INTEGRATION_WIDE_FIELD_MAPPING` - CHANGED_INTEGRATION_WIDE_FIELD_MAPPING - /// - `CHANGED_LINKED_ACCOUNT_FIELD_MAPPING` - CHANGED_LINKED_ACCOUNT_FIELD_MAPPING - /// - `DELETED_INTEGRATION_WIDE_FIELD_MAPPING` - DELETED_INTEGRATION_WIDE_FIELD_MAPPING - /// - `DELETED_LINKED_ACCOUNT_FIELD_MAPPING` - DELETED_LINKED_ACCOUNT_FIELD_MAPPING - /// - `CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE` - CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE - /// - `CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE` - CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE - /// - `DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE` - DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE - /// - `FORCED_LINKED_ACCOUNT_RESYNC` - FORCED_LINKED_ACCOUNT_RESYNC - /// - `MUTED_ISSUE` - MUTED_ISSUE - /// - `GENERATED_MAGIC_LINK` - GENERATED_MAGIC_LINK - /// - `ENABLED_MERGE_WEBHOOK` - ENABLED_MERGE_WEBHOOK - /// - `DISABLED_MERGE_WEBHOOK` - DISABLED_MERGE_WEBHOOK - /// - `MERGE_WEBHOOK_TARGET_CHANGED` - MERGE_WEBHOOK_TARGET_CHANGED - /// - `END_USER_CREDENTIALS_ACCESSED` - END_USER_CREDENTIALS_ACCESSED + /// * `CREATED_REMOTE_PRODUCTION_API_KEY` - CREATED_REMOTE_PRODUCTION_API_KEY + /// * `DELETED_REMOTE_PRODUCTION_API_KEY` - DELETED_REMOTE_PRODUCTION_API_KEY + /// * `CREATED_TEST_API_KEY` - CREATED_TEST_API_KEY + /// * `DELETED_TEST_API_KEY` - DELETED_TEST_API_KEY + /// * `REGENERATED_PRODUCTION_API_KEY` - REGENERATED_PRODUCTION_API_KEY + /// * `INVITED_USER` - INVITED_USER + /// * `TWO_FACTOR_AUTH_ENABLED` - TWO_FACTOR_AUTH_ENABLED + /// * `TWO_FACTOR_AUTH_DISABLED` - TWO_FACTOR_AUTH_DISABLED + /// * `DELETED_LINKED_ACCOUNT` - DELETED_LINKED_ACCOUNT + /// * `DELETED_ALL_COMMON_MODELS_FOR_LINKED_ACCOUNT` - DELETED_ALL_COMMON_MODELS_FOR_LINKED_ACCOUNT + /// * `CREATED_DESTINATION` - CREATED_DESTINATION + /// * `DELETED_DESTINATION` - DELETED_DESTINATION + /// * `CHANGED_DESTINATION` - CHANGED_DESTINATION + /// * `CHANGED_SCOPES` - CHANGED_SCOPES + /// * `CHANGED_PERSONAL_INFORMATION` - CHANGED_PERSONAL_INFORMATION + /// * `CHANGED_ORGANIZATION_SETTINGS` - CHANGED_ORGANIZATION_SETTINGS + /// * `ENABLED_INTEGRATION` - ENABLED_INTEGRATION + /// * `DISABLED_INTEGRATION` - DISABLED_INTEGRATION + /// * `ENABLED_CATEGORY` - ENABLED_CATEGORY + /// * `DISABLED_CATEGORY` - DISABLED_CATEGORY + /// * `CHANGED_PASSWORD` - CHANGED_PASSWORD + /// * `RESET_PASSWORD` - RESET_PASSWORD + /// * `ENABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION` - ENABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION + /// * `ENABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT` - ENABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT + /// * `DISABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION` - DISABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION + /// * `DISABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT` - DISABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT + /// * `CREATED_INTEGRATION_WIDE_FIELD_MAPPING` - CREATED_INTEGRATION_WIDE_FIELD_MAPPING + /// * `CREATED_LINKED_ACCOUNT_FIELD_MAPPING` - CREATED_LINKED_ACCOUNT_FIELD_MAPPING + /// * `CHANGED_INTEGRATION_WIDE_FIELD_MAPPING` - CHANGED_INTEGRATION_WIDE_FIELD_MAPPING + /// * `CHANGED_LINKED_ACCOUNT_FIELD_MAPPING` - CHANGED_LINKED_ACCOUNT_FIELD_MAPPING + /// * `DELETED_INTEGRATION_WIDE_FIELD_MAPPING` - DELETED_INTEGRATION_WIDE_FIELD_MAPPING + /// * `DELETED_LINKED_ACCOUNT_FIELD_MAPPING` - DELETED_LINKED_ACCOUNT_FIELD_MAPPING + /// * `CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE` - CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE + /// * `CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE` - CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE + /// * `DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE` - DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE + /// * `FORCED_LINKED_ACCOUNT_RESYNC` - FORCED_LINKED_ACCOUNT_RESYNC + /// * `MUTED_ISSUE` - MUTED_ISSUE + /// * `GENERATED_MAGIC_LINK` - GENERATED_MAGIC_LINK + /// * `ENABLED_MERGE_WEBHOOK` - ENABLED_MERGE_WEBHOOK + /// * `DISABLED_MERGE_WEBHOOK` - DISABLED_MERGE_WEBHOOK + /// * `MERGE_WEBHOOK_TARGET_CHANGED` - MERGE_WEBHOOK_TARGET_CHANGED + /// * `END_USER_CREDENTIALS_ACCESSED` - END_USER_CREDENTIALS_ACCESSED /// [JsonPropertyName("event_type")] public required EventTypeEnum EventType { get; set; } @@ -87,9 +90,21 @@ public record AuditLogEvent [JsonPropertyName("event_description")] public required string EventDescription { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/AvailableActions.cs b/src/Merge.Client/Crm/Types/AvailableActions.cs index a62e98f3..7f27faf2 100644 --- a/src/Merge.Client/Crm/Types/AvailableActions.cs +++ b/src/Merge.Client/Crm/Types/AvailableActions.cs @@ -1,8 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; +/// +/// # The AvailableActions Object +/// ### Description +/// The `Activity` object is used to see all available model/operation combinations for an integration. +/// +/// ### Usage Example +/// Fetch all the actions available for the `Zenefits` integration. +/// public record AvailableActions { [JsonPropertyName("integration")] @@ -14,6 +23,17 @@ public record AvailableActions [JsonPropertyName("available_model_operations")] public IEnumerable? AvailableModelOperations { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/CommonModelScopeApi.cs b/src/Merge.Client/Crm/Types/CommonModelScopeApi.cs index ace8092b..c85d3938 100644 --- a/src/Merge.Client/Crm/Types/CommonModelScopeApi.cs +++ b/src/Merge.Client/Crm/Types/CommonModelScopeApi.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -12,6 +13,17 @@ public record CommonModelScopeApi public IEnumerable CommonModels { get; set; } = new List(); + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/CommonModelScopesBodyRequest.cs b/src/Merge.Client/Crm/Types/CommonModelScopesBodyRequest.cs index 92f8cbb7..c994a598 100644 --- a/src/Merge.Client/Crm/Types/CommonModelScopesBodyRequest.cs +++ b/src/Merge.Client/Crm/Types/CommonModelScopesBodyRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -15,6 +16,17 @@ public record CommonModelScopesBodyRequest [JsonPropertyName("disabled_fields")] public IEnumerable DisabledFields { get; set; } = new List(); + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/Contact.cs b/src/Merge.Client/Crm/Types/Contact.cs index 4a0843e4..43874430 100644 --- a/src/Merge.Client/Crm/Types/Contact.cs +++ b/src/Merge.Client/Crm/Types/Contact.cs @@ -1,11 +1,20 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Crm; +/// +/// # The Contact Object +/// ### Description +/// The `Contact` object is used to represent an existing point of contact at a company in a CRM system. +/// ### Usage Example +/// TODO +/// public record Contact { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -18,12 +27,14 @@ public record Contact /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -75,18 +86,33 @@ public record Contact /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_fields")] public IEnumerable? RemoteFields { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/ContactRequest.cs b/src/Merge.Client/Crm/Types/ContactRequest.cs index b0d1c8f1..62453cd0 100644 --- a/src/Merge.Client/Crm/Types/ContactRequest.cs +++ b/src/Merge.Client/Crm/Types/ContactRequest.cs @@ -1,9 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Crm; +/// +/// # The Contact Object +/// ### Description +/// The `Contact` object is used to represent an existing point of contact at a company in a CRM system. +/// ### Usage Example +/// TODO +/// public record ContactRequest { /// @@ -45,15 +53,29 @@ public record ContactRequest [JsonPropertyName("last_activity_at")] public DateTime? LastActivityAt { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("integration_params")] public Dictionary? IntegrationParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("linked_account_params")] public Dictionary? LinkedAccountParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("remote_fields")] public IEnumerable? RemoteFields { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/CrmAccountResponse.cs b/src/Merge.Client/Crm/Types/CrmAccountResponse.cs index 96b7e9c9..be07a729 100644 --- a/src/Merge.Client/Crm/Types/CrmAccountResponse.cs +++ b/src/Merge.Client/Crm/Types/CrmAccountResponse.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -19,6 +20,17 @@ public record CrmAccountResponse [JsonPropertyName("logs")] public IEnumerable? Logs { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/CrmAssociationTypeResponse.cs b/src/Merge.Client/Crm/Types/CrmAssociationTypeResponse.cs index b84a7e79..5824e428 100644 --- a/src/Merge.Client/Crm/Types/CrmAssociationTypeResponse.cs +++ b/src/Merge.Client/Crm/Types/CrmAssociationTypeResponse.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -19,6 +20,17 @@ public record CrmAssociationTypeResponse [JsonPropertyName("logs")] public IEnumerable? Logs { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/CrmContactResponse.cs b/src/Merge.Client/Crm/Types/CrmContactResponse.cs index 2d94bc53..d30cbea0 100644 --- a/src/Merge.Client/Crm/Types/CrmContactResponse.cs +++ b/src/Merge.Client/Crm/Types/CrmContactResponse.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -19,6 +20,17 @@ public record CrmContactResponse [JsonPropertyName("logs")] public IEnumerable? Logs { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/CrmCustomObjectResponse.cs b/src/Merge.Client/Crm/Types/CrmCustomObjectResponse.cs index 88f19934..b74e04a4 100644 --- a/src/Merge.Client/Crm/Types/CrmCustomObjectResponse.cs +++ b/src/Merge.Client/Crm/Types/CrmCustomObjectResponse.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -19,6 +20,17 @@ public record CrmCustomObjectResponse [JsonPropertyName("logs")] public IEnumerable? Logs { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/CustomObject.cs b/src/Merge.Client/Crm/Types/CustomObject.cs index e5ef8116..5b031143 100644 --- a/src/Merge.Client/Crm/Types/CustomObject.cs +++ b/src/Merge.Client/Crm/Types/CustomObject.cs @@ -1,10 +1,19 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; +/// +/// # The CustomObject Object +/// ### Description +/// The `Custom Object` record refers to an instance of a Custom Object Class. +/// ### Usage Example +/// TODO +/// public record CustomObject { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -17,12 +26,14 @@ public record CustomObject /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -35,12 +46,25 @@ public record CustomObject /// /// The fields and values contained within the custom object record. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("fields")] public Dictionary? Fields { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_fields")] public IEnumerable? RemoteFields { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/CustomObjectClass.cs b/src/Merge.Client/Crm/Types/CustomObjectClass.cs index 3d2c8b81..4f448900 100644 --- a/src/Merge.Client/Crm/Types/CustomObjectClass.cs +++ b/src/Merge.Client/Crm/Types/CustomObjectClass.cs @@ -1,10 +1,19 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; +/// +/// # The Custom Object Class Object +/// ### Description +/// The `Custom Object Class` object is used to represent a Custom Object Schema in the remote system. +/// ### Usage Example +/// TODO +/// public record CustomObjectClass { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -14,9 +23,11 @@ public record CustomObjectClass [JsonPropertyName("remote_id")] public string? RemoteId { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -35,18 +46,32 @@ public record CustomObjectClass /// /// The custom object class's singular and plural labels. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("labels")] public Dictionary? Labels { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("fields")] public IEnumerable? Fields { get; set; } /// /// The types of associations with other models that the custom object class can have. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("association_types")] public IEnumerable>? AssociationTypes { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/CustomObjectRequest.cs b/src/Merge.Client/Crm/Types/CustomObjectRequest.cs index 73d8350d..288cc0ae 100644 --- a/src/Merge.Client/Crm/Types/CustomObjectRequest.cs +++ b/src/Merge.Client/Crm/Types/CustomObjectRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -8,6 +9,17 @@ public record CustomObjectRequest [JsonPropertyName("fields")] public Dictionary Fields { get; set; } = new Dictionary(); + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/DataPassthroughRequest.cs b/src/Merge.Client/Crm/Types/DataPassthroughRequest.cs index 3235a512..b1910014 100644 --- a/src/Merge.Client/Crm/Types/DataPassthroughRequest.cs +++ b/src/Merge.Client/Crm/Types/DataPassthroughRequest.cs @@ -1,8 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; +/// +/// # The DataPassthrough Object +/// ### Description +/// The `DataPassthrough` object is used to send information to an otherwise-unsupported third-party endpoint. +/// +/// ### Usage Example +/// Create a `DataPassthrough` to get team hierarchies from your Rippling integration. +/// public record DataPassthroughRequest { [JsonPropertyName("method")] @@ -47,6 +56,17 @@ public record DataPassthroughRequest [JsonPropertyName("normalize_response")] public bool? NormalizeResponse { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/DebugModeLog.cs b/src/Merge.Client/Crm/Types/DebugModeLog.cs index d4bed87b..a9562f53 100644 --- a/src/Merge.Client/Crm/Types/DebugModeLog.cs +++ b/src/Merge.Client/Crm/Types/DebugModeLog.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record DebugModeLog [JsonPropertyName("log_summary")] public required DebugModelLogSummary LogSummary { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/DebugModelLogSummary.cs b/src/Merge.Client/Crm/Types/DebugModelLogSummary.cs index a01317ec..5d78ad54 100644 --- a/src/Merge.Client/Crm/Types/DebugModelLogSummary.cs +++ b/src/Merge.Client/Crm/Types/DebugModelLogSummary.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record DebugModelLogSummary [JsonPropertyName("status_code")] public required int StatusCode { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/EmailAddress.cs b/src/Merge.Client/Crm/Types/EmailAddress.cs index 3be94919..dfa6e3b6 100644 --- a/src/Merge.Client/Crm/Types/EmailAddress.cs +++ b/src/Merge.Client/Crm/Types/EmailAddress.cs @@ -1,19 +1,29 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; +/// +/// # The EmailAddress Object +/// ### Description +/// The `EmailAddress` object is used to represent an entity's email address. +/// ### Usage Example +/// Fetch from the `GET Contact` endpoint and view their email addresses. +/// public record EmailAddress { /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -29,6 +39,17 @@ public record EmailAddress [JsonPropertyName("email_address_type")] public string? EmailAddressType { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/EmailAddressRequest.cs b/src/Merge.Client/Crm/Types/EmailAddressRequest.cs index 9e4d9168..9479ad44 100644 --- a/src/Merge.Client/Crm/Types/EmailAddressRequest.cs +++ b/src/Merge.Client/Crm/Types/EmailAddressRequest.cs @@ -1,8 +1,16 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; +/// +/// # The EmailAddress Object +/// ### Description +/// The `EmailAddress` object is used to represent an entity's email address. +/// ### Usage Example +/// Fetch from the `GET Contact` endpoint and view their email addresses. +/// public record EmailAddressRequest { /// @@ -17,12 +25,25 @@ public record EmailAddressRequest [JsonPropertyName("email_address_type")] public string? EmailAddressType { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("integration_params")] public Dictionary? IntegrationParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("linked_account_params")] public Dictionary? LinkedAccountParams { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/Engagement.cs b/src/Merge.Client/Crm/Types/Engagement.cs index 06621e73..be22206e 100644 --- a/src/Merge.Client/Crm/Types/Engagement.cs +++ b/src/Merge.Client/Crm/Types/Engagement.cs @@ -1,11 +1,20 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Crm; +/// +/// # The Engagement Object +/// ### Description +/// The `Engagement` object is used to represent an interaction noted in a CRM system. +/// ### Usage Example +/// TODO +/// public record Engagement { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -18,12 +27,14 @@ public record Engagement /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -48,8 +59,8 @@ public record Engagement /// /// The engagement's direction. /// - /// - `INBOUND` - INBOUND - /// - `OUTBOUND` - OUTBOUND + /// * `INBOUND` - INBOUND + /// * `OUTBOUND` - OUTBOUND /// [JsonPropertyName("direction")] public DirectionEnum? Direction { get; set; } @@ -84,18 +95,33 @@ public record Engagement /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_fields")] public IEnumerable? RemoteFields { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/EngagementRequest.cs b/src/Merge.Client/Crm/Types/EngagementRequest.cs index 5a7b5a08..cdb5f06f 100644 --- a/src/Merge.Client/Crm/Types/EngagementRequest.cs +++ b/src/Merge.Client/Crm/Types/EngagementRequest.cs @@ -1,9 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Crm; +/// +/// # The Engagement Object +/// ### Description +/// The `Engagement` object is used to represent an interaction noted in a CRM system. +/// ### Usage Example +/// TODO +/// public record EngagementRequest { /// @@ -27,8 +35,8 @@ public record EngagementRequest /// /// The engagement's direction. /// - /// - `INBOUND` - INBOUND - /// - `OUTBOUND` - OUTBOUND + /// * `INBOUND` - INBOUND + /// * `OUTBOUND` - OUTBOUND /// [JsonPropertyName("direction")] public DirectionEnum? Direction { get; set; } @@ -60,15 +68,29 @@ public record EngagementRequest [JsonPropertyName("contacts")] public IEnumerable>? Contacts { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("integration_params")] public Dictionary? IntegrationParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("linked_account_params")] public Dictionary? LinkedAccountParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("remote_fields")] public IEnumerable? RemoteFields { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/EngagementResponse.cs b/src/Merge.Client/Crm/Types/EngagementResponse.cs index e37eaa90..80809f72 100644 --- a/src/Merge.Client/Crm/Types/EngagementResponse.cs +++ b/src/Merge.Client/Crm/Types/EngagementResponse.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -19,6 +20,17 @@ public record EngagementResponse [JsonPropertyName("logs")] public IEnumerable? Logs { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/EngagementType.cs b/src/Merge.Client/Crm/Types/EngagementType.cs index db0bdab7..69e5c58a 100644 --- a/src/Merge.Client/Crm/Types/EngagementType.cs +++ b/src/Merge.Client/Crm/Types/EngagementType.cs @@ -1,10 +1,19 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; +/// +/// # The Engagement Type Object +/// ### Description +/// The `Engagement Type` object is used to represent an interaction activity. A given `Engagement` typically has an `Engagement Type` object represented in the engagement_type field. +/// ### Usage Example +/// TODO +/// public record EngagementType { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -17,21 +26,23 @@ public record EngagementType /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } /// /// The engagement type's activity type. /// - /// - `CALL` - CALL - /// - `MEETING` - MEETING - /// - `EMAIL` - EMAIL + /// * `CALL` - CALL + /// * `MEETING` - MEETING + /// * `EMAIL` - EMAIL /// [JsonPropertyName("activity_type")] public ActivityTypeEnum? ActivityType { get; set; } @@ -42,9 +53,21 @@ public record EngagementType [JsonPropertyName("name")] public string? Name { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_fields")] public IEnumerable? RemoteFields { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/ErrorValidationProblem.cs b/src/Merge.Client/Crm/Types/ErrorValidationProblem.cs index e4a73ee3..e0eeb1aa 100644 --- a/src/Merge.Client/Crm/Types/ErrorValidationProblem.cs +++ b/src/Merge.Client/Crm/Types/ErrorValidationProblem.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -17,6 +18,17 @@ public record ErrorValidationProblem [JsonPropertyName("problem_type")] public required string ProblemType { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/EventTypeEnum.cs b/src/Merge.Client/Crm/Types/EventTypeEnum.cs index 054c8dba..519e4c60 100644 --- a/src/Merge.Client/Crm/Types/EventTypeEnum.cs +++ b/src/Merge.Client/Crm/Types/EventTypeEnum.cs @@ -34,6 +34,9 @@ public enum EventTypeEnum [EnumMember(Value = "DELETED_LINKED_ACCOUNT")] DeletedLinkedAccount, + [EnumMember(Value = "DELETED_ALL_COMMON_MODELS_FOR_LINKED_ACCOUNT")] + DeletedAllCommonModelsForLinkedAccount, + [EnumMember(Value = "CREATED_DESTINATION")] CreatedDestination, diff --git a/src/Merge.Client/Crm/Types/ExternalTargetFieldApi.cs b/src/Merge.Client/Crm/Types/ExternalTargetFieldApi.cs index 283b609b..560f8abe 100644 --- a/src/Merge.Client/Crm/Types/ExternalTargetFieldApi.cs +++ b/src/Merge.Client/Crm/Types/ExternalTargetFieldApi.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -5,15 +6,29 @@ namespace Merge.Client.Crm; public record ExternalTargetFieldApi { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("name")] public string? Name { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("description")] public string? Description { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("is_mapped")] public string? IsMapped { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/ExternalTargetFieldApiResponse.cs b/src/Merge.Client/Crm/Types/ExternalTargetFieldApiResponse.cs index f851f3bd..7cfcdfb8 100644 --- a/src/Merge.Client/Crm/Types/ExternalTargetFieldApiResponse.cs +++ b/src/Merge.Client/Crm/Types/ExternalTargetFieldApiResponse.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -32,6 +33,17 @@ public record ExternalTargetFieldApiResponse [JsonPropertyName("Engagement")] public IEnumerable? Engagement { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/FieldMappingApiInstance.cs b/src/Merge.Client/Crm/Types/FieldMappingApiInstance.cs index afd24de0..fb6d0d9a 100644 --- a/src/Merge.Client/Crm/Types/FieldMappingApiInstance.cs +++ b/src/Merge.Client/Crm/Types/FieldMappingApiInstance.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -5,18 +6,33 @@ namespace Merge.Client.Crm; public record FieldMappingApiInstance { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("is_integration_wide")] public bool? IsIntegrationWide { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("target_field")] public FieldMappingApiInstanceTargetField? TargetField { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_field")] public FieldMappingApiInstanceRemoteField? RemoteField { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/FieldMappingApiInstanceRemoteField.cs b/src/Merge.Client/Crm/Types/FieldMappingApiInstanceRemoteField.cs index eacaba84..302caa5b 100644 --- a/src/Merge.Client/Crm/Types/FieldMappingApiInstanceRemoteField.cs +++ b/src/Merge.Client/Crm/Types/FieldMappingApiInstanceRemoteField.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record FieldMappingApiInstanceRemoteField [JsonPropertyName("remote_endpoint_info")] public required FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo RemoteEndpointInfo { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo.cs b/src/Merge.Client/Crm/Types/FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo.cs index 2b418ef0..fd5c99ef 100644 --- a/src/Merge.Client/Crm/Types/FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo.cs +++ b/src/Merge.Client/Crm/Types/FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo [JsonPropertyName("field_traversal_path")] public IEnumerable? FieldTraversalPath { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/FieldMappingApiInstanceResponse.cs b/src/Merge.Client/Crm/Types/FieldMappingApiInstanceResponse.cs index fa037ee7..4cc768be 100644 --- a/src/Merge.Client/Crm/Types/FieldMappingApiInstanceResponse.cs +++ b/src/Merge.Client/Crm/Types/FieldMappingApiInstanceResponse.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -32,6 +33,17 @@ public record FieldMappingApiInstanceResponse [JsonPropertyName("Engagement")] public IEnumerable? Engagement { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/FieldMappingApiInstanceTargetField.cs b/src/Merge.Client/Crm/Types/FieldMappingApiInstanceTargetField.cs index a28ab2ca..349be4d8 100644 --- a/src/Merge.Client/Crm/Types/FieldMappingApiInstanceTargetField.cs +++ b/src/Merge.Client/Crm/Types/FieldMappingApiInstanceTargetField.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record FieldMappingApiInstanceTargetField [JsonPropertyName("is_organization_wide")] public required bool IsOrganizationWide { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/FieldMappingInstanceResponse.cs b/src/Merge.Client/Crm/Types/FieldMappingInstanceResponse.cs index fbff9de5..4110bc50 100644 --- a/src/Merge.Client/Crm/Types/FieldMappingInstanceResponse.cs +++ b/src/Merge.Client/Crm/Types/FieldMappingInstanceResponse.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -19,6 +20,17 @@ public record FieldMappingInstanceResponse [JsonPropertyName("logs")] public IEnumerable? Logs { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/FieldPermissionDeserializer.cs b/src/Merge.Client/Crm/Types/FieldPermissionDeserializer.cs index 51ca7210..a44ab6be 100644 --- a/src/Merge.Client/Crm/Types/FieldPermissionDeserializer.cs +++ b/src/Merge.Client/Crm/Types/FieldPermissionDeserializer.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -11,6 +12,17 @@ public record FieldPermissionDeserializer [JsonPropertyName("disabled_fields")] public IEnumerable? DisabledFields { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/FieldPermissionDeserializerRequest.cs b/src/Merge.Client/Crm/Types/FieldPermissionDeserializerRequest.cs index cd34705c..de409517 100644 --- a/src/Merge.Client/Crm/Types/FieldPermissionDeserializerRequest.cs +++ b/src/Merge.Client/Crm/Types/FieldPermissionDeserializerRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -11,6 +12,17 @@ public record FieldPermissionDeserializerRequest [JsonPropertyName("disabled_fields")] public IEnumerable? DisabledFields { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/IgnoreCommonModelRequest.cs b/src/Merge.Client/Crm/Types/IgnoreCommonModelRequest.cs index 7b27cb4f..4eca3027 100644 --- a/src/Merge.Client/Crm/Types/IgnoreCommonModelRequest.cs +++ b/src/Merge.Client/Crm/Types/IgnoreCommonModelRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -11,6 +12,17 @@ public record IgnoreCommonModelRequest [JsonPropertyName("message")] public string? Message { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/IndividualCommonModelScopeDeserializer.cs b/src/Merge.Client/Crm/Types/IndividualCommonModelScopeDeserializer.cs index 159807a4..464eb752 100644 --- a/src/Merge.Client/Crm/Types/IndividualCommonModelScopeDeserializer.cs +++ b/src/Merge.Client/Crm/Types/IndividualCommonModelScopeDeserializer.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record IndividualCommonModelScopeDeserializer [JsonPropertyName("field_permissions")] public FieldPermissionDeserializer? FieldPermissions { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/IndividualCommonModelScopeDeserializerRequest.cs b/src/Merge.Client/Crm/Types/IndividualCommonModelScopeDeserializerRequest.cs index 659654d3..3e4379d8 100644 --- a/src/Merge.Client/Crm/Types/IndividualCommonModelScopeDeserializerRequest.cs +++ b/src/Merge.Client/Crm/Types/IndividualCommonModelScopeDeserializerRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record IndividualCommonModelScopeDeserializerRequest [JsonPropertyName("field_permissions")] public FieldPermissionDeserializerRequest? FieldPermissions { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/Issue.cs b/src/Merge.Client/Crm/Types/Issue.cs index 2355e2cf..0eb47fbb 100644 --- a/src/Merge.Client/Crm/Types/Issue.cs +++ b/src/Merge.Client/Crm/Types/Issue.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -5,14 +6,15 @@ namespace Merge.Client.Crm; public record Issue { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } /// /// Status of the issue. Options: ('ONGOING', 'RESOLVED') /// - /// - `ONGOING` - ONGOING - /// - `RESOLVED` - RESOLVED + /// * `ONGOING` - ONGOING + /// * `RESOLVED` - RESOLVED /// [JsonPropertyName("status")] public IssueStatusEnum? Status { get; set; } @@ -20,6 +22,7 @@ public record Issue [JsonPropertyName("error_description")] public required string ErrorDescription { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("end_user")] public Dictionary? EndUser { get; set; } @@ -29,12 +32,25 @@ public record Issue [JsonPropertyName("last_incident_time")] public DateTime? LastIncidentTime { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("is_muted")] public bool? IsMuted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("error_details")] public IEnumerable? ErrorDetails { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/ItemSchema.cs b/src/Merge.Client/Crm/Types/ItemSchema.cs index a4147141..01895f24 100644 --- a/src/Merge.Client/Crm/Types/ItemSchema.cs +++ b/src/Merge.Client/Crm/Types/ItemSchema.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record ItemSchema [JsonPropertyName("item_choices")] public IEnumerable? ItemChoices { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/SyncStatusStatusEnum.cs b/src/Merge.Client/Crm/Types/LastSyncResultEnum.cs similarity index 82% rename from src/Merge.Client/Crm/Types/SyncStatusStatusEnum.cs rename to src/Merge.Client/Crm/Types/LastSyncResultEnum.cs index 69be38b4..ede8f4ac 100644 --- a/src/Merge.Client/Crm/Types/SyncStatusStatusEnum.cs +++ b/src/Merge.Client/Crm/Types/LastSyncResultEnum.cs @@ -4,8 +4,8 @@ namespace Merge.Client.Crm; -[JsonConverter(typeof(EnumSerializer))] -public enum SyncStatusStatusEnum +[JsonConverter(typeof(EnumSerializer))] +public enum LastSyncResultEnum { [EnumMember(Value = "SYNCING")] Syncing, diff --git a/src/Merge.Client/Crm/Types/Lead.cs b/src/Merge.Client/Crm/Types/Lead.cs index 23070d8b..17511014 100644 --- a/src/Merge.Client/Crm/Types/Lead.cs +++ b/src/Merge.Client/Crm/Types/Lead.cs @@ -1,11 +1,20 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Crm; +/// +/// # The Lead Object +/// ### Description +/// The `Lead` object is used to represent an individual who is a potential customer. +/// ### Usage Example +/// TODO +/// public record Lead { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -18,12 +27,14 @@ public record Lead /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -63,12 +74,15 @@ public record Lead [JsonPropertyName("last_name")] public string? LastName { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("addresses")] public IEnumerable
? Addresses { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("email_addresses")] public IEnumerable? EmailAddresses { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("phone_numbers")] public IEnumerable? PhoneNumbers { get; set; } @@ -105,18 +119,33 @@ public record Lead /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_fields")] public IEnumerable? RemoteFields { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/LeadRequest.cs b/src/Merge.Client/Crm/Types/LeadRequest.cs index a2cb9747..da597640 100644 --- a/src/Merge.Client/Crm/Types/LeadRequest.cs +++ b/src/Merge.Client/Crm/Types/LeadRequest.cs @@ -1,9 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Crm; +/// +/// # The Lead Object +/// ### Description +/// The `Lead` object is used to represent an individual who is a potential customer. +/// ### Usage Example +/// TODO +/// public record LeadRequest { /// @@ -69,15 +77,29 @@ public record LeadRequest [JsonPropertyName("converted_account")] public OneOf? ConvertedAccount { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("integration_params")] public Dictionary? IntegrationParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("linked_account_params")] public Dictionary? LinkedAccountParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("remote_fields")] public IEnumerable? RemoteFields { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/LeadResponse.cs b/src/Merge.Client/Crm/Types/LeadResponse.cs index b59a63d8..ac4836a5 100644 --- a/src/Merge.Client/Crm/Types/LeadResponse.cs +++ b/src/Merge.Client/Crm/Types/LeadResponse.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -19,6 +20,17 @@ public record LeadResponse [JsonPropertyName("logs")] public IEnumerable? Logs { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/LinkToken.cs b/src/Merge.Client/Crm/Types/LinkToken.cs index ed2ba54d..0a18a15f 100644 --- a/src/Merge.Client/Crm/Types/LinkToken.cs +++ b/src/Merge.Client/Crm/Types/LinkToken.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record LinkToken [JsonPropertyName("magic_link_url")] public string? MagicLinkUrl { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/LinkedAccountStatus.cs b/src/Merge.Client/Crm/Types/LinkedAccountStatus.cs index 5d2de4ec..896f7ef9 100644 --- a/src/Merge.Client/Crm/Types/LinkedAccountStatus.cs +++ b/src/Merge.Client/Crm/Types/LinkedAccountStatus.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -11,6 +12,17 @@ public record LinkedAccountStatus [JsonPropertyName("can_make_request")] public required bool CanMakeRequest { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/MetaResponse.cs b/src/Merge.Client/Crm/Types/MetaResponse.cs index 9b3d10ad..e516e645 100644 --- a/src/Merge.Client/Crm/Types/MetaResponse.cs +++ b/src/Merge.Client/Crm/Types/MetaResponse.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -21,6 +22,17 @@ public record MetaResponse [JsonPropertyName("has_required_linked_account_params")] public required bool HasRequiredLinkedAccountParams { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/ModelOperation.cs b/src/Merge.Client/Crm/Types/ModelOperation.cs index 8728de06..292af63d 100644 --- a/src/Merge.Client/Crm/Types/ModelOperation.cs +++ b/src/Merge.Client/Crm/Types/ModelOperation.cs @@ -1,8 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; +/// +/// # The ModelOperation Object +/// ### Description +/// The `ModelOperation` object is used to represent the operations that are currently supported for a given model. +/// +/// ### Usage Example +/// View what operations are supported for the `Candidate` endpoint. +/// public record ModelOperation { [JsonPropertyName("model_name")] @@ -17,6 +26,17 @@ public record ModelOperation [JsonPropertyName("supported_fields")] public IEnumerable SupportedFields { get; set; } = new List(); + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/ModelPermissionDeserializer.cs b/src/Merge.Client/Crm/Types/ModelPermissionDeserializer.cs index d3d94d00..50043918 100644 --- a/src/Merge.Client/Crm/Types/ModelPermissionDeserializer.cs +++ b/src/Merge.Client/Crm/Types/ModelPermissionDeserializer.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -8,6 +9,17 @@ public record ModelPermissionDeserializer [JsonPropertyName("is_enabled")] public bool? IsEnabled { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/ModelPermissionDeserializerRequest.cs b/src/Merge.Client/Crm/Types/ModelPermissionDeserializerRequest.cs index c614a6cb..4c343832 100644 --- a/src/Merge.Client/Crm/Types/ModelPermissionDeserializerRequest.cs +++ b/src/Merge.Client/Crm/Types/ModelPermissionDeserializerRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -8,6 +9,17 @@ public record ModelPermissionDeserializerRequest [JsonPropertyName("is_enabled")] public bool? IsEnabled { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/MultipartFormFieldRequest.cs b/src/Merge.Client/Crm/Types/MultipartFormFieldRequest.cs index 657fa68f..8b83e655 100644 --- a/src/Merge.Client/Crm/Types/MultipartFormFieldRequest.cs +++ b/src/Merge.Client/Crm/Types/MultipartFormFieldRequest.cs @@ -1,8 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; +/// +/// # The MultipartFormField Object +/// ### Description +/// The `MultipartFormField` object is used to represent fields in an HTTP request using `multipart/form-data`. +/// +/// ### Usage Example +/// Create a `MultipartFormField` to define a multipart form entry. +/// public record MultipartFormFieldRequest { /// @@ -20,9 +29,9 @@ public record MultipartFormFieldRequest /// /// The encoding of the value of `data`. Defaults to `RAW` if not defined. /// - /// - `RAW` - RAW - /// - `BASE64` - BASE64 - /// - `GZIP_BASE64` - GZIP_BASE64 + /// * `RAW` - RAW + /// * `BASE64` - BASE64 + /// * `GZIP_BASE64` - GZIP_BASE64 /// [JsonPropertyName("encoding")] public EncodingEnum? Encoding { get; set; } @@ -39,6 +48,17 @@ public record MultipartFormFieldRequest [JsonPropertyName("content_type")] public string? ContentType { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/Note.cs b/src/Merge.Client/Crm/Types/Note.cs index b2b0abc0..9406cf4e 100644 --- a/src/Merge.Client/Crm/Types/Note.cs +++ b/src/Merge.Client/Crm/Types/Note.cs @@ -1,11 +1,20 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Crm; +/// +/// # The Note Object +/// ### Description +/// The `Note` object is used to represent a note on another object. +/// ### Usage Example +/// TODO +/// public record Note { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -18,12 +27,14 @@ public record Note /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -72,18 +83,33 @@ public record Note /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_fields")] public IEnumerable? RemoteFields { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/NoteRequest.cs b/src/Merge.Client/Crm/Types/NoteRequest.cs index c75caf90..1b169834 100644 --- a/src/Merge.Client/Crm/Types/NoteRequest.cs +++ b/src/Merge.Client/Crm/Types/NoteRequest.cs @@ -1,9 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Crm; +/// +/// # The Note Object +/// ### Description +/// The `Note` object is used to represent a note on another object. +/// ### Usage Example +/// TODO +/// public record NoteRequest { /// @@ -36,15 +44,29 @@ public record NoteRequest [JsonPropertyName("opportunity")] public OneOf? Opportunity { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("integration_params")] public Dictionary? IntegrationParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("linked_account_params")] public Dictionary? LinkedAccountParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("remote_fields")] public IEnumerable? RemoteFields { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/NoteResponse.cs b/src/Merge.Client/Crm/Types/NoteResponse.cs index 7f5dc345..5eae9399 100644 --- a/src/Merge.Client/Crm/Types/NoteResponse.cs +++ b/src/Merge.Client/Crm/Types/NoteResponse.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -19,6 +20,17 @@ public record NoteResponse [JsonPropertyName("logs")] public IEnumerable? Logs { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/ObjectClassDescriptionRequest.cs b/src/Merge.Client/Crm/Types/ObjectClassDescriptionRequest.cs index 3f3cfff2..7c99ae56 100644 --- a/src/Merge.Client/Crm/Types/ObjectClassDescriptionRequest.cs +++ b/src/Merge.Client/Crm/Types/ObjectClassDescriptionRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -11,6 +12,17 @@ public record ObjectClassDescriptionRequest [JsonPropertyName("origin_type")] public required OriginTypeEnum OriginType { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/Opportunity.cs b/src/Merge.Client/Crm/Types/Opportunity.cs index ab972583..678db026 100644 --- a/src/Merge.Client/Crm/Types/Opportunity.cs +++ b/src/Merge.Client/Crm/Types/Opportunity.cs @@ -1,11 +1,20 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Crm; +/// +/// # The Opportunity Object +/// ### Description +/// The `Opportunity` object is used to represent a deal opportunity in a CRM system. +/// ### Usage Example +/// TODO +/// public record Opportunity { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -18,12 +27,14 @@ public record Opportunity /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -66,9 +77,9 @@ public record Opportunity /// /// The opportunity's status. /// - /// - `OPEN` - OPEN - /// - `WON` - WON - /// - `LOST` - LOST + /// * `OPEN` - OPEN + /// * `WON` - WON + /// * `LOST` - LOST /// [JsonPropertyName("status")] public OpportunityStatusEnum? Status { get; set; } @@ -94,18 +105,33 @@ public record Opportunity /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_fields")] public IEnumerable? RemoteFields { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/OpportunityRequest.cs b/src/Merge.Client/Crm/Types/OpportunityRequest.cs index ad4a7541..3349e1e2 100644 --- a/src/Merge.Client/Crm/Types/OpportunityRequest.cs +++ b/src/Merge.Client/Crm/Types/OpportunityRequest.cs @@ -1,9 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Crm; +/// +/// # The Opportunity Object +/// ### Description +/// The `Opportunity` object is used to represent a deal opportunity in a CRM system. +/// ### Usage Example +/// TODO +/// public record OpportunityRequest { /// @@ -45,9 +53,9 @@ public record OpportunityRequest /// /// The opportunity's status. /// - /// - `OPEN` - OPEN - /// - `WON` - WON - /// - `LOST` - LOST + /// * `OPEN` - OPEN + /// * `WON` - WON + /// * `LOST` - LOST /// [JsonPropertyName("status")] public OpportunityStatusEnum? Status { get; set; } @@ -64,15 +72,29 @@ public record OpportunityRequest [JsonPropertyName("close_date")] public DateTime? CloseDate { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("integration_params")] public Dictionary? IntegrationParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("linked_account_params")] public Dictionary? LinkedAccountParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("remote_fields")] public IEnumerable? RemoteFields { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/OpportunityResponse.cs b/src/Merge.Client/Crm/Types/OpportunityResponse.cs index 80338c0c..d93b474a 100644 --- a/src/Merge.Client/Crm/Types/OpportunityResponse.cs +++ b/src/Merge.Client/Crm/Types/OpportunityResponse.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -19,6 +20,17 @@ public record OpportunityResponse [JsonPropertyName("logs")] public IEnumerable? Logs { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/PaginatedAccountDetailsAndActionsList.cs b/src/Merge.Client/Crm/Types/PaginatedAccountDetailsAndActionsList.cs index fe83986a..04bc4bad 100644 --- a/src/Merge.Client/Crm/Types/PaginatedAccountDetailsAndActionsList.cs +++ b/src/Merge.Client/Crm/Types/PaginatedAccountDetailsAndActionsList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedAccountDetailsAndActionsList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/PaginatedAccountList.cs b/src/Merge.Client/Crm/Types/PaginatedAccountList.cs index 4fa80985..a433c871 100644 --- a/src/Merge.Client/Crm/Types/PaginatedAccountList.cs +++ b/src/Merge.Client/Crm/Types/PaginatedAccountList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedAccountList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/PaginatedAssociationList.cs b/src/Merge.Client/Crm/Types/PaginatedAssociationList.cs index de9c5bdd..b4bff597 100644 --- a/src/Merge.Client/Crm/Types/PaginatedAssociationList.cs +++ b/src/Merge.Client/Crm/Types/PaginatedAssociationList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedAssociationList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/PaginatedAssociationTypeList.cs b/src/Merge.Client/Crm/Types/PaginatedAssociationTypeList.cs index 2022b801..b259c87f 100644 --- a/src/Merge.Client/Crm/Types/PaginatedAssociationTypeList.cs +++ b/src/Merge.Client/Crm/Types/PaginatedAssociationTypeList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedAssociationTypeList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/PaginatedAuditLogEventList.cs b/src/Merge.Client/Crm/Types/PaginatedAuditLogEventList.cs index fef178dd..8deff9d0 100644 --- a/src/Merge.Client/Crm/Types/PaginatedAuditLogEventList.cs +++ b/src/Merge.Client/Crm/Types/PaginatedAuditLogEventList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedAuditLogEventList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/PaginatedContactList.cs b/src/Merge.Client/Crm/Types/PaginatedContactList.cs index 9aff33c2..fbbf0a12 100644 --- a/src/Merge.Client/Crm/Types/PaginatedContactList.cs +++ b/src/Merge.Client/Crm/Types/PaginatedContactList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedContactList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/PaginatedCustomObjectClassList.cs b/src/Merge.Client/Crm/Types/PaginatedCustomObjectClassList.cs index 108fbff6..310e78c8 100644 --- a/src/Merge.Client/Crm/Types/PaginatedCustomObjectClassList.cs +++ b/src/Merge.Client/Crm/Types/PaginatedCustomObjectClassList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedCustomObjectClassList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/PaginatedCustomObjectList.cs b/src/Merge.Client/Crm/Types/PaginatedCustomObjectList.cs index 01a58230..5bb33885 100644 --- a/src/Merge.Client/Crm/Types/PaginatedCustomObjectList.cs +++ b/src/Merge.Client/Crm/Types/PaginatedCustomObjectList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedCustomObjectList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/PaginatedEngagementList.cs b/src/Merge.Client/Crm/Types/PaginatedEngagementList.cs index 4ca791a1..a72570f9 100644 --- a/src/Merge.Client/Crm/Types/PaginatedEngagementList.cs +++ b/src/Merge.Client/Crm/Types/PaginatedEngagementList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedEngagementList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/PaginatedEngagementTypeList.cs b/src/Merge.Client/Crm/Types/PaginatedEngagementTypeList.cs index 857b6a12..d8e8c96d 100644 --- a/src/Merge.Client/Crm/Types/PaginatedEngagementTypeList.cs +++ b/src/Merge.Client/Crm/Types/PaginatedEngagementTypeList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedEngagementTypeList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/PaginatedIssueList.cs b/src/Merge.Client/Crm/Types/PaginatedIssueList.cs index aac0ab64..52a3558f 100644 --- a/src/Merge.Client/Crm/Types/PaginatedIssueList.cs +++ b/src/Merge.Client/Crm/Types/PaginatedIssueList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedIssueList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/PaginatedLeadList.cs b/src/Merge.Client/Crm/Types/PaginatedLeadList.cs index ac808af6..5f87dfe6 100644 --- a/src/Merge.Client/Crm/Types/PaginatedLeadList.cs +++ b/src/Merge.Client/Crm/Types/PaginatedLeadList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedLeadList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/PaginatedNoteList.cs b/src/Merge.Client/Crm/Types/PaginatedNoteList.cs index 9564ea52..2767ccc0 100644 --- a/src/Merge.Client/Crm/Types/PaginatedNoteList.cs +++ b/src/Merge.Client/Crm/Types/PaginatedNoteList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedNoteList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/PaginatedOpportunityList.cs b/src/Merge.Client/Crm/Types/PaginatedOpportunityList.cs index e6a2d25c..40b97443 100644 --- a/src/Merge.Client/Crm/Types/PaginatedOpportunityList.cs +++ b/src/Merge.Client/Crm/Types/PaginatedOpportunityList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedOpportunityList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/PaginatedRemoteFieldClassList.cs b/src/Merge.Client/Crm/Types/PaginatedRemoteFieldClassList.cs index 3a60cb6b..801c8377 100644 --- a/src/Merge.Client/Crm/Types/PaginatedRemoteFieldClassList.cs +++ b/src/Merge.Client/Crm/Types/PaginatedRemoteFieldClassList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedRemoteFieldClassList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/PaginatedStageList.cs b/src/Merge.Client/Crm/Types/PaginatedStageList.cs index eec0db69..b09a23b6 100644 --- a/src/Merge.Client/Crm/Types/PaginatedStageList.cs +++ b/src/Merge.Client/Crm/Types/PaginatedStageList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedStageList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/PaginatedSyncStatusList.cs b/src/Merge.Client/Crm/Types/PaginatedSyncStatusList.cs index b7935b7e..7aa75bbd 100644 --- a/src/Merge.Client/Crm/Types/PaginatedSyncStatusList.cs +++ b/src/Merge.Client/Crm/Types/PaginatedSyncStatusList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedSyncStatusList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/PaginatedTaskList.cs b/src/Merge.Client/Crm/Types/PaginatedTaskList.cs index b52a462d..7d4f2f76 100644 --- a/src/Merge.Client/Crm/Types/PaginatedTaskList.cs +++ b/src/Merge.Client/Crm/Types/PaginatedTaskList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedTaskList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/PaginatedUserList.cs b/src/Merge.Client/Crm/Types/PaginatedUserList.cs index 0fea26c0..4649d264 100644 --- a/src/Merge.Client/Crm/Types/PaginatedUserList.cs +++ b/src/Merge.Client/Crm/Types/PaginatedUserList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedUserList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/PatchedAccountRequest.cs b/src/Merge.Client/Crm/Types/PatchedAccountRequest.cs index e2fed4bc..2bf40bdb 100644 --- a/src/Merge.Client/Crm/Types/PatchedAccountRequest.cs +++ b/src/Merge.Client/Crm/Types/PatchedAccountRequest.cs @@ -1,8 +1,16 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; +/// +/// # The Account Object +/// ### Description +/// The `Account` object is used to represent a company in a CRM system. +/// ### Usage Example +/// TODO +/// public record PatchedAccountRequest { /// @@ -50,15 +58,29 @@ public record PatchedAccountRequest [JsonPropertyName("last_activity_at")] public DateTime? LastActivityAt { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("integration_params")] public Dictionary? IntegrationParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("linked_account_params")] public Dictionary? LinkedAccountParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("remote_fields")] public IEnumerable? RemoteFields { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/PatchedContactRequest.cs b/src/Merge.Client/Crm/Types/PatchedContactRequest.cs index 49e25c63..32dbd2aa 100644 --- a/src/Merge.Client/Crm/Types/PatchedContactRequest.cs +++ b/src/Merge.Client/Crm/Types/PatchedContactRequest.cs @@ -1,9 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Crm; +/// +/// # The Contact Object +/// ### Description +/// The `Contact` object is used to represent an existing point of contact at a company in a CRM system. +/// ### Usage Example +/// TODO +/// public record PatchedContactRequest { /// @@ -45,15 +53,29 @@ public record PatchedContactRequest [JsonPropertyName("last_activity_at")] public DateTime? LastActivityAt { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("integration_params")] public Dictionary? IntegrationParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("linked_account_params")] public Dictionary? LinkedAccountParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("remote_fields")] public IEnumerable? RemoteFields { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/PatchedEngagementRequest.cs b/src/Merge.Client/Crm/Types/PatchedEngagementRequest.cs index 1284ab79..f45f62aa 100644 --- a/src/Merge.Client/Crm/Types/PatchedEngagementRequest.cs +++ b/src/Merge.Client/Crm/Types/PatchedEngagementRequest.cs @@ -1,8 +1,16 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; +/// +/// # The Engagement Object +/// ### Description +/// The `Engagement` object is used to represent an interaction noted in a CRM system. +/// ### Usage Example +/// TODO +/// public record PatchedEngagementRequest { /// @@ -26,8 +34,8 @@ public record PatchedEngagementRequest /// /// The engagement's direction. /// - /// - `INBOUND` - INBOUND - /// - `OUTBOUND` - OUTBOUND + /// * `INBOUND` - INBOUND + /// * `OUTBOUND` - OUTBOUND /// [JsonPropertyName("direction")] public DirectionEnum? Direction { get; set; } @@ -59,15 +67,29 @@ public record PatchedEngagementRequest [JsonPropertyName("contacts")] public IEnumerable? Contacts { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("integration_params")] public Dictionary? IntegrationParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("linked_account_params")] public Dictionary? LinkedAccountParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("remote_fields")] public IEnumerable? RemoteFields { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/PatchedOpportunityRequest.cs b/src/Merge.Client/Crm/Types/PatchedOpportunityRequest.cs index 5eb4e43c..ac4e4ee3 100644 --- a/src/Merge.Client/Crm/Types/PatchedOpportunityRequest.cs +++ b/src/Merge.Client/Crm/Types/PatchedOpportunityRequest.cs @@ -1,8 +1,16 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; +/// +/// # The Opportunity Object +/// ### Description +/// The `Opportunity` object is used to represent a deal opportunity in a CRM system. +/// ### Usage Example +/// TODO +/// public record PatchedOpportunityRequest { /// @@ -44,9 +52,9 @@ public record PatchedOpportunityRequest /// /// The opportunity's status. /// - /// - `OPEN` - OPEN - /// - `WON` - WON - /// - `LOST` - LOST + /// * `OPEN` - OPEN + /// * `WON` - WON + /// * `LOST` - LOST /// [JsonPropertyName("status")] public OpportunityStatusEnum? Status { get; set; } @@ -63,15 +71,29 @@ public record PatchedOpportunityRequest [JsonPropertyName("close_date")] public DateTime? CloseDate { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("integration_params")] public Dictionary? IntegrationParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("linked_account_params")] public Dictionary? LinkedAccountParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("remote_fields")] public IEnumerable? RemoteFields { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/PatchedTaskRequest.cs b/src/Merge.Client/Crm/Types/PatchedTaskRequest.cs index 969d192f..efacdae0 100644 --- a/src/Merge.Client/Crm/Types/PatchedTaskRequest.cs +++ b/src/Merge.Client/Crm/Types/PatchedTaskRequest.cs @@ -1,8 +1,16 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; +/// +/// # The Task Object +/// ### Description +/// The `Task` object is used to represent a task, such as a to-do item. +/// ### Usage Example +/// TODO +/// public record PatchedTaskRequest { /// @@ -50,21 +58,35 @@ public record PatchedTaskRequest /// /// The task's status. /// - /// - `OPEN` - OPEN - /// - `CLOSED` - CLOSED + /// * `OPEN` - OPEN + /// * `CLOSED` - CLOSED /// [JsonPropertyName("status")] public TaskStatusEnum? Status { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("integration_params")] public Dictionary? IntegrationParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("linked_account_params")] public Dictionary? LinkedAccountParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("remote_fields")] public IEnumerable? RemoteFields { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/PhoneNumber.cs b/src/Merge.Client/Crm/Types/PhoneNumber.cs index 6f198819..1b29a494 100644 --- a/src/Merge.Client/Crm/Types/PhoneNumber.cs +++ b/src/Merge.Client/Crm/Types/PhoneNumber.cs @@ -1,19 +1,29 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; +/// +/// # The PhoneNumber Object +/// ### Description +/// The `PhoneNumber` object is used to represent an entity's phone number. +/// ### Usage Example +/// Fetch from the `GET Contact` endpoint and view their phone numbers. +/// public record PhoneNumber { /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -29,6 +39,17 @@ public record PhoneNumber [JsonPropertyName("phone_number_type")] public string? PhoneNumberType { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/PhoneNumberRequest.cs b/src/Merge.Client/Crm/Types/PhoneNumberRequest.cs index 8274f00c..57b883bb 100644 --- a/src/Merge.Client/Crm/Types/PhoneNumberRequest.cs +++ b/src/Merge.Client/Crm/Types/PhoneNumberRequest.cs @@ -1,8 +1,16 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; +/// +/// # The PhoneNumber Object +/// ### Description +/// The `PhoneNumber` object is used to represent an entity's phone number. +/// ### Usage Example +/// Fetch from the `GET Contact` endpoint and view their phone numbers. +/// public record PhoneNumberRequest { /// @@ -17,12 +25,25 @@ public record PhoneNumberRequest [JsonPropertyName("phone_number_type")] public string? PhoneNumberType { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("integration_params")] public Dictionary? IntegrationParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("linked_account_params")] public Dictionary? LinkedAccountParams { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/RemoteData.cs b/src/Merge.Client/Crm/Types/RemoteData.cs index cd5f234d..abaaffb8 100644 --- a/src/Merge.Client/Crm/Types/RemoteData.cs +++ b/src/Merge.Client/Crm/Types/RemoteData.cs @@ -1,8 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; +/// +/// # The RemoteData Object +/// ### Description +/// The `RemoteData` object is used to represent the full data pulled from the third-party API for an object. +/// +/// ### Usage Example +/// TODO +/// public record RemoteData { /// @@ -11,9 +20,21 @@ public record RemoteData [JsonPropertyName("path")] public required string Path { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("data")] public object? Data { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/RemoteEndpointInfo.cs b/src/Merge.Client/Crm/Types/RemoteEndpointInfo.cs index 67c8db18..0d55b94f 100644 --- a/src/Merge.Client/Crm/Types/RemoteEndpointInfo.cs +++ b/src/Merge.Client/Crm/Types/RemoteEndpointInfo.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record RemoteEndpointInfo [JsonPropertyName("field_traversal_path")] public IEnumerable FieldTraversalPath { get; set; } = new List(); + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/RemoteField.cs b/src/Merge.Client/Crm/Types/RemoteField.cs index 229d14f9..28790153 100644 --- a/src/Merge.Client/Crm/Types/RemoteField.cs +++ b/src/Merge.Client/Crm/Types/RemoteField.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; @@ -10,8 +11,19 @@ public record RemoteField public required OneOf RemoteFieldClass { get; set; } [JsonPropertyName("value")] - public Dictionary? Value { get; set; } + public object? Value { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/RemoteFieldApi.cs b/src/Merge.Client/Crm/Types/RemoteFieldApi.cs index 4903be63..46579a47 100644 --- a/src/Merge.Client/Crm/Types/RemoteFieldApi.cs +++ b/src/Merge.Client/Crm/Types/RemoteFieldApi.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; @@ -21,9 +22,21 @@ public record RemoteFieldApi [JsonPropertyName("advanced_metadata")] public AdvancedMetadata? AdvancedMetadata { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("coverage")] public OneOf? Coverage { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/RemoteFieldApiResponse.cs b/src/Merge.Client/Crm/Types/RemoteFieldApiResponse.cs index f197fde4..f57cb1c5 100644 --- a/src/Merge.Client/Crm/Types/RemoteFieldApiResponse.cs +++ b/src/Merge.Client/Crm/Types/RemoteFieldApiResponse.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -32,6 +33,17 @@ public record RemoteFieldApiResponse [JsonPropertyName("Engagement")] public IEnumerable? Engagement { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/RemoteFieldClass.cs b/src/Merge.Client/Crm/Types/RemoteFieldClass.cs index 1ce207e6..27e3ce11 100644 --- a/src/Merge.Client/Crm/Types/RemoteFieldClass.cs +++ b/src/Merge.Client/Crm/Types/RemoteFieldClass.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -35,6 +36,17 @@ public record RemoteFieldClass [JsonPropertyName("item_schema")] public ItemSchema? ItemSchema { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/RemoteFieldClassFieldChoicesItem.cs b/src/Merge.Client/Crm/Types/RemoteFieldClassFieldChoicesItem.cs index 97300603..b2fb9023 100644 --- a/src/Merge.Client/Crm/Types/RemoteFieldClassFieldChoicesItem.cs +++ b/src/Merge.Client/Crm/Types/RemoteFieldClassFieldChoicesItem.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -11,6 +12,17 @@ public record RemoteFieldClassFieldChoicesItem [JsonPropertyName("display_name")] public string? DisplayName { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/RemoteFieldClassForCustomObjectClass.cs b/src/Merge.Client/Crm/Types/RemoteFieldClassForCustomObjectClass.cs index 32df7787..3c45589d 100644 --- a/src/Merge.Client/Crm/Types/RemoteFieldClassForCustomObjectClass.cs +++ b/src/Merge.Client/Crm/Types/RemoteFieldClassForCustomObjectClass.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -8,12 +9,14 @@ public record RemoteFieldClassForCustomObjectClass /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -35,12 +38,25 @@ public record RemoteFieldClassForCustomObjectClass [JsonPropertyName("field_format")] public FieldFormatEnum? FieldFormat { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_choices")] public IEnumerable? FieldChoices { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("item_schema")] public RemoteFieldClassForCustomObjectClassItemSchema? ItemSchema { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/RemoteFieldClassForCustomObjectClassFieldChoicesItem.cs b/src/Merge.Client/Crm/Types/RemoteFieldClassForCustomObjectClassFieldChoicesItem.cs index 7ee7eb71..09b7ab6c 100644 --- a/src/Merge.Client/Crm/Types/RemoteFieldClassForCustomObjectClassFieldChoicesItem.cs +++ b/src/Merge.Client/Crm/Types/RemoteFieldClassForCustomObjectClassFieldChoicesItem.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -11,6 +12,17 @@ public record RemoteFieldClassForCustomObjectClassFieldChoicesItem [JsonPropertyName("display_name")] public string? DisplayName { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/RemoteFieldClassForCustomObjectClassItemSchema.cs b/src/Merge.Client/Crm/Types/RemoteFieldClassForCustomObjectClassItemSchema.cs index 83983e58..4cc23533 100644 --- a/src/Merge.Client/Crm/Types/RemoteFieldClassForCustomObjectClassItemSchema.cs +++ b/src/Merge.Client/Crm/Types/RemoteFieldClassForCustomObjectClassItemSchema.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record RemoteFieldClassForCustomObjectClassItemSchema [JsonPropertyName("item_choices")] public IEnumerable? ItemChoices { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/RemoteFieldRequest.cs b/src/Merge.Client/Crm/Types/RemoteFieldRequest.cs index b5b2e811..0e3ec1fc 100644 --- a/src/Merge.Client/Crm/Types/RemoteFieldRequest.cs +++ b/src/Merge.Client/Crm/Types/RemoteFieldRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; @@ -12,6 +13,17 @@ public record RemoteFieldRequest [JsonPropertyName("value")] public object? Value { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/RemoteKey.cs b/src/Merge.Client/Crm/Types/RemoteKey.cs index a3a28688..670e920d 100644 --- a/src/Merge.Client/Crm/Types/RemoteKey.cs +++ b/src/Merge.Client/Crm/Types/RemoteKey.cs @@ -1,8 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; +/// +/// # The RemoteKey Object +/// ### Description +/// The `RemoteKey` object is used to represent a request for a new remote key. +/// +/// ### Usage Example +/// Post a `GenerateRemoteKey` to receive a new `RemoteKey`. +/// public record RemoteKey { [JsonPropertyName("name")] @@ -11,6 +20,17 @@ public record RemoteKey [JsonPropertyName("key")] public required string Key { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/RemoteResponse.cs b/src/Merge.Client/Crm/Types/RemoteResponse.cs index 5c79b461..f2aa2805 100644 --- a/src/Merge.Client/Crm/Types/RemoteResponse.cs +++ b/src/Merge.Client/Crm/Types/RemoteResponse.cs @@ -1,8 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; +/// +/// # The RemoteResponse Object +/// ### Description +/// The `RemoteResponse` object is used to represent information returned from a third-party endpoint. +/// +/// ### Usage Example +/// View the `RemoteResponse` returned from your `DataPassthrough`. +/// public record RemoteResponse { [JsonPropertyName("method")] @@ -26,6 +35,17 @@ public record RemoteResponse [JsonPropertyName("headers")] public Dictionary? Headers { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/Stage.cs b/src/Merge.Client/Crm/Types/Stage.cs index 36c4f65e..017f308f 100644 --- a/src/Merge.Client/Crm/Types/Stage.cs +++ b/src/Merge.Client/Crm/Types/Stage.cs @@ -1,10 +1,19 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; +/// +/// # The Stage Object +/// ### Description +/// The `Stage` object is used to represent the stage of an opportunity. +/// ### Usage Example +/// TODO +/// public record Stage { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -17,12 +26,14 @@ public record Stage /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -35,18 +46,33 @@ public record Stage /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_fields")] public IEnumerable? RemoteFields { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/StatusFd5Enum.cs b/src/Merge.Client/Crm/Types/StatusFd5Enum.cs new file mode 100644 index 00000000..b98d8f00 --- /dev/null +++ b/src/Merge.Client/Crm/Types/StatusFd5Enum.cs @@ -0,0 +1,27 @@ +using System.Runtime.Serialization; +using System.Text.Json.Serialization; +using Merge.Client.Core; + +namespace Merge.Client.Crm; + +[JsonConverter(typeof(EnumSerializer))] +public enum StatusFd5Enum +{ + [EnumMember(Value = "SYNCING")] + Syncing, + + [EnumMember(Value = "DONE")] + Done, + + [EnumMember(Value = "FAILED")] + Failed, + + [EnumMember(Value = "DISABLED")] + Disabled, + + [EnumMember(Value = "PAUSED")] + Paused, + + [EnumMember(Value = "PARTIALLY_SYNCED")] + PartiallySynced, +} diff --git a/src/Merge.Client/Crm/Types/SyncStatus.cs b/src/Merge.Client/Crm/Types/SyncStatus.cs index 0603cd49..21b4a152 100644 --- a/src/Merge.Client/Crm/Types/SyncStatus.cs +++ b/src/Merge.Client/Crm/Types/SyncStatus.cs @@ -1,8 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; +/// +/// # The SyncStatus Object +/// ### Description +/// The `SyncStatus` object is used to represent the syncing state of an account +/// +/// ### Usage Example +/// View the `SyncStatus` for an account to see how recently its models were synced. +/// public record SyncStatus { [JsonPropertyName("model_name")] @@ -17,8 +26,14 @@ public record SyncStatus [JsonPropertyName("next_sync_start")] public DateTime? NextSyncStart { get; set; } + [JsonPropertyName("last_sync_result")] + public LastSyncResultEnum? LastSyncResult { get; set; } + + [JsonPropertyName("last_sync_finished")] + public DateTime? LastSyncFinished { get; set; } + [JsonPropertyName("status")] - public required SyncStatusStatusEnum Status { get; set; } + public required StatusFd5Enum Status { get; set; } [JsonPropertyName("is_initial_sync")] public required bool IsInitialSync { get; set; } @@ -26,6 +41,17 @@ public record SyncStatus [JsonPropertyName("selective_sync_configurations_usage")] public SelectiveSyncConfigurationsUsageEnum? SelectiveSyncConfigurationsUsage { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/Task.cs b/src/Merge.Client/Crm/Types/Task.cs index 250a5e0d..bee7acb4 100644 --- a/src/Merge.Client/Crm/Types/Task.cs +++ b/src/Merge.Client/Crm/Types/Task.cs @@ -1,11 +1,20 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Crm; +/// +/// # The Task Object +/// ### Description +/// The `Task` object is used to represent a task, such as a to-do item. +/// ### Usage Example +/// TODO +/// public record Task { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -18,12 +27,14 @@ public record Task /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -72,8 +83,8 @@ public record Task /// /// The task's status. /// - /// - `OPEN` - OPEN - /// - `CLOSED` - CLOSED + /// * `OPEN` - OPEN + /// * `CLOSED` - CLOSED /// [JsonPropertyName("status")] public TaskStatusEnum? Status { get; set; } @@ -81,18 +92,33 @@ public record Task /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_fields")] public IEnumerable? RemoteFields { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/TaskRequest.cs b/src/Merge.Client/Crm/Types/TaskRequest.cs index bc7387e3..951ec846 100644 --- a/src/Merge.Client/Crm/Types/TaskRequest.cs +++ b/src/Merge.Client/Crm/Types/TaskRequest.cs @@ -1,9 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Crm; +/// +/// # The Task Object +/// ### Description +/// The `Task` object is used to represent a task, such as a to-do item. +/// ### Usage Example +/// TODO +/// public record TaskRequest { /// @@ -51,21 +59,35 @@ public record TaskRequest /// /// The task's status. /// - /// - `OPEN` - OPEN - /// - `CLOSED` - CLOSED + /// * `OPEN` - OPEN + /// * `CLOSED` - CLOSED /// [JsonPropertyName("status")] public TaskStatusEnum? Status { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("integration_params")] public Dictionary? IntegrationParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("linked_account_params")] public Dictionary? LinkedAccountParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("remote_fields")] public IEnumerable? RemoteFields { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/TaskResponse.cs b/src/Merge.Client/Crm/Types/TaskResponse.cs index e0f5a976..ec1eae83 100644 --- a/src/Merge.Client/Crm/Types/TaskResponse.cs +++ b/src/Merge.Client/Crm/Types/TaskResponse.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -19,6 +20,17 @@ public record TaskResponse [JsonPropertyName("logs")] public IEnumerable? Logs { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/User.cs b/src/Merge.Client/Crm/Types/User.cs index a6c36e2f..8c2b18db 100644 --- a/src/Merge.Client/Crm/Types/User.cs +++ b/src/Merge.Client/Crm/Types/User.cs @@ -1,10 +1,19 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; +/// +/// # The User Object +/// ### Description +/// The `User` object is used to represent a user with a login to the CRM system. +/// ### Usage Example +/// TODO +/// public record User { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -17,12 +26,14 @@ public record User /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -47,18 +58,33 @@ public record User /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_fields")] public IEnumerable? RemoteFields { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/ValidationProblemSource.cs b/src/Merge.Client/Crm/Types/ValidationProblemSource.cs index 644e3805..eb6ac3ee 100644 --- a/src/Merge.Client/Crm/Types/ValidationProblemSource.cs +++ b/src/Merge.Client/Crm/Types/ValidationProblemSource.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -8,6 +9,17 @@ public record ValidationProblemSource [JsonPropertyName("pointer")] public required string Pointer { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/WarningValidationProblem.cs b/src/Merge.Client/Crm/Types/WarningValidationProblem.cs index b4a4d4f0..420f4ecd 100644 --- a/src/Merge.Client/Crm/Types/WarningValidationProblem.cs +++ b/src/Merge.Client/Crm/Types/WarningValidationProblem.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -17,6 +18,17 @@ public record WarningValidationProblem [JsonPropertyName("problem_type")] public required string ProblemType { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Types/WebhookReceiver.cs b/src/Merge.Client/Crm/Types/WebhookReceiver.cs index ff55ce41..b61ca25c 100644 --- a/src/Merge.Client/Crm/Types/WebhookReceiver.cs +++ b/src/Merge.Client/Crm/Types/WebhookReceiver.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record WebhookReceiver [JsonPropertyName("key")] public string? Key { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Users/Requests/UsersListRequest.cs b/src/Merge.Client/Crm/Users/Requests/UsersListRequest.cs index 444b64da..ecf51f01 100644 --- a/src/Merge.Client/Crm/Users/Requests/UsersListRequest.cs +++ b/src/Merge.Client/Crm/Users/Requests/UsersListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; @@ -7,63 +8,76 @@ public record UsersListRequest /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// If provided, will only return users with this email. /// + [JsonIgnore] public string? Email { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include all remote fields, including fields that Merge did not map to common models, in a normalized format. /// + [JsonIgnore] public bool? IncludeRemoteFields { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Users/Requests/UsersRemoteFieldClassesListRequest.cs b/src/Merge.Client/Crm/Users/Requests/UsersRemoteFieldClassesListRequest.cs index 94563e05..0012a9e0 100644 --- a/src/Merge.Client/Crm/Users/Requests/UsersRemoteFieldClassesListRequest.cs +++ b/src/Merge.Client/Crm/Users/Requests/UsersRemoteFieldClassesListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; @@ -7,38 +8,46 @@ public record UsersRemoteFieldClassesListRequest /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include all remote fields, including fields that Merge did not map to common models, in a normalized format. /// + [JsonIgnore] public bool? IncludeRemoteFields { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, will only return remote field classes with this is_common_model_field value /// + [JsonIgnore] public bool? IsCommonModelField { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Users/Requests/UsersRetrieveRequest.cs b/src/Merge.Client/Crm/Users/Requests/UsersRetrieveRequest.cs index 94e52d26..a9669ac1 100644 --- a/src/Merge.Client/Crm/Users/Requests/UsersRetrieveRequest.cs +++ b/src/Merge.Client/Crm/Users/Requests/UsersRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Crm; @@ -7,13 +8,22 @@ public record UsersRetrieveRequest /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include all remote fields, including fields that Merge did not map to common models, in a normalized format. /// + [JsonIgnore] public bool? IncludeRemoteFields { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/Users/UsersClient.cs b/src/Merge.Client/Crm/Users/UsersClient.cs index e04a304a..9499a8b8 100644 --- a/src/Merge.Client/Crm/Users/UsersClient.cs +++ b/src/Merge.Client/Crm/Users/UsersClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using global::System.Threading.Tasks; using Merge.Client.Core; namespace Merge.Client.Crm; @@ -17,12 +18,10 @@ internal UsersClient(RawClient client) /// /// Returns a list of `User` objects. /// - /// - /// + /// /// await client.Crm.Users.ListAsync(new UsersListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( UsersListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -86,8 +85,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["remote_id"] = request.RemoteId; } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -98,35 +97,36 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a `User` object with the given `id`. /// - /// - /// + /// /// await client.Crm.Users.RetrieveAsync("id", new UsersRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, UsersRetrieveRequest request, RequestOptions? options = null, @@ -144,51 +144,59 @@ public async System.Threading.Tasks.Task RetrieveAsync( request.IncludeRemoteFields.Value ); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"crm/v1/users/{id}", + Path = string.Format( + "crm/v1/users/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Ignores a specific row based on the `model_id` in the url. These records will have their properties set to null, and will not be updated in future syncs. The "reason" and "message" fields in the request body will be stored for audit purposes. /// - /// - /// + /// /// await client.Crm.Users.IgnoreCreateAsync( /// "model_id", /// new IgnoreCommonModelRequest { Reason = Merge.Client.Crm.ReasonEnum.GeneralCustomerRequest } /// ); - /// - /// - public async System.Threading.Tasks.Task IgnoreCreateAsync( + /// + public async global::System.Threading.Tasks.Task IgnoreCreateAsync( string modelId, IgnoreCommonModelRequest request, RequestOptions? options = null, @@ -196,12 +204,15 @@ public async System.Threading.Tasks.Task IgnoreCreateAsync( ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, - Path = $"crm/v1/users/ignore/{modelId}", + Path = string.Format( + "crm/v1/users/ignore/{0}", + ValueConvert.ToPathParameterString(modelId) + ), Body = request, ContentType = "application/json", Options = options, @@ -213,23 +224,23 @@ public async System.Threading.Tasks.Task IgnoreCreateAsync( { return; } - var responseBody = await response.Raw.Content.ReadAsStringAsync(); - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a list of `RemoteFieldClass` objects. /// - /// - /// + /// /// await client.Crm.Users.RemoteFieldClassesListAsync(new UsersRemoteFieldClassesListRequest()); - /// - /// - public async System.Threading.Tasks.Task RemoteFieldClassesListAsync( + /// + public async Task RemoteFieldClassesListAsync( UsersRemoteFieldClassesListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -267,8 +278,8 @@ public async System.Threading.Tasks.Task RemoteFi _query["page_size"] = request.PageSize.Value.ToString(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -279,23 +290,26 @@ public async System.Threading.Tasks.Task RemoteFi cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Crm/WebhookReceivers/Requests/WebhookReceiverRequest.cs b/src/Merge.Client/Crm/WebhookReceivers/Requests/WebhookReceiverRequest.cs index 8ffe0332..65fce733 100644 --- a/src/Merge.Client/Crm/WebhookReceivers/Requests/WebhookReceiverRequest.cs +++ b/src/Merge.Client/Crm/WebhookReceivers/Requests/WebhookReceiverRequest.cs @@ -14,6 +14,7 @@ public record WebhookReceiverRequest [JsonPropertyName("key")] public string? Key { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Crm/WebhookReceivers/WebhookReceiversClient.cs b/src/Merge.Client/Crm/WebhookReceivers/WebhookReceiversClient.cs index be6c08ed..041517ef 100644 --- a/src/Merge.Client/Crm/WebhookReceivers/WebhookReceiversClient.cs +++ b/src/Merge.Client/Crm/WebhookReceivers/WebhookReceiversClient.cs @@ -17,19 +17,17 @@ internal WebhookReceiversClient(RawClient client) /// /// Returns a list of `WebhookReceiver` objects. /// - /// - /// + /// /// await client.Crm.WebhookReceivers.ListAsync(); - /// - /// - public async System.Threading.Tasks.Task> ListAsync( + /// + public async Task> ListAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -39,45 +37,46 @@ public async System.Threading.Tasks.Task> ListAsync cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize>(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Creates a `WebhookReceiver` object with the given values. /// - /// - /// + /// /// await client.Crm.WebhookReceivers.CreateAsync( /// new WebhookReceiverRequest { Event = "event", IsActive = true } /// ); - /// - /// - public async System.Threading.Tasks.Task CreateAsync( + /// + public async Task CreateAsync( WebhookReceiverRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, @@ -89,23 +88,26 @@ public async System.Threading.Tasks.Task CreateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Filestorage/AccountDetails/AccountDetailsClient.cs b/src/Merge.Client/Filestorage/AccountDetails/AccountDetailsClient.cs index efaae469..8530a467 100644 --- a/src/Merge.Client/Filestorage/AccountDetails/AccountDetailsClient.cs +++ b/src/Merge.Client/Filestorage/AccountDetails/AccountDetailsClient.cs @@ -17,19 +17,17 @@ internal AccountDetailsClient(RawClient client) /// /// Get details for a linked account. /// - /// - /// + /// /// await client.Filestorage.AccountDetails.RetrieveAsync(); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -39,23 +37,26 @@ public async System.Threading.Tasks.Task RetrieveAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Filestorage/AccountToken/AccountTokenClient.cs b/src/Merge.Client/Filestorage/AccountToken/AccountTokenClient.cs index c1bfa93b..83497d26 100644 --- a/src/Merge.Client/Filestorage/AccountToken/AccountTokenClient.cs +++ b/src/Merge.Client/Filestorage/AccountToken/AccountTokenClient.cs @@ -17,46 +17,50 @@ internal AccountTokenClient(RawClient client) /// /// Returns the account token for the end user with the provided public token. /// - /// - /// + /// /// await client.Filestorage.AccountToken.RetrieveAsync("public_token"); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string publicToken, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"filestorage/v1/account-token/{publicToken}", + Path = string.Format( + "filestorage/v1/account-token/{0}", + ValueConvert.ToPathParameterString(publicToken) + ), Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Filestorage/AsyncPassthrough/AsyncPassthroughClient.cs b/src/Merge.Client/Filestorage/AsyncPassthrough/AsyncPassthroughClient.cs index 932a5e70..1fe585f4 100644 --- a/src/Merge.Client/Filestorage/AsyncPassthrough/AsyncPassthroughClient.cs +++ b/src/Merge.Client/Filestorage/AsyncPassthrough/AsyncPassthroughClient.cs @@ -18,8 +18,7 @@ internal AsyncPassthroughClient(RawClient client) /// /// Asynchronously pull data from an endpoint not currently supported by Merge. /// - /// - /// + /// /// await client.Filestorage.AsyncPassthrough.CreateAsync( /// new Merge.Client.Filestorage.DataPassthroughRequest /// { @@ -27,17 +26,16 @@ internal AsyncPassthroughClient(RawClient client) /// Path = "/scooters", /// } /// ); - /// - /// - public async System.Threading.Tasks.Task CreateAsync( + /// + public async Task CreateAsync( DataPassthroughRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, @@ -49,69 +47,76 @@ public async System.Threading.Tasks.Task CreateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Retrieves data from earlier async-passthrough POST request /// - /// - /// + /// /// await client.Filestorage.AsyncPassthrough.RetrieveAsync("async_passthrough_receipt_id"); - /// - /// - public async System.Threading.Tasks.Task> RetrieveAsync( + /// + public async Task> RetrieveAsync( string asyncPassthroughReceiptId, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"filestorage/v1/async-passthrough/{asyncPassthroughReceiptId}", + Path = string.Format( + "filestorage/v1/async-passthrough/{0}", + ValueConvert.ToPathParameterString(asyncPassthroughReceiptId) + ), Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize>(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Filestorage/AuditTrail/AuditTrailClient.cs b/src/Merge.Client/Filestorage/AuditTrail/AuditTrailClient.cs index 64739ab0..76b6fba0 100644 --- a/src/Merge.Client/Filestorage/AuditTrail/AuditTrailClient.cs +++ b/src/Merge.Client/Filestorage/AuditTrail/AuditTrailClient.cs @@ -17,12 +17,10 @@ internal AuditTrailClient(RawClient client) /// /// Gets a list of audit trail events. /// - /// - /// + /// /// await client.Filestorage.AuditTrail.ListAsync(new AuditTrailListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( AuditTrailListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -54,8 +52,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["user_email"] = request.UserEmail; } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -66,23 +64,26 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Filestorage/AuditTrail/Requests/AuditTrailListRequest.cs b/src/Merge.Client/Filestorage/AuditTrail/Requests/AuditTrailListRequest.cs index aa883943..5038d0f9 100644 --- a/src/Merge.Client/Filestorage/AuditTrail/Requests/AuditTrailListRequest.cs +++ b/src/Merge.Client/Filestorage/AuditTrail/Requests/AuditTrailListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Filestorage; @@ -7,33 +8,40 @@ public record AuditTrailListRequest /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// If included, will only include audit trail events that occurred before this time /// + [JsonIgnore] public string? EndDate { get; set; } /// - /// If included, will only include events with the given event type. Possible values include: `CREATED_REMOTE_PRODUCTION_API_KEY`, `DELETED_REMOTE_PRODUCTION_API_KEY`, `CREATED_TEST_API_KEY`, `DELETED_TEST_API_KEY`, `REGENERATED_PRODUCTION_API_KEY`, `INVITED_USER`, `TWO_FACTOR_AUTH_ENABLED`, `TWO_FACTOR_AUTH_DISABLED`, `DELETED_LINKED_ACCOUNT`, `CREATED_DESTINATION`, `DELETED_DESTINATION`, `CHANGED_DESTINATION`, `CHANGED_SCOPES`, `CHANGED_PERSONAL_INFORMATION`, `CHANGED_ORGANIZATION_SETTINGS`, `ENABLED_INTEGRATION`, `DISABLED_INTEGRATION`, `ENABLED_CATEGORY`, `DISABLED_CATEGORY`, `CHANGED_PASSWORD`, `RESET_PASSWORD`, `ENABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION`, `ENABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT`, `DISABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION`, `DISABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT`, `CREATED_INTEGRATION_WIDE_FIELD_MAPPING`, `CREATED_LINKED_ACCOUNT_FIELD_MAPPING`, `CHANGED_INTEGRATION_WIDE_FIELD_MAPPING`, `CHANGED_LINKED_ACCOUNT_FIELD_MAPPING`, `DELETED_INTEGRATION_WIDE_FIELD_MAPPING`, `DELETED_LINKED_ACCOUNT_FIELD_MAPPING`, `CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE`, `CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE`, `DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE`, `FORCED_LINKED_ACCOUNT_RESYNC`, `MUTED_ISSUE`, `GENERATED_MAGIC_LINK`, `ENABLED_MERGE_WEBHOOK`, `DISABLED_MERGE_WEBHOOK`, `MERGE_WEBHOOK_TARGET_CHANGED`, `END_USER_CREDENTIALS_ACCESSED` + /// If included, will only include events with the given event type. Possible values include: `CREATED_REMOTE_PRODUCTION_API_KEY`, `DELETED_REMOTE_PRODUCTION_API_KEY`, `CREATED_TEST_API_KEY`, `DELETED_TEST_API_KEY`, `REGENERATED_PRODUCTION_API_KEY`, `INVITED_USER`, `TWO_FACTOR_AUTH_ENABLED`, `TWO_FACTOR_AUTH_DISABLED`, `DELETED_LINKED_ACCOUNT`, `DELETED_ALL_COMMON_MODELS_FOR_LINKED_ACCOUNT`, `CREATED_DESTINATION`, `DELETED_DESTINATION`, `CHANGED_DESTINATION`, `CHANGED_SCOPES`, `CHANGED_PERSONAL_INFORMATION`, `CHANGED_ORGANIZATION_SETTINGS`, `ENABLED_INTEGRATION`, `DISABLED_INTEGRATION`, `ENABLED_CATEGORY`, `DISABLED_CATEGORY`, `CHANGED_PASSWORD`, `RESET_PASSWORD`, `ENABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION`, `ENABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT`, `DISABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION`, `DISABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT`, `CREATED_INTEGRATION_WIDE_FIELD_MAPPING`, `CREATED_LINKED_ACCOUNT_FIELD_MAPPING`, `CHANGED_INTEGRATION_WIDE_FIELD_MAPPING`, `CHANGED_LINKED_ACCOUNT_FIELD_MAPPING`, `DELETED_INTEGRATION_WIDE_FIELD_MAPPING`, `DELETED_LINKED_ACCOUNT_FIELD_MAPPING`, `CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE`, `CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE`, `DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE`, `FORCED_LINKED_ACCOUNT_RESYNC`, `MUTED_ISSUE`, `GENERATED_MAGIC_LINK`, `ENABLED_MERGE_WEBHOOK`, `DISABLED_MERGE_WEBHOOK`, `MERGE_WEBHOOK_TARGET_CHANGED`, `END_USER_CREDENTIALS_ACCESSED` /// + [JsonIgnore] public string? EventType { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// If included, will only include audit trail events that occurred after this time /// + [JsonIgnore] public string? StartDate { get; set; } /// /// If provided, this will return events associated with the specified user email. Please note that the email address reflects the user's email at the time of the event, and may not be their current email. /// + [JsonIgnore] public string? UserEmail { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/AvailableActions/AvailableActionsClient.cs b/src/Merge.Client/Filestorage/AvailableActions/AvailableActionsClient.cs index 8d03e112..f63ee14f 100644 --- a/src/Merge.Client/Filestorage/AvailableActions/AvailableActionsClient.cs +++ b/src/Merge.Client/Filestorage/AvailableActions/AvailableActionsClient.cs @@ -17,19 +17,17 @@ internal AvailableActionsClient(RawClient client) /// /// Returns a list of models and actions available for an account. /// - /// - /// + /// /// await client.Filestorage.AvailableActions.RetrieveAsync(); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -39,23 +37,26 @@ public async System.Threading.Tasks.Task RetrieveAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Filestorage/DeleteAccount/DeleteAccountClient.cs b/src/Merge.Client/Filestorage/DeleteAccount/DeleteAccountClient.cs index f77dd269..cad4c2d4 100644 --- a/src/Merge.Client/Filestorage/DeleteAccount/DeleteAccountClient.cs +++ b/src/Merge.Client/Filestorage/DeleteAccount/DeleteAccountClient.cs @@ -1,5 +1,6 @@ using System.Net.Http; using System.Threading; +using global::System.Threading.Tasks; using Merge.Client.Core; namespace Merge.Client.Filestorage; @@ -16,19 +17,17 @@ internal DeleteAccountClient(RawClient client) /// /// Delete a linked account. /// - /// - /// + /// /// await client.Filestorage.DeleteAccount.DeleteAsync(); - /// - /// - public async System.Threading.Tasks.Task DeleteAsync( + /// + public async global::System.Threading.Tasks.Task DeleteAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, @@ -42,11 +41,13 @@ public async System.Threading.Tasks.Task DeleteAsync( { return; } - var responseBody = await response.Raw.Content.ReadAsStringAsync(); - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Filestorage/Drives/DrivesClient.cs b/src/Merge.Client/Filestorage/Drives/DrivesClient.cs index 71754c99..c77d0ae7 100644 --- a/src/Merge.Client/Filestorage/Drives/DrivesClient.cs +++ b/src/Merge.Client/Filestorage/Drives/DrivesClient.cs @@ -17,12 +17,10 @@ internal DrivesClient(RawClient client) /// /// Returns a list of `Drive` objects. /// - /// - /// + /// /// await client.Filestorage.Drives.ListAsync(new DrivesListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( DrivesListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -80,8 +78,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["remote_id"] = request.RemoteId; } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -92,35 +90,36 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a `Drive` object with the given `id`. /// - /// - /// + /// /// await client.Filestorage.Drives.RetrieveAsync("id", new DrivesRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, DrivesRetrieveRequest request, RequestOptions? options = null, @@ -132,36 +131,46 @@ public async System.Threading.Tasks.Task RetrieveAsync( { _query["include_remote_data"] = JsonUtils.Serialize(request.IncludeRemoteData.Value); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"filestorage/v1/drives/{id}", + Path = string.Format( + "filestorage/v1/drives/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Filestorage/Drives/Requests/DrivesListRequest.cs b/src/Merge.Client/Filestorage/Drives/Requests/DrivesListRequest.cs index 1369f014..5ceb4009 100644 --- a/src/Merge.Client/Filestorage/Drives/Requests/DrivesListRequest.cs +++ b/src/Merge.Client/Filestorage/Drives/Requests/DrivesListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Filestorage; @@ -7,58 +8,70 @@ public record DrivesListRequest /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// If provided, will only return drives with this name. This performs an exact match. /// + [JsonIgnore] public string? Name { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Drives/Requests/DrivesRetrieveRequest.cs b/src/Merge.Client/Filestorage/Drives/Requests/DrivesRetrieveRequest.cs index 1dd8fffa..4ad5aaca 100644 --- a/src/Merge.Client/Filestorage/Drives/Requests/DrivesRetrieveRequest.cs +++ b/src/Merge.Client/Filestorage/Drives/Requests/DrivesRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Filestorage; @@ -7,8 +8,16 @@ public record DrivesRetrieveRequest /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/FieldMapping/FieldMappingClient.cs b/src/Merge.Client/Filestorage/FieldMapping/FieldMappingClient.cs index 0c4d4049..8e1b2c8a 100644 --- a/src/Merge.Client/Filestorage/FieldMapping/FieldMappingClient.cs +++ b/src/Merge.Client/Filestorage/FieldMapping/FieldMappingClient.cs @@ -17,14 +17,12 @@ internal FieldMappingClient(RawClient client) /// /// Get all Field Mappings for this Linked Account. Field Mappings are mappings between third-party Remote Fields and user defined Merge fields. [Learn more](https://docs.merge.dev/supplemental-data/field-mappings/overview/). /// - /// - /// + /// /// await client.Filestorage.FieldMapping.FieldMappingsRetrieveAsync( /// new FieldMappingsRetrieveRequest() /// ); - /// - /// - public async System.Threading.Tasks.Task FieldMappingsRetrieveAsync( + /// + public async Task FieldMappingsRetrieveAsync( FieldMappingsRetrieveRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -38,8 +36,8 @@ public async System.Threading.Tasks.Task FieldM ); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -50,31 +48,33 @@ public async System.Threading.Tasks.Task FieldM cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Create new Field Mappings that will be available after the next scheduled sync. This will cause the next sync for this Linked Account to sync **ALL** data from start. /// - /// - /// + /// /// await client.Filestorage.FieldMapping.FieldMappingsCreateAsync( /// new CreateFieldMappingRequest /// { @@ -86,9 +86,8 @@ public async System.Threading.Tasks.Task FieldM /// CommonModelName = "ExampleCommonModel", /// } /// ); - /// - /// - public async System.Threading.Tasks.Task FieldMappingsCreateAsync( + /// + public async Task FieldMappingsCreateAsync( CreateFieldMappingRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -101,23 +100,14 @@ public async System.Threading.Tasks.Task FieldMapp request.ExcludeRemoteFieldMetadata.Value ); } - var requestBody = new Dictionary() - { - { "target_field_name", request.TargetFieldName }, - { "target_field_description", request.TargetFieldDescription }, - { "remote_field_traversal_path", request.RemoteFieldTraversalPath }, - { "remote_method", request.RemoteMethod }, - { "remote_url_path", request.RemoteUrlPath }, - { "common_model_name", request.CommonModelName }, - }; var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, Path = "filestorage/v1/field-mappings", - Body = requestBody, + Body = request, Query = _query, ContentType = "application/json", Options = options, @@ -125,84 +115,89 @@ public async System.Threading.Tasks.Task FieldMapp cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Deletes Field Mappings for a Linked Account. All data related to this Field Mapping will be deleted and these changes will be reflected after the next scheduled sync. This will cause the next sync for this Linked Account to sync **ALL** data from start. /// - /// - /// + /// /// await client.Filestorage.FieldMapping.FieldMappingsDestroyAsync("field_mapping_id"); - /// - /// - public async System.Threading.Tasks.Task FieldMappingsDestroyAsync( + /// + public async Task FieldMappingsDestroyAsync( string fieldMappingId, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Delete, - Path = $"filestorage/v1/field-mappings/{fieldMappingId}", + Path = string.Format( + "filestorage/v1/field-mappings/{0}", + ValueConvert.ToPathParameterString(fieldMappingId) + ), Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Create or update existing Field Mappings for a Linked Account. Changes will be reflected after the next scheduled sync. This will cause the next sync for this Linked Account to sync **ALL** data from start. /// - /// - /// + /// /// await client.Filestorage.FieldMapping.FieldMappingsPartialUpdateAsync( /// "field_mapping_id", /// new PatchedEditFieldMappingRequest() /// ); - /// - /// - public async System.Threading.Tasks.Task FieldMappingsPartialUpdateAsync( + /// + public async Task FieldMappingsPartialUpdateAsync( string fieldMappingId, PatchedEditFieldMappingRequest request, RequestOptions? options = null, @@ -210,12 +205,15 @@ public async System.Threading.Tasks.Task FieldMapp ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethodExtensions.Patch, - Path = $"filestorage/v1/field-mappings/{fieldMappingId}", + Path = string.Format( + "filestorage/v1/field-mappings/{0}", + ValueConvert.ToPathParameterString(fieldMappingId) + ), Body = request, ContentType = "application/json", Options = options, @@ -223,35 +221,36 @@ public async System.Threading.Tasks.Task FieldMapp cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Get all remote fields for a Linked Account. Remote fields are third-party fields that are accessible after initial sync if remote_data is enabled. You can use remote fields to override existing Merge fields or map a new Merge field. [Learn more](https://docs.merge.dev/supplemental-data/field-mappings/overview/). /// - /// - /// + /// /// await client.Filestorage.FieldMapping.RemoteFieldsRetrieveAsync(new RemoteFieldsRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RemoteFieldsRetrieveAsync( + /// + public async Task RemoteFieldsRetrieveAsync( RemoteFieldsRetrieveRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -267,8 +266,8 @@ public async System.Threading.Tasks.Task RemoteFieldsRet _query["include_example_values"] = request.IncludeExampleValues; } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -279,42 +278,43 @@ public async System.Threading.Tasks.Task RemoteFieldsRet cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Get all organization-wide Target Fields, this will not include any Linked Account specific Target Fields. Organization-wide Target Fields are additional fields appended to the Merge Common Model for all Linked Accounts in a category. [Learn more](https://docs.merge.dev/supplemental-data/field-mappings/target-fields/). /// - /// - /// + /// /// await client.Filestorage.FieldMapping.TargetFieldsRetrieveAsync(); - /// - /// - public async System.Threading.Tasks.Task TargetFieldsRetrieveAsync( + /// + public async Task TargetFieldsRetrieveAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -324,23 +324,26 @@ public async System.Threading.Tasks.Task TargetF cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Filestorage/FieldMapping/Requests/CreateFieldMappingRequest.cs b/src/Merge.Client/Filestorage/FieldMapping/Requests/CreateFieldMappingRequest.cs index 86500e51..2aa1de48 100644 --- a/src/Merge.Client/Filestorage/FieldMapping/Requests/CreateFieldMappingRequest.cs +++ b/src/Merge.Client/Filestorage/FieldMapping/Requests/CreateFieldMappingRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Filestorage; @@ -7,38 +8,46 @@ public record CreateFieldMappingRequest /// /// If `true`, remote fields metadata is excluded from each field mapping instance (i.e. `remote_fields.remote_key_name` and `remote_fields.schema` will be null). This will increase the speed of the request since these fields require some calculations. /// + [JsonIgnore] public bool? ExcludeRemoteFieldMetadata { get; set; } /// /// The name of the target field you want this remote field to map to. /// + [JsonPropertyName("target_field_name")] public required string TargetFieldName { get; set; } /// /// The description of the target field you want this remote field to map to. /// + [JsonPropertyName("target_field_description")] public required string TargetFieldDescription { get; set; } /// /// The field traversal path of the remote field listed when you hit the GET /remote-fields endpoint. /// + [JsonPropertyName("remote_field_traversal_path")] public IEnumerable RemoteFieldTraversalPath { get; set; } = new List(); /// /// The method of the remote endpoint where the remote field is coming from. /// + [JsonPropertyName("remote_method")] public required string RemoteMethod { get; set; } /// /// The path of the remote endpoint where the remote field is coming from. /// + [JsonPropertyName("remote_url_path")] public required string RemoteUrlPath { get; set; } /// /// The name of the Common Model that the remote field corresponds to in a given category. /// + [JsonPropertyName("common_model_name")] public required string CommonModelName { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/FieldMapping/Requests/FieldMappingsRetrieveRequest.cs b/src/Merge.Client/Filestorage/FieldMapping/Requests/FieldMappingsRetrieveRequest.cs index c948521d..df5dbd32 100644 --- a/src/Merge.Client/Filestorage/FieldMapping/Requests/FieldMappingsRetrieveRequest.cs +++ b/src/Merge.Client/Filestorage/FieldMapping/Requests/FieldMappingsRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Filestorage; @@ -7,8 +8,10 @@ public record FieldMappingsRetrieveRequest /// /// If `true`, remote fields metadata is excluded from each field mapping instance (i.e. `remote_fields.remote_key_name` and `remote_fields.schema` will be null). This will increase the speed of the request since these fields require some calculations. /// + [JsonIgnore] public bool? ExcludeRemoteFieldMetadata { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/FieldMapping/Requests/PatchedEditFieldMappingRequest.cs b/src/Merge.Client/Filestorage/FieldMapping/Requests/PatchedEditFieldMappingRequest.cs index 9f7ad323..f826e6d2 100644 --- a/src/Merge.Client/Filestorage/FieldMapping/Requests/PatchedEditFieldMappingRequest.cs +++ b/src/Merge.Client/Filestorage/FieldMapping/Requests/PatchedEditFieldMappingRequest.cs @@ -23,6 +23,7 @@ public record PatchedEditFieldMappingRequest [JsonPropertyName("remote_url_path")] public string? RemoteUrlPath { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/FieldMapping/Requests/RemoteFieldsRetrieveRequest.cs b/src/Merge.Client/Filestorage/FieldMapping/Requests/RemoteFieldsRetrieveRequest.cs index c8c299f5..5790cb77 100644 --- a/src/Merge.Client/Filestorage/FieldMapping/Requests/RemoteFieldsRetrieveRequest.cs +++ b/src/Merge.Client/Filestorage/FieldMapping/Requests/RemoteFieldsRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Filestorage; @@ -7,13 +8,16 @@ public record RemoteFieldsRetrieveRequest /// /// A comma seperated list of Common Model names. If included, will only return Remote Fields for those Common Models. /// + [JsonIgnore] public string? CommonModels { get; set; } /// /// If true, will include example values, where available, for remote fields in the 3rd party platform. These examples come from active data from your customers. /// + [JsonIgnore] public string? IncludeExampleValues { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Files/FilesClient.cs b/src/Merge.Client/Filestorage/Files/FilesClient.cs index 9f355537..e8216df5 100644 --- a/src/Merge.Client/Filestorage/Files/FilesClient.cs +++ b/src/Merge.Client/Filestorage/Files/FilesClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using global::System.Threading.Tasks; using Merge.Client.Core; namespace Merge.Client.Filestorage; @@ -17,12 +18,10 @@ internal FilesClient(RawClient client) /// /// Returns a list of `File` objects. /// - /// - /// + /// /// await client.Filestorage.Files.ListAsync(new FilesListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( FilesListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -96,8 +95,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["remote_id"] = request.RemoteId; } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -108,37 +107,38 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Creates a `File` object with the given values. /// - /// - /// + /// /// await client.Filestorage.Files.CreateAsync( /// new FileStorageFileEndpointRequest { Model = new FileRequest() } /// ); - /// - /// - public async System.Threading.Tasks.Task CreateAsync( + /// + public async Task CreateAsync( FileStorageFileEndpointRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -153,15 +153,14 @@ public async System.Threading.Tasks.Task CreateAsync( { _query["run_async"] = JsonUtils.Serialize(request.RunAsync.Value); } - var requestBody = new Dictionary() { { "model", request.Model } }; var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, Path = "filestorage/v1/files", - Body = requestBody, + Body = request, Query = _query, ContentType = "application/json", Options = options, @@ -169,35 +168,36 @@ public async System.Threading.Tasks.Task CreateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a `File` object with the given `id`. /// - /// - /// + /// /// await client.Filestorage.Files.RetrieveAsync("id", new FilesRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, FilesRetrieveRequest request, RequestOptions? options = null, @@ -213,51 +213,53 @@ public async System.Threading.Tasks.Task RetrieveAsync( { _query["include_remote_data"] = JsonUtils.Serialize(request.IncludeRemoteData.Value); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"filestorage/v1/files/{id}", + Path = string.Format( + "filestorage/v1/files/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns the `File` content with the given `id` as a stream of bytes. /// - /// - /// - /// await client.Filestorage.Files.DownloadRetrieveAsync( - /// "string", - /// new FilesDownloadRetrieveRequest { MimeType = "string" } - /// ); - /// - /// - public async System.Threading.Tasks.Task DownloadRetrieveAsync( + public async global::System.Threading.Tasks.Task DownloadRetrieveAsync( string id, FilesDownloadRetrieveRequest request, RequestOptions? options = null, @@ -265,47 +267,181 @@ public async System.Threading.Tasks.Task DownloadRetrieveAsync( ) { var _query = new Dictionary(); + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } if (request.MimeType != null) { _query["mime_type"] = request.MimeType; } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"filestorage/v1/files/{id}/download", + Path = string.Format( + "filestorage/v1/files/{0}/download", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } + } + + /// + /// Returns metadata to construct an authenticated file download request for a singular file, allowing you to download file directly from the third-party. + /// + /// + /// await client.Filestorage.Files.DownloadRequestMetaRetrieveAsync( + /// "id", + /// new FilesDownloadRequestMetaRetrieveRequest() + /// ); + /// + public async Task DownloadRequestMetaRetrieveAsync( + string id, + FilesDownloadRequestMetaRetrieveRequest request, + RequestOptions? options = null, + CancellationToken cancellationToken = default + ) + { + var _query = new Dictionary(); + if (request.MimeType != null) + { + _query["mime_type"] = request.MimeType; + } + var response = await _client + .SendRequestAsync( + new JsonRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = string.Format( + "filestorage/v1/files/{0}/download/request-meta", + ValueConvert.ToPathParameterString(id) + ), + Query = _query, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); + if (response.StatusCode is >= 200 and < 400) + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + try + { + return JsonUtils.Deserialize(responseBody)!; + } + catch (JsonException e) + { + throw new BaseMergeClientException("Failed to deserialize response", e); + } + } + + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } + } + + /// + /// Returns metadata to construct authenticated file download requests, allowing you to download files directly from the third-party. + /// + /// + /// await client.Filestorage.Files.DownloadRequestMetaListAsync( + /// new FilesDownloadRequestMetaListRequest() + /// ); + /// + public async Task DownloadRequestMetaListAsync( + FilesDownloadRequestMetaListRequest request, + RequestOptions? options = null, + CancellationToken cancellationToken = default + ) + { + var _query = new Dictionary(); + if (request.Cursor != null) + { + _query["cursor"] = request.Cursor; + } + if (request.IncludeDeletedData != null) + { + _query["include_deleted_data"] = JsonUtils.Serialize(request.IncludeDeletedData.Value); + } + if (request.MimeType != null) + { + _query["mime_type"] = request.MimeType; + } + if (request.PageSize != null) + { + _query["page_size"] = request.PageSize.Value.ToString(); + } + var response = await _client + .SendRequestAsync( + new JsonRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = "filestorage/v1/files/download/request-meta", + Query = _query, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); + if (response.StatusCode is >= 200 and < 400) + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + try + { + return JsonUtils.Deserialize(responseBody)!; + } + catch (JsonException e) + { + throw new BaseMergeClientException("Failed to deserialize response", e); + } + } + + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns metadata for `FileStorageFile` POSTs. /// - /// - /// + /// /// await client.Filestorage.Files.MetaPostRetrieveAsync(); - /// - /// - public async System.Threading.Tasks.Task MetaPostRetrieveAsync( + /// + public async Task MetaPostRetrieveAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -315,23 +451,26 @@ public async System.Threading.Tasks.Task MetaPostRetrieveAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Filestorage/Files/Requests/FileStorageFileEndpointRequest.cs b/src/Merge.Client/Filestorage/Files/Requests/FileStorageFileEndpointRequest.cs index bda08917..f319263a 100644 --- a/src/Merge.Client/Filestorage/Files/Requests/FileStorageFileEndpointRequest.cs +++ b/src/Merge.Client/Filestorage/Files/Requests/FileStorageFileEndpointRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Filestorage; @@ -7,15 +8,19 @@ public record FileStorageFileEndpointRequest /// /// Whether to include debug fields (such as log file links) in the response. /// + [JsonIgnore] public bool? IsDebugMode { get; set; } /// /// Whether or not third-party updates should be run asynchronously. /// + [JsonIgnore] public bool? RunAsync { get; set; } + [JsonPropertyName("model")] public required FileRequest Model { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Files/Requests/FilesDownloadRequestMetaListRequest.cs b/src/Merge.Client/Filestorage/Files/Requests/FilesDownloadRequestMetaListRequest.cs new file mode 100644 index 00000000..a388a6bb --- /dev/null +++ b/src/Merge.Client/Filestorage/Files/Requests/FilesDownloadRequestMetaListRequest.cs @@ -0,0 +1,37 @@ +using System.Text.Json.Serialization; +using Merge.Client.Core; + +namespace Merge.Client.Filestorage; + +public record FilesDownloadRequestMetaListRequest +{ + /// + /// The pagination cursor value. + /// + [JsonIgnore] + public string? Cursor { get; set; } + + /// + /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). + /// + [JsonIgnore] + public bool? IncludeDeletedData { get; set; } + + /// + /// If provided, specifies the export format of the files to be downloaded. For information on supported export formats, please refer to our <a href='https://help.merge.dev/en/articles/8615316-file-export-and-download-specification' target='_blank'>export format help center article</a>. + /// + [JsonIgnore] + public string? MimeType { get; set; } + + /// + /// Number of results to return per page. + /// + [JsonIgnore] + public int? PageSize { get; set; } + + /// + public override string ToString() + { + return JsonUtils.Serialize(this); + } +} diff --git a/src/Merge.Client/Filestorage/Files/Requests/FilesDownloadRequestMetaRetrieveRequest.cs b/src/Merge.Client/Filestorage/Files/Requests/FilesDownloadRequestMetaRetrieveRequest.cs new file mode 100644 index 00000000..cb683af2 --- /dev/null +++ b/src/Merge.Client/Filestorage/Files/Requests/FilesDownloadRequestMetaRetrieveRequest.cs @@ -0,0 +1,19 @@ +using System.Text.Json.Serialization; +using Merge.Client.Core; + +namespace Merge.Client.Filestorage; + +public record FilesDownloadRequestMetaRetrieveRequest +{ + /// + /// If provided, specifies the export format of the file to be downloaded. For information on supported export formats, please refer to our <a href='https://help.merge.dev/en/articles/8615316-file-export-and-download-specification' target='_blank'>export format help center article</a>. + /// + [JsonIgnore] + public string? MimeType { get; set; } + + /// + public override string ToString() + { + return JsonUtils.Serialize(this); + } +} diff --git a/src/Merge.Client/Filestorage/Files/Requests/FilesDownloadRetrieveRequest.cs b/src/Merge.Client/Filestorage/Files/Requests/FilesDownloadRetrieveRequest.cs index b46b830e..967c8b04 100644 --- a/src/Merge.Client/Filestorage/Files/Requests/FilesDownloadRetrieveRequest.cs +++ b/src/Merge.Client/Filestorage/Files/Requests/FilesDownloadRetrieveRequest.cs @@ -1,14 +1,23 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Filestorage; public record FilesDownloadRetrieveRequest { + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + /// /// If provided, specifies the export format of the file to be downloaded. For information on supported export formats, please refer to our <a href='https://help.merge.dev/en/articles/8615316-file-export-and-download-specification' target='_blank'>export format help center article</a>. /// + [JsonIgnore] public string? MimeType { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Files/Requests/FilesListRequest.cs b/src/Merge.Client/Filestorage/Files/Requests/FilesListRequest.cs index d160e655..a943c3ea 100644 --- a/src/Merge.Client/Filestorage/Files/Requests/FilesListRequest.cs +++ b/src/Merge.Client/Filestorage/Files/Requests/FilesListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Filestorage; @@ -7,78 +8,94 @@ public record FilesListRequest /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Specifying a drive id returns only the files in that drive. Specifying null returns only the files outside the top-level drive. /// + [JsonIgnore] public string? DriveId { get; set; } /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public FilesListRequestExpand? Expand { get; set; } /// /// Specifying a folder id returns only the files in that folder. Specifying null returns only the files in root directory. /// + [JsonIgnore] public string? FolderId { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, will only return files with these mime_types. Multiple values can be separated by commas. /// + [JsonIgnore] public string? MimeType { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// If provided, will only return files with this name. This performs an exact match. /// + [JsonIgnore] public string? Name { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Files/Requests/FilesRetrieveRequest.cs b/src/Merge.Client/Filestorage/Files/Requests/FilesRetrieveRequest.cs index 6df45a3f..4fde0579 100644 --- a/src/Merge.Client/Filestorage/Files/Requests/FilesRetrieveRequest.cs +++ b/src/Merge.Client/Filestorage/Files/Requests/FilesRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Filestorage; @@ -7,13 +8,22 @@ public record FilesRetrieveRequest /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public FilesRetrieveRequestExpand? Expand { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Folders/FoldersClient.cs b/src/Merge.Client/Filestorage/Folders/FoldersClient.cs index 472d32f7..31af552c 100644 --- a/src/Merge.Client/Filestorage/Folders/FoldersClient.cs +++ b/src/Merge.Client/Filestorage/Folders/FoldersClient.cs @@ -17,12 +17,10 @@ internal FoldersClient(RawClient client) /// /// Returns a list of `Folder` objects. /// - /// - /// + /// /// await client.Filestorage.Folders.ListAsync(new FoldersListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( FoldersListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -92,8 +90,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["remote_id"] = request.RemoteId; } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -104,37 +102,38 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Creates a `Folder` object with the given values. /// - /// - /// + /// /// await client.Filestorage.Folders.CreateAsync( /// new FileStorageFolderEndpointRequest { Model = new FolderRequest() } /// ); - /// - /// - public async System.Threading.Tasks.Task CreateAsync( + /// + public async Task CreateAsync( FileStorageFolderEndpointRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -149,15 +148,14 @@ public async System.Threading.Tasks.Task CreateAsync( { _query["run_async"] = JsonUtils.Serialize(request.RunAsync.Value); } - var requestBody = new Dictionary() { { "model", request.Model } }; var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, Path = "filestorage/v1/folders", - Body = requestBody, + Body = request, Query = _query, ContentType = "application/json", Options = options, @@ -165,35 +163,36 @@ public async System.Threading.Tasks.Task CreateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a `Folder` object with the given `id`. /// - /// - /// + /// /// await client.Filestorage.Folders.RetrieveAsync("id", new FoldersRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, FoldersRetrieveRequest request, RequestOptions? options = null, @@ -209,55 +208,63 @@ public async System.Threading.Tasks.Task RetrieveAsync( { _query["include_remote_data"] = JsonUtils.Serialize(request.IncludeRemoteData.Value); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"filestorage/v1/folders/{id}", + Path = string.Format( + "filestorage/v1/folders/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns metadata for `FileStorageFolder` POSTs. /// - /// - /// + /// /// await client.Filestorage.Folders.MetaPostRetrieveAsync(); - /// - /// - public async System.Threading.Tasks.Task MetaPostRetrieveAsync( + /// + public async Task MetaPostRetrieveAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -267,23 +274,26 @@ public async System.Threading.Tasks.Task MetaPostRetrieveAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Filestorage/Folders/Requests/FileStorageFolderEndpointRequest.cs b/src/Merge.Client/Filestorage/Folders/Requests/FileStorageFolderEndpointRequest.cs index 81606351..4e5d05c4 100644 --- a/src/Merge.Client/Filestorage/Folders/Requests/FileStorageFolderEndpointRequest.cs +++ b/src/Merge.Client/Filestorage/Folders/Requests/FileStorageFolderEndpointRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Filestorage; @@ -7,15 +8,19 @@ public record FileStorageFolderEndpointRequest /// /// Whether to include debug fields (such as log file links) in the response. /// + [JsonIgnore] public bool? IsDebugMode { get; set; } /// /// Whether or not third-party updates should be run asynchronously. /// + [JsonIgnore] public bool? RunAsync { get; set; } + [JsonPropertyName("model")] public required FolderRequest Model { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Folders/Requests/FoldersListRequest.cs b/src/Merge.Client/Filestorage/Folders/Requests/FoldersListRequest.cs index 918347fe..32db656f 100644 --- a/src/Merge.Client/Filestorage/Folders/Requests/FoldersListRequest.cs +++ b/src/Merge.Client/Filestorage/Folders/Requests/FoldersListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Filestorage; @@ -7,73 +8,88 @@ public record FoldersListRequest /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// If provided, will only return folders in this drive. /// + [JsonIgnore] public string? DriveId { get; set; } /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public FoldersListRequestExpand? Expand { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// If provided, will only return folders with this name. This performs an exact match. /// + [JsonIgnore] public string? Name { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// If provided, will only return folders in this parent folder. If null, will return folders in root directory. /// + [JsonIgnore] public string? ParentFolderId { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Folders/Requests/FoldersRetrieveRequest.cs b/src/Merge.Client/Filestorage/Folders/Requests/FoldersRetrieveRequest.cs index 203d8e4d..ff885704 100644 --- a/src/Merge.Client/Filestorage/Folders/Requests/FoldersRetrieveRequest.cs +++ b/src/Merge.Client/Filestorage/Folders/Requests/FoldersRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Filestorage; @@ -7,13 +8,22 @@ public record FoldersRetrieveRequest /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public FoldersRetrieveRequestExpand? Expand { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/ForceResync/ForceResyncClient.cs b/src/Merge.Client/Filestorage/ForceResync/ForceResyncClient.cs index 91aa920d..e27b8478 100644 --- a/src/Merge.Client/Filestorage/ForceResync/ForceResyncClient.cs +++ b/src/Merge.Client/Filestorage/ForceResync/ForceResyncClient.cs @@ -15,21 +15,19 @@ internal ForceResyncClient(RawClient client) } /// - /// Force re-sync of all models. This is available for all organizations via the dashboard. Force re-sync is also available programmatically via API for monthly, quarterly, and highest sync frequency customers on the Professional or Enterprise plans. Doing so will consume a sync credit for the relevant linked account. + /// Force re-sync of all models. This endpoint is available for monthly, quarterly, and highest sync frequency customers on the Professional or Enterprise plans. Doing so will consume a sync credit for the relevant linked account. Force re-syncs can also be triggered manually in the Merge Dashboard and is available for all customers. /// - /// - /// + /// /// await client.Filestorage.ForceResync.SyncStatusResyncCreateAsync(); - /// - /// - public async System.Threading.Tasks.Task> SyncStatusResyncCreateAsync( + /// + public async Task> SyncStatusResyncCreateAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, @@ -39,23 +37,26 @@ public async System.Threading.Tasks.Task> SyncStatusResy cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize>(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Filestorage/GenerateKey/GenerateKeyClient.cs b/src/Merge.Client/Filestorage/GenerateKey/GenerateKeyClient.cs index 6c0e3d4d..2c074f4b 100644 --- a/src/Merge.Client/Filestorage/GenerateKey/GenerateKeyClient.cs +++ b/src/Merge.Client/Filestorage/GenerateKey/GenerateKeyClient.cs @@ -17,22 +17,20 @@ internal GenerateKeyClient(RawClient client) /// /// Create a remote key. /// - /// - /// + /// /// await client.Filestorage.GenerateKey.CreateAsync( /// new GenerateRemoteKeyRequest { Name = "Remote Deployment Key 1" } /// ); - /// - /// - public async System.Threading.Tasks.Task CreateAsync( + /// + public async Task CreateAsync( GenerateRemoteKeyRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, @@ -44,23 +42,26 @@ public async System.Threading.Tasks.Task CreateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Filestorage/GenerateKey/Requests/GenerateRemoteKeyRequest.cs b/src/Merge.Client/Filestorage/GenerateKey/Requests/GenerateRemoteKeyRequest.cs index 6e708845..2e1f7449 100644 --- a/src/Merge.Client/Filestorage/GenerateKey/Requests/GenerateRemoteKeyRequest.cs +++ b/src/Merge.Client/Filestorage/GenerateKey/Requests/GenerateRemoteKeyRequest.cs @@ -11,6 +11,7 @@ public record GenerateRemoteKeyRequest [JsonPropertyName("name")] public required string Name { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Groups/GroupsClient.cs b/src/Merge.Client/Filestorage/Groups/GroupsClient.cs index 834e6c0a..b9554702 100644 --- a/src/Merge.Client/Filestorage/Groups/GroupsClient.cs +++ b/src/Merge.Client/Filestorage/Groups/GroupsClient.cs @@ -17,12 +17,10 @@ internal GroupsClient(RawClient client) /// /// Returns a list of `Group` objects. /// - /// - /// + /// /// await client.Filestorage.Groups.ListAsync(new GroupsListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( GroupsListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -80,8 +78,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["remote_id"] = request.RemoteId; } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -92,35 +90,36 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a `Group` object with the given `id`. /// - /// - /// + /// /// await client.Filestorage.Groups.RetrieveAsync("id", new GroupsRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, GroupsRetrieveRequest request, RequestOptions? options = null, @@ -136,36 +135,46 @@ public async System.Threading.Tasks.Task RetrieveAsync( { _query["include_remote_data"] = JsonUtils.Serialize(request.IncludeRemoteData.Value); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"filestorage/v1/groups/{id}", + Path = string.Format( + "filestorage/v1/groups/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Filestorage/Groups/Requests/GroupsListRequest.cs b/src/Merge.Client/Filestorage/Groups/Requests/GroupsListRequest.cs index 555d7125..5fa73b44 100644 --- a/src/Merge.Client/Filestorage/Groups/Requests/GroupsListRequest.cs +++ b/src/Merge.Client/Filestorage/Groups/Requests/GroupsListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Filestorage; @@ -7,58 +8,70 @@ public record GroupsListRequest /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public string? Expand { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Groups/Requests/GroupsRetrieveRequest.cs b/src/Merge.Client/Filestorage/Groups/Requests/GroupsRetrieveRequest.cs index c969f362..c8330aae 100644 --- a/src/Merge.Client/Filestorage/Groups/Requests/GroupsRetrieveRequest.cs +++ b/src/Merge.Client/Filestorage/Groups/Requests/GroupsRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Filestorage; @@ -7,13 +8,22 @@ public record GroupsRetrieveRequest /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public string? Expand { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Issues/IssuesClient.cs b/src/Merge.Client/Filestorage/Issues/IssuesClient.cs index c860d8c9..90752365 100644 --- a/src/Merge.Client/Filestorage/Issues/IssuesClient.cs +++ b/src/Merge.Client/Filestorage/Issues/IssuesClient.cs @@ -17,12 +17,10 @@ internal IssuesClient(RawClient client) /// /// Gets all issues for Organization. /// - /// - /// + /// /// await client.Filestorage.Issues.ListAsync(new IssuesListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( IssuesListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -94,8 +92,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["status"] = request.Status.Value.Stringify(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -106,69 +104,76 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Get a specific issue. /// - /// - /// + /// /// await client.Filestorage.Issues.RetrieveAsync("id"); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"filestorage/v1/issues/{id}", + Path = string.Format( + "filestorage/v1/issues/{0}", + ValueConvert.ToPathParameterString(id) + ), Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Filestorage/Issues/Requests/IssuesListRequest.cs b/src/Merge.Client/Filestorage/Issues/Requests/IssuesListRequest.cs index d15cd129..994eaa97 100644 --- a/src/Merge.Client/Filestorage/Issues/Requests/IssuesListRequest.cs +++ b/src/Merge.Client/Filestorage/Issues/Requests/IssuesListRequest.cs @@ -1,73 +1,89 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Filestorage; public record IssuesListRequest { + [JsonIgnore] public string? AccountToken { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// If included, will only include issues whose most recent action occurred before this time /// + [JsonIgnore] public string? EndDate { get; set; } + [JsonIgnore] public string? EndUserOrganizationName { get; set; } /// /// If provided, will only return issues whose first incident time was after this datetime. /// + [JsonIgnore] public DateTime? FirstIncidentTimeAfter { get; set; } /// /// If provided, will only return issues whose first incident time was before this datetime. /// + [JsonIgnore] public DateTime? FirstIncidentTimeBefore { get; set; } /// /// If true, will include muted issues /// + [JsonIgnore] public string? IncludeMuted { get; set; } + [JsonIgnore] public string? IntegrationName { get; set; } /// /// If provided, will only return issues whose last incident time was after this datetime. /// + [JsonIgnore] public DateTime? LastIncidentTimeAfter { get; set; } /// /// If provided, will only return issues whose last incident time was before this datetime. /// + [JsonIgnore] public DateTime? LastIncidentTimeBefore { get; set; } /// /// If provided, will only include issues pertaining to the linked account passed in. /// + [JsonIgnore] public string? LinkedAccountId { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// If included, will only include issues whose most recent action occurred after this time /// + [JsonIgnore] public string? StartDate { get; set; } /// /// Status of the issue. Options: ('ONGOING', 'RESOLVED') /// - /// - `ONGOING` - ONGOING - /// - `RESOLVED` - RESOLVED + /// * `ONGOING` - ONGOING + /// * `RESOLVED` - RESOLVED /// + [JsonIgnore] public IssuesListRequestStatus? Status { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/LinkToken/LinkTokenClient.cs b/src/Merge.Client/Filestorage/LinkToken/LinkTokenClient.cs index cd2e9da8..c5c53497 100644 --- a/src/Merge.Client/Filestorage/LinkToken/LinkTokenClient.cs +++ b/src/Merge.Client/Filestorage/LinkToken/LinkTokenClient.cs @@ -17,8 +17,7 @@ internal LinkTokenClient(RawClient client) /// /// Creates a link token to be used when linking a new end user. /// - /// - /// + /// /// await client.Filestorage.LinkToken.CreateAsync( /// new EndUserDetailsRequest /// { @@ -32,17 +31,16 @@ internal LinkTokenClient(RawClient client) /// }, /// } /// ); - /// - /// - public async System.Threading.Tasks.Task CreateAsync( + /// + public async Task CreateAsync( EndUserDetailsRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, @@ -54,23 +52,26 @@ public async System.Threading.Tasks.Task CreateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Filestorage/LinkToken/Requests/EndUserDetailsRequest.cs b/src/Merge.Client/Filestorage/LinkToken/Requests/EndUserDetailsRequest.cs index b4d4f1bd..2fc2e2dc 100644 --- a/src/Merge.Client/Filestorage/LinkToken/Requests/EndUserDetailsRequest.cs +++ b/src/Merge.Client/Filestorage/LinkToken/Requests/EndUserDetailsRequest.cs @@ -89,6 +89,7 @@ public Dictionary< [JsonPropertyName("integration_specific_config")] public Dictionary? IntegrationSpecificConfig { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/LinkedAccounts/LinkedAccountsClient.cs b/src/Merge.Client/Filestorage/LinkedAccounts/LinkedAccountsClient.cs index 5df4bc91..66022560 100644 --- a/src/Merge.Client/Filestorage/LinkedAccounts/LinkedAccountsClient.cs +++ b/src/Merge.Client/Filestorage/LinkedAccounts/LinkedAccountsClient.cs @@ -17,12 +17,10 @@ internal LinkedAccountsClient(RawClient client) /// /// List linked accounts for your organization. /// - /// - /// + /// /// await client.Filestorage.LinkedAccounts.ListAsync(new LinkedAccountsListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( LinkedAccountsListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -82,8 +80,8 @@ public async System.Threading.Tasks.Task _query["status"] = request.Status; } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -94,23 +92,26 @@ public async System.Threading.Tasks.Task cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Filestorage/LinkedAccounts/Requests/LinkedAccountsListRequest.cs b/src/Merge.Client/Filestorage/LinkedAccounts/Requests/LinkedAccountsListRequest.cs index 198c99c2..cfb7c98d 100644 --- a/src/Merge.Client/Filestorage/LinkedAccounts/Requests/LinkedAccountsListRequest.cs +++ b/src/Merge.Client/Filestorage/LinkedAccounts/Requests/LinkedAccountsListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Filestorage; @@ -7,73 +8,87 @@ public record LinkedAccountsListRequest /// /// Options: `accounting`, `ats`, `crm`, `filestorage`, `hris`, `mktg`, `ticketing` /// - /// - `hris` - hris - /// - `ats` - ats - /// - `accounting` - accounting - /// - `ticketing` - ticketing - /// - `crm` - crm - /// - `mktg` - mktg - /// - `filestorage` - filestorage + /// * `hris` - hris + /// * `ats` - ats + /// * `accounting` - accounting + /// * `ticketing` - ticketing + /// * `crm` - crm + /// * `mktg` - mktg + /// * `filestorage` - filestorage /// + [JsonIgnore] public LinkedAccountsListRequestCategory? Category { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// If provided, will only return linked accounts associated with the given email address. /// + [JsonIgnore] public string? EndUserEmailAddress { get; set; } /// /// If provided, will only return linked accounts associated with the given organization name. /// + [JsonIgnore] public string? EndUserOrganizationName { get; set; } /// /// If provided, will only return linked accounts associated with the given origin ID. /// + [JsonIgnore] public string? EndUserOriginId { get; set; } /// /// Comma-separated list of EndUser origin IDs, making it possible to specify multiple EndUsers at once. /// + [JsonIgnore] public string? EndUserOriginIds { get; set; } + [JsonIgnore] public string? Id { get; set; } /// /// Comma-separated list of LinkedAccount IDs, making it possible to specify multiple LinkedAccounts at once. /// + [JsonIgnore] public string? Ids { get; set; } /// /// If `true`, will include complete production duplicates of the account specified by the `id` query parameter in the response. `id` must be for a complete production linked account. /// + [JsonIgnore] public bool? IncludeDuplicates { get; set; } /// /// If provided, will only return linked accounts associated with the given integration name. /// + [JsonIgnore] public string? IntegrationName { get; set; } /// /// If included, will only include test linked accounts. If not included, will only include non-test linked accounts. /// + [JsonIgnore] public string? IsTestAccount { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// Filter by status. Options: `COMPLETE`, `IDLE`, `INCOMPLETE`, `RELINK_NEEDED` /// + [JsonIgnore] public string? Status { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Passthrough/PassthroughClient.cs b/src/Merge.Client/Filestorage/Passthrough/PassthroughClient.cs index 2218ed97..3a3c9c67 100644 --- a/src/Merge.Client/Filestorage/Passthrough/PassthroughClient.cs +++ b/src/Merge.Client/Filestorage/Passthrough/PassthroughClient.cs @@ -17,8 +17,7 @@ internal PassthroughClient(RawClient client) /// /// Pull data from an endpoint not currently supported by Merge. /// - /// - /// + /// /// await client.Filestorage.Passthrough.CreateAsync( /// new Merge.Client.Filestorage.DataPassthroughRequest /// { @@ -26,17 +25,16 @@ internal PassthroughClient(RawClient client) /// Path = "/scooters", /// } /// ); - /// - /// - public async System.Threading.Tasks.Task CreateAsync( + /// + public async Task CreateAsync( DataPassthroughRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, @@ -48,23 +46,26 @@ public async System.Threading.Tasks.Task CreateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Filestorage/RegenerateKey/RegenerateKeyClient.cs b/src/Merge.Client/Filestorage/RegenerateKey/RegenerateKeyClient.cs index 66312342..c20a383e 100644 --- a/src/Merge.Client/Filestorage/RegenerateKey/RegenerateKeyClient.cs +++ b/src/Merge.Client/Filestorage/RegenerateKey/RegenerateKeyClient.cs @@ -17,22 +17,20 @@ internal RegenerateKeyClient(RawClient client) /// /// Exchange remote keys. /// - /// - /// + /// /// await client.Filestorage.RegenerateKey.CreateAsync( /// new RemoteKeyForRegenerationRequest { Name = "Remote Deployment Key 1" } /// ); - /// - /// - public async System.Threading.Tasks.Task CreateAsync( + /// + public async Task CreateAsync( RemoteKeyForRegenerationRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, @@ -44,23 +42,26 @@ public async System.Threading.Tasks.Task CreateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Filestorage/RegenerateKey/Requests/RemoteKeyForRegenerationRequest.cs b/src/Merge.Client/Filestorage/RegenerateKey/Requests/RemoteKeyForRegenerationRequest.cs index 1c01c4c0..7ca640c8 100644 --- a/src/Merge.Client/Filestorage/RegenerateKey/Requests/RemoteKeyForRegenerationRequest.cs +++ b/src/Merge.Client/Filestorage/RegenerateKey/Requests/RemoteKeyForRegenerationRequest.cs @@ -11,6 +11,7 @@ public record RemoteKeyForRegenerationRequest [JsonPropertyName("name")] public required string Name { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Scopes/Requests/LinkedAccountCommonModelScopeDeserializerRequest.cs b/src/Merge.Client/Filestorage/Scopes/Requests/LinkedAccountCommonModelScopeDeserializerRequest.cs index 0353427d..421678c1 100644 --- a/src/Merge.Client/Filestorage/Scopes/Requests/LinkedAccountCommonModelScopeDeserializerRequest.cs +++ b/src/Merge.Client/Filestorage/Scopes/Requests/LinkedAccountCommonModelScopeDeserializerRequest.cs @@ -12,6 +12,7 @@ public record LinkedAccountCommonModelScopeDeserializerRequest public IEnumerable CommonModels { get; set; } = new List(); + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Scopes/ScopesClient.cs b/src/Merge.Client/Filestorage/Scopes/ScopesClient.cs index 83956f58..182ab0d6 100644 --- a/src/Merge.Client/Filestorage/Scopes/ScopesClient.cs +++ b/src/Merge.Client/Filestorage/Scopes/ScopesClient.cs @@ -17,19 +17,17 @@ internal ScopesClient(RawClient client) /// /// Get the default permissions for Merge Common Models and fields across all Linked Accounts of a given category. [Learn more](https://help.merge.dev/en/articles/5950052-common-model-and-field-scopes). /// - /// - /// + /// /// await client.Filestorage.Scopes.DefaultScopesRetrieveAsync(); - /// - /// - public async System.Threading.Tasks.Task DefaultScopesRetrieveAsync( + /// + public async Task DefaultScopesRetrieveAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -39,42 +37,43 @@ public async System.Threading.Tasks.Task DefaultScopesRetri cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Get all available permissions for Merge Common Models and fields for a single Linked Account. [Learn more](https://help.merge.dev/en/articles/5950052-common-model-and-field-scopes). /// - /// - /// + /// /// await client.Filestorage.Scopes.LinkedAccountScopesRetrieveAsync(); - /// - /// - public async System.Threading.Tasks.Task LinkedAccountScopesRetrieveAsync( + /// + public async Task LinkedAccountScopesRetrieveAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -84,31 +83,33 @@ public async System.Threading.Tasks.Task LinkedAccountScope cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Update permissions for any Common Model or field for a single Linked Account. Any Scopes not set in this POST request will inherit the default Scopes. [Learn more](https://help.merge.dev/en/articles/5950052-common-model-and-field-scopes) /// - /// - /// + /// /// await client.Filestorage.Scopes.LinkedAccountScopesCreateAsync( /// new LinkedAccountCommonModelScopeDeserializerRequest /// { @@ -165,17 +166,16 @@ public async System.Threading.Tasks.Task LinkedAccountScope /// }, /// } /// ); - /// - /// - public async System.Threading.Tasks.Task LinkedAccountScopesCreateAsync( + /// + public async Task LinkedAccountScopesCreateAsync( LinkedAccountCommonModelScopeDeserializerRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, @@ -187,23 +187,26 @@ public async System.Threading.Tasks.Task LinkedAccountScope cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Filestorage/SyncStatus/Requests/SyncStatusListRequest.cs b/src/Merge.Client/Filestorage/SyncStatus/Requests/SyncStatusListRequest.cs index 4586beab..59459963 100644 --- a/src/Merge.Client/Filestorage/SyncStatus/Requests/SyncStatusListRequest.cs +++ b/src/Merge.Client/Filestorage/SyncStatus/Requests/SyncStatusListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Filestorage; @@ -7,13 +8,16 @@ public record SyncStatusListRequest /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/SyncStatus/SyncStatusClient.cs b/src/Merge.Client/Filestorage/SyncStatus/SyncStatusClient.cs index b90956b5..d0a5ba8d 100644 --- a/src/Merge.Client/Filestorage/SyncStatus/SyncStatusClient.cs +++ b/src/Merge.Client/Filestorage/SyncStatus/SyncStatusClient.cs @@ -17,12 +17,10 @@ internal SyncStatusClient(RawClient client) /// /// Get syncing status. Possible values: `DISABLED`, `DONE`, `FAILED`, `PARTIALLY_SYNCED`, `PAUSED`, `SYNCING`. Learn more about sync status in our [Help Center](https://help.merge.dev/en/articles/8184193-merge-sync-statuses). /// - /// - /// + /// /// await client.Filestorage.SyncStatus.ListAsync(new SyncStatusListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( SyncStatusListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -38,8 +36,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["page_size"] = request.PageSize.Value.ToString(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -50,23 +48,26 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Filestorage/Types/AccountDetails.cs b/src/Merge.Client/Filestorage/Types/AccountDetails.cs index b029dbc2..c8a54675 100644 --- a/src/Merge.Client/Filestorage/Types/AccountDetails.cs +++ b/src/Merge.Client/Filestorage/Types/AccountDetails.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -5,39 +6,49 @@ namespace Merge.Client.Filestorage; public record AccountDetails { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("integration")] public string? Integration { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("integration_slug")] public string? IntegrationSlug { get; set; } [JsonPropertyName("category")] public CategoryEnum? Category { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("end_user_origin_id")] public string? EndUserOriginId { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("end_user_organization_name")] public string? EndUserOrganizationName { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("end_user_email_address")] public string? EndUserEmailAddress { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("status")] public string? Status { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("webhook_listener_url")] public string? WebhookListenerUrl { get; set; } /// /// Whether a Production Linked Account's credentials match another existing Production Linked Account. This field is `null` for Test Linked Accounts, incomplete Production Linked Accounts, and ignored duplicate Production Linked Account sets. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("is_duplicate")] public bool? IsDuplicate { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("account_type")] public string? AccountType { get; set; } @@ -47,6 +58,17 @@ public record AccountDetails [JsonPropertyName("completed_at")] public DateTime? CompletedAt { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Types/AccountDetailsAndActions.cs b/src/Merge.Client/Filestorage/Types/AccountDetailsAndActions.cs index 503c0f87..ebb25d3c 100644 --- a/src/Merge.Client/Filestorage/Types/AccountDetailsAndActions.cs +++ b/src/Merge.Client/Filestorage/Types/AccountDetailsAndActions.cs @@ -1,8 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Filestorage; +/// +/// # The LinkedAccount Object +/// ### Description +/// The `LinkedAccount` object is used to represent an end user's link with a specific integration. +/// +/// ### Usage Example +/// View a list of your organization's `LinkedAccount` objects. +/// public record AccountDetailsAndActions { [JsonPropertyName("id")] @@ -50,6 +59,17 @@ public record AccountDetailsAndActions [JsonPropertyName("completed_at")] public required DateTime CompletedAt { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Types/AccountDetailsAndActionsIntegration.cs b/src/Merge.Client/Filestorage/Types/AccountDetailsAndActionsIntegration.cs index 077b4a7c..17e0f44d 100644 --- a/src/Merge.Client/Filestorage/Types/AccountDetailsAndActionsIntegration.cs +++ b/src/Merge.Client/Filestorage/Types/AccountDetailsAndActionsIntegration.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -29,6 +30,17 @@ public record AccountDetailsAndActionsIntegration [JsonPropertyName("available_model_operations")] public IEnumerable? AvailableModelOperations { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Types/AccountIntegration.cs b/src/Merge.Client/Filestorage/Types/AccountIntegration.cs index 3cc211ed..eaadb8b1 100644 --- a/src/Merge.Client/Filestorage/Types/AccountIntegration.cs +++ b/src/Merge.Client/Filestorage/Types/AccountIntegration.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -20,6 +21,7 @@ public record AccountIntegration /// /// Category or categories this integration belongs to. Multiple categories should be comma separated, i.e. [ats, hris]. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("categories")] public IEnumerable? Categories { get; set; } @@ -41,6 +43,7 @@ public record AccountIntegration [JsonPropertyName("color")] public string? Color { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("slug")] public string? Slug { get; set; } @@ -59,9 +62,21 @@ public record AccountIntegration /// /// Category or categories this integration is in beta status for. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("category_beta_status")] public Dictionary? CategoryBetaStatus { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Types/AccountToken.cs b/src/Merge.Client/Filestorage/Types/AccountToken.cs index 296b84f3..ad82618e 100644 --- a/src/Merge.Client/Filestorage/Types/AccountToken.cs +++ b/src/Merge.Client/Filestorage/Types/AccountToken.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -11,6 +12,20 @@ public record AccountToken [JsonPropertyName("integration")] public required AccountIntegration Integration { get; set; } + [JsonPropertyName("id")] + public required string Id { get; set; } + + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Types/AdvancedMetadata.cs b/src/Merge.Client/Filestorage/Types/AdvancedMetadata.cs index 7face467..8d696327 100644 --- a/src/Merge.Client/Filestorage/Types/AdvancedMetadata.cs +++ b/src/Merge.Client/Filestorage/Types/AdvancedMetadata.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -23,6 +24,17 @@ public record AdvancedMetadata [JsonPropertyName("field_choices")] public IEnumerable? FieldChoices { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Types/AsyncPassthroughReciept.cs b/src/Merge.Client/Filestorage/Types/AsyncPassthroughReciept.cs index 535cbbc2..cf8975a9 100644 --- a/src/Merge.Client/Filestorage/Types/AsyncPassthroughReciept.cs +++ b/src/Merge.Client/Filestorage/Types/AsyncPassthroughReciept.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -8,6 +9,17 @@ public record AsyncPassthroughReciept [JsonPropertyName("async_passthrough_receipt_id")] public required string AsyncPassthroughReceiptId { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Types/AuditLogEvent.cs b/src/Merge.Client/Filestorage/Types/AuditLogEvent.cs index 0ef365a4..f078f084 100644 --- a/src/Merge.Client/Filestorage/Types/AuditLogEvent.cs +++ b/src/Merge.Client/Filestorage/Types/AuditLogEvent.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -5,6 +6,7 @@ namespace Merge.Client.Filestorage; public record AuditLogEvent { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -23,12 +25,12 @@ public record AuditLogEvent /// /// Designates the role of the user (or SYSTEM/API if action not taken by a user) at the time of this Event occurring. /// - /// - `ADMIN` - ADMIN - /// - `DEVELOPER` - DEVELOPER - /// - `MEMBER` - MEMBER - /// - `API` - API - /// - `SYSTEM` - SYSTEM - /// - `MERGE_TEAM` - MERGE_TEAM + /// * `ADMIN` - ADMIN + /// * `DEVELOPER` - DEVELOPER + /// * `MEMBER` - MEMBER + /// * `API` - API + /// * `SYSTEM` - SYSTEM + /// * `MERGE_TEAM` - MERGE_TEAM /// [JsonPropertyName("role")] public required RoleEnum Role { get; set; } @@ -39,47 +41,48 @@ public record AuditLogEvent /// /// Designates the type of event that occurred. /// - /// - `CREATED_REMOTE_PRODUCTION_API_KEY` - CREATED_REMOTE_PRODUCTION_API_KEY - /// - `DELETED_REMOTE_PRODUCTION_API_KEY` - DELETED_REMOTE_PRODUCTION_API_KEY - /// - `CREATED_TEST_API_KEY` - CREATED_TEST_API_KEY - /// - `DELETED_TEST_API_KEY` - DELETED_TEST_API_KEY - /// - `REGENERATED_PRODUCTION_API_KEY` - REGENERATED_PRODUCTION_API_KEY - /// - `INVITED_USER` - INVITED_USER - /// - `TWO_FACTOR_AUTH_ENABLED` - TWO_FACTOR_AUTH_ENABLED - /// - `TWO_FACTOR_AUTH_DISABLED` - TWO_FACTOR_AUTH_DISABLED - /// - `DELETED_LINKED_ACCOUNT` - DELETED_LINKED_ACCOUNT - /// - `CREATED_DESTINATION` - CREATED_DESTINATION - /// - `DELETED_DESTINATION` - DELETED_DESTINATION - /// - `CHANGED_DESTINATION` - CHANGED_DESTINATION - /// - `CHANGED_SCOPES` - CHANGED_SCOPES - /// - `CHANGED_PERSONAL_INFORMATION` - CHANGED_PERSONAL_INFORMATION - /// - `CHANGED_ORGANIZATION_SETTINGS` - CHANGED_ORGANIZATION_SETTINGS - /// - `ENABLED_INTEGRATION` - ENABLED_INTEGRATION - /// - `DISABLED_INTEGRATION` - DISABLED_INTEGRATION - /// - `ENABLED_CATEGORY` - ENABLED_CATEGORY - /// - `DISABLED_CATEGORY` - DISABLED_CATEGORY - /// - `CHANGED_PASSWORD` - CHANGED_PASSWORD - /// - `RESET_PASSWORD` - RESET_PASSWORD - /// - `ENABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION` - ENABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION - /// - `ENABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT` - ENABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT - /// - `DISABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION` - DISABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION - /// - `DISABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT` - DISABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT - /// - `CREATED_INTEGRATION_WIDE_FIELD_MAPPING` - CREATED_INTEGRATION_WIDE_FIELD_MAPPING - /// - `CREATED_LINKED_ACCOUNT_FIELD_MAPPING` - CREATED_LINKED_ACCOUNT_FIELD_MAPPING - /// - `CHANGED_INTEGRATION_WIDE_FIELD_MAPPING` - CHANGED_INTEGRATION_WIDE_FIELD_MAPPING - /// - `CHANGED_LINKED_ACCOUNT_FIELD_MAPPING` - CHANGED_LINKED_ACCOUNT_FIELD_MAPPING - /// - `DELETED_INTEGRATION_WIDE_FIELD_MAPPING` - DELETED_INTEGRATION_WIDE_FIELD_MAPPING - /// - `DELETED_LINKED_ACCOUNT_FIELD_MAPPING` - DELETED_LINKED_ACCOUNT_FIELD_MAPPING - /// - `CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE` - CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE - /// - `CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE` - CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE - /// - `DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE` - DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE - /// - `FORCED_LINKED_ACCOUNT_RESYNC` - FORCED_LINKED_ACCOUNT_RESYNC - /// - `MUTED_ISSUE` - MUTED_ISSUE - /// - `GENERATED_MAGIC_LINK` - GENERATED_MAGIC_LINK - /// - `ENABLED_MERGE_WEBHOOK` - ENABLED_MERGE_WEBHOOK - /// - `DISABLED_MERGE_WEBHOOK` - DISABLED_MERGE_WEBHOOK - /// - `MERGE_WEBHOOK_TARGET_CHANGED` - MERGE_WEBHOOK_TARGET_CHANGED - /// - `END_USER_CREDENTIALS_ACCESSED` - END_USER_CREDENTIALS_ACCESSED + /// * `CREATED_REMOTE_PRODUCTION_API_KEY` - CREATED_REMOTE_PRODUCTION_API_KEY + /// * `DELETED_REMOTE_PRODUCTION_API_KEY` - DELETED_REMOTE_PRODUCTION_API_KEY + /// * `CREATED_TEST_API_KEY` - CREATED_TEST_API_KEY + /// * `DELETED_TEST_API_KEY` - DELETED_TEST_API_KEY + /// * `REGENERATED_PRODUCTION_API_KEY` - REGENERATED_PRODUCTION_API_KEY + /// * `INVITED_USER` - INVITED_USER + /// * `TWO_FACTOR_AUTH_ENABLED` - TWO_FACTOR_AUTH_ENABLED + /// * `TWO_FACTOR_AUTH_DISABLED` - TWO_FACTOR_AUTH_DISABLED + /// * `DELETED_LINKED_ACCOUNT` - DELETED_LINKED_ACCOUNT + /// * `DELETED_ALL_COMMON_MODELS_FOR_LINKED_ACCOUNT` - DELETED_ALL_COMMON_MODELS_FOR_LINKED_ACCOUNT + /// * `CREATED_DESTINATION` - CREATED_DESTINATION + /// * `DELETED_DESTINATION` - DELETED_DESTINATION + /// * `CHANGED_DESTINATION` - CHANGED_DESTINATION + /// * `CHANGED_SCOPES` - CHANGED_SCOPES + /// * `CHANGED_PERSONAL_INFORMATION` - CHANGED_PERSONAL_INFORMATION + /// * `CHANGED_ORGANIZATION_SETTINGS` - CHANGED_ORGANIZATION_SETTINGS + /// * `ENABLED_INTEGRATION` - ENABLED_INTEGRATION + /// * `DISABLED_INTEGRATION` - DISABLED_INTEGRATION + /// * `ENABLED_CATEGORY` - ENABLED_CATEGORY + /// * `DISABLED_CATEGORY` - DISABLED_CATEGORY + /// * `CHANGED_PASSWORD` - CHANGED_PASSWORD + /// * `RESET_PASSWORD` - RESET_PASSWORD + /// * `ENABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION` - ENABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION + /// * `ENABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT` - ENABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT + /// * `DISABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION` - DISABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION + /// * `DISABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT` - DISABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT + /// * `CREATED_INTEGRATION_WIDE_FIELD_MAPPING` - CREATED_INTEGRATION_WIDE_FIELD_MAPPING + /// * `CREATED_LINKED_ACCOUNT_FIELD_MAPPING` - CREATED_LINKED_ACCOUNT_FIELD_MAPPING + /// * `CHANGED_INTEGRATION_WIDE_FIELD_MAPPING` - CHANGED_INTEGRATION_WIDE_FIELD_MAPPING + /// * `CHANGED_LINKED_ACCOUNT_FIELD_MAPPING` - CHANGED_LINKED_ACCOUNT_FIELD_MAPPING + /// * `DELETED_INTEGRATION_WIDE_FIELD_MAPPING` - DELETED_INTEGRATION_WIDE_FIELD_MAPPING + /// * `DELETED_LINKED_ACCOUNT_FIELD_MAPPING` - DELETED_LINKED_ACCOUNT_FIELD_MAPPING + /// * `CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE` - CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE + /// * `CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE` - CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE + /// * `DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE` - DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE + /// * `FORCED_LINKED_ACCOUNT_RESYNC` - FORCED_LINKED_ACCOUNT_RESYNC + /// * `MUTED_ISSUE` - MUTED_ISSUE + /// * `GENERATED_MAGIC_LINK` - GENERATED_MAGIC_LINK + /// * `ENABLED_MERGE_WEBHOOK` - ENABLED_MERGE_WEBHOOK + /// * `DISABLED_MERGE_WEBHOOK` - DISABLED_MERGE_WEBHOOK + /// * `MERGE_WEBHOOK_TARGET_CHANGED` - MERGE_WEBHOOK_TARGET_CHANGED + /// * `END_USER_CREDENTIALS_ACCESSED` - END_USER_CREDENTIALS_ACCESSED /// [JsonPropertyName("event_type")] public required EventTypeEnum EventType { get; set; } @@ -87,9 +90,21 @@ public record AuditLogEvent [JsonPropertyName("event_description")] public required string EventDescription { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Types/AvailableActions.cs b/src/Merge.Client/Filestorage/Types/AvailableActions.cs index bf368448..8a42b34b 100644 --- a/src/Merge.Client/Filestorage/Types/AvailableActions.cs +++ b/src/Merge.Client/Filestorage/Types/AvailableActions.cs @@ -1,8 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Filestorage; +/// +/// # The AvailableActions Object +/// ### Description +/// The `Activity` object is used to see all available model/operation combinations for an integration. +/// +/// ### Usage Example +/// Fetch all the actions available for the `Zenefits` integration. +/// public record AvailableActions { [JsonPropertyName("integration")] @@ -14,6 +23,17 @@ public record AvailableActions [JsonPropertyName("available_model_operations")] public IEnumerable? AvailableModelOperations { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Types/CommonModelScopeApi.cs b/src/Merge.Client/Filestorage/Types/CommonModelScopeApi.cs index 02b96381..827ede08 100644 --- a/src/Merge.Client/Filestorage/Types/CommonModelScopeApi.cs +++ b/src/Merge.Client/Filestorage/Types/CommonModelScopeApi.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -12,6 +13,17 @@ public record CommonModelScopeApi public IEnumerable CommonModels { get; set; } = new List(); + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Types/CommonModelScopesBodyRequest.cs b/src/Merge.Client/Filestorage/Types/CommonModelScopesBodyRequest.cs index 361d5c21..1445f194 100644 --- a/src/Merge.Client/Filestorage/Types/CommonModelScopesBodyRequest.cs +++ b/src/Merge.Client/Filestorage/Types/CommonModelScopesBodyRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -15,6 +16,17 @@ public record CommonModelScopesBodyRequest [JsonPropertyName("disabled_fields")] public IEnumerable DisabledFields { get; set; } = new List(); + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Types/DataPassthroughRequest.cs b/src/Merge.Client/Filestorage/Types/DataPassthroughRequest.cs index 183371ec..6d4942a3 100644 --- a/src/Merge.Client/Filestorage/Types/DataPassthroughRequest.cs +++ b/src/Merge.Client/Filestorage/Types/DataPassthroughRequest.cs @@ -1,8 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Filestorage; +/// +/// # The DataPassthrough Object +/// ### Description +/// The `DataPassthrough` object is used to send information to an otherwise-unsupported third-party endpoint. +/// +/// ### Usage Example +/// Create a `DataPassthrough` to get team hierarchies from your Rippling integration. +/// public record DataPassthroughRequest { [JsonPropertyName("method")] @@ -47,6 +56,17 @@ public record DataPassthroughRequest [JsonPropertyName("normalize_response")] public bool? NormalizeResponse { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Types/DebugModeLog.cs b/src/Merge.Client/Filestorage/Types/DebugModeLog.cs index 7ef65dcf..b9984a11 100644 --- a/src/Merge.Client/Filestorage/Types/DebugModeLog.cs +++ b/src/Merge.Client/Filestorage/Types/DebugModeLog.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record DebugModeLog [JsonPropertyName("log_summary")] public required DebugModelLogSummary LogSummary { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Types/DebugModelLogSummary.cs b/src/Merge.Client/Filestorage/Types/DebugModelLogSummary.cs index a83d4427..f9c831dd 100644 --- a/src/Merge.Client/Filestorage/Types/DebugModelLogSummary.cs +++ b/src/Merge.Client/Filestorage/Types/DebugModelLogSummary.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record DebugModelLogSummary [JsonPropertyName("status_code")] public required int StatusCode { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Types/DownloadRequestMeta.cs b/src/Merge.Client/Filestorage/Types/DownloadRequestMeta.cs new file mode 100644 index 00000000..f07648e3 --- /dev/null +++ b/src/Merge.Client/Filestorage/Types/DownloadRequestMeta.cs @@ -0,0 +1,39 @@ +using System.Text.Json; +using System.Text.Json.Serialization; +using Merge.Client.Core; + +namespace Merge.Client.Filestorage; + +public record DownloadRequestMeta +{ + [JsonPropertyName("id")] + public required string Id { get; set; } + + [JsonPropertyName("url")] + public required string Url { get; set; } + + [JsonPropertyName("method")] + public required string Method { get; set; } + + [JsonPropertyName("headers")] + public Dictionary Headers { get; set; } = new Dictionary(); + + [JsonPropertyName("body")] + public Dictionary Body { get; set; } = new Dictionary(); + + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// + public override string ToString() + { + return JsonUtils.Serialize(this); + } +} diff --git a/src/Merge.Client/Filestorage/Types/Drive.cs b/src/Merge.Client/Filestorage/Types/Drive.cs index b8a1bcd7..7c729517 100644 --- a/src/Merge.Client/Filestorage/Types/Drive.cs +++ b/src/Merge.Client/Filestorage/Types/Drive.cs @@ -1,10 +1,19 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Filestorage; +/// +/// # The Drive Object +/// ### Description +/// The `Drive` object is used to represent a drive that contains the folders and files in the user's workspace. +/// ### Usage Example +/// Fetch from the `GET /api/filestorage/v1/drives` endpoint and view their drives. +/// public record Drive { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -17,12 +26,14 @@ public record Drive /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -50,12 +61,25 @@ public record Drive [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Types/ErrorValidationProblem.cs b/src/Merge.Client/Filestorage/Types/ErrorValidationProblem.cs index 5ef4e508..0d530845 100644 --- a/src/Merge.Client/Filestorage/Types/ErrorValidationProblem.cs +++ b/src/Merge.Client/Filestorage/Types/ErrorValidationProblem.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -17,6 +18,17 @@ public record ErrorValidationProblem [JsonPropertyName("problem_type")] public required string ProblemType { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Types/EventTypeEnum.cs b/src/Merge.Client/Filestorage/Types/EventTypeEnum.cs index 970b890f..e8bebe18 100644 --- a/src/Merge.Client/Filestorage/Types/EventTypeEnum.cs +++ b/src/Merge.Client/Filestorage/Types/EventTypeEnum.cs @@ -34,6 +34,9 @@ public enum EventTypeEnum [EnumMember(Value = "DELETED_LINKED_ACCOUNT")] DeletedLinkedAccount, + [EnumMember(Value = "DELETED_ALL_COMMON_MODELS_FOR_LINKED_ACCOUNT")] + DeletedAllCommonModelsForLinkedAccount, + [EnumMember(Value = "CREATED_DESTINATION")] CreatedDestination, diff --git a/src/Merge.Client/Filestorage/Types/ExternalTargetFieldApi.cs b/src/Merge.Client/Filestorage/Types/ExternalTargetFieldApi.cs index 9a3fbb5e..07ac9800 100644 --- a/src/Merge.Client/Filestorage/Types/ExternalTargetFieldApi.cs +++ b/src/Merge.Client/Filestorage/Types/ExternalTargetFieldApi.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -5,15 +6,29 @@ namespace Merge.Client.Filestorage; public record ExternalTargetFieldApi { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("name")] public string? Name { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("description")] public string? Description { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("is_mapped")] public string? IsMapped { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Types/ExternalTargetFieldApiResponse.cs b/src/Merge.Client/Filestorage/Types/ExternalTargetFieldApiResponse.cs index e3b062bc..6d945258 100644 --- a/src/Merge.Client/Filestorage/Types/ExternalTargetFieldApiResponse.cs +++ b/src/Merge.Client/Filestorage/Types/ExternalTargetFieldApiResponse.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -20,6 +21,17 @@ public record ExternalTargetFieldApiResponse [JsonPropertyName("User")] public IEnumerable? User { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Types/FieldMappingApiInstance.cs b/src/Merge.Client/Filestorage/Types/FieldMappingApiInstance.cs index d50e653e..f115821d 100644 --- a/src/Merge.Client/Filestorage/Types/FieldMappingApiInstance.cs +++ b/src/Merge.Client/Filestorage/Types/FieldMappingApiInstance.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -5,18 +6,33 @@ namespace Merge.Client.Filestorage; public record FieldMappingApiInstance { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("is_integration_wide")] public bool? IsIntegrationWide { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("target_field")] public FieldMappingApiInstanceTargetField? TargetField { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_field")] public FieldMappingApiInstanceRemoteField? RemoteField { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Types/FieldMappingApiInstanceRemoteField.cs b/src/Merge.Client/Filestorage/Types/FieldMappingApiInstanceRemoteField.cs index f8acf018..8ad255fa 100644 --- a/src/Merge.Client/Filestorage/Types/FieldMappingApiInstanceRemoteField.cs +++ b/src/Merge.Client/Filestorage/Types/FieldMappingApiInstanceRemoteField.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record FieldMappingApiInstanceRemoteField [JsonPropertyName("remote_endpoint_info")] public required FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo RemoteEndpointInfo { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Types/FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo.cs b/src/Merge.Client/Filestorage/Types/FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo.cs index bc8f69ce..3b64605a 100644 --- a/src/Merge.Client/Filestorage/Types/FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo.cs +++ b/src/Merge.Client/Filestorage/Types/FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo [JsonPropertyName("field_traversal_path")] public IEnumerable? FieldTraversalPath { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Types/FieldMappingApiInstanceResponse.cs b/src/Merge.Client/Filestorage/Types/FieldMappingApiInstanceResponse.cs index 35fce430..8b44e315 100644 --- a/src/Merge.Client/Filestorage/Types/FieldMappingApiInstanceResponse.cs +++ b/src/Merge.Client/Filestorage/Types/FieldMappingApiInstanceResponse.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -20,6 +21,17 @@ public record FieldMappingApiInstanceResponse [JsonPropertyName("User")] public IEnumerable? User { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Types/FieldMappingApiInstanceTargetField.cs b/src/Merge.Client/Filestorage/Types/FieldMappingApiInstanceTargetField.cs index 13d8f928..09101362 100644 --- a/src/Merge.Client/Filestorage/Types/FieldMappingApiInstanceTargetField.cs +++ b/src/Merge.Client/Filestorage/Types/FieldMappingApiInstanceTargetField.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record FieldMappingApiInstanceTargetField [JsonPropertyName("is_organization_wide")] public required bool IsOrganizationWide { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Types/FieldMappingInstanceResponse.cs b/src/Merge.Client/Filestorage/Types/FieldMappingInstanceResponse.cs index fc8b91fb..bba2b178 100644 --- a/src/Merge.Client/Filestorage/Types/FieldMappingInstanceResponse.cs +++ b/src/Merge.Client/Filestorage/Types/FieldMappingInstanceResponse.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -19,6 +20,17 @@ public record FieldMappingInstanceResponse [JsonPropertyName("logs")] public IEnumerable? Logs { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Types/FieldPermissionDeserializer.cs b/src/Merge.Client/Filestorage/Types/FieldPermissionDeserializer.cs index e8ec7ad4..af594025 100644 --- a/src/Merge.Client/Filestorage/Types/FieldPermissionDeserializer.cs +++ b/src/Merge.Client/Filestorage/Types/FieldPermissionDeserializer.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -11,6 +12,17 @@ public record FieldPermissionDeserializer [JsonPropertyName("disabled_fields")] public IEnumerable? DisabledFields { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Types/FieldPermissionDeserializerRequest.cs b/src/Merge.Client/Filestorage/Types/FieldPermissionDeserializerRequest.cs index 172cca5e..27625c65 100644 --- a/src/Merge.Client/Filestorage/Types/FieldPermissionDeserializerRequest.cs +++ b/src/Merge.Client/Filestorage/Types/FieldPermissionDeserializerRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -11,6 +12,17 @@ public record FieldPermissionDeserializerRequest [JsonPropertyName("disabled_fields")] public IEnumerable? DisabledFields { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Types/File.cs b/src/Merge.Client/Filestorage/Types/File.cs index 210c981f..9ac58778 100644 --- a/src/Merge.Client/Filestorage/Types/File.cs +++ b/src/Merge.Client/Filestorage/Types/File.cs @@ -1,11 +1,20 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Filestorage; +/// +/// # The File Object +/// ### Description +/// The `File` object is used to represent a file in the workspace. The Object typically exists under a folder or drive, if it exists. +/// ### Usage Example +/// Fetch from the `GET /api/filestorage/v1/files` endpoint and view their files. +/// public record File { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -18,12 +27,14 @@ public record File /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -75,8 +86,8 @@ public record File [JsonPropertyName("permissions")] public OneOf< string, - PermissionRequest, - IEnumerable> + Permission, + IEnumerable> >? Permissions { get; set; } /// @@ -103,12 +114,25 @@ public OneOf< [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Types/FileRequest.cs b/src/Merge.Client/Filestorage/Types/FileRequest.cs index fca391f0..7f1955ae 100644 --- a/src/Merge.Client/Filestorage/Types/FileRequest.cs +++ b/src/Merge.Client/Filestorage/Types/FileRequest.cs @@ -1,9 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Filestorage; +/// +/// # The File Object +/// ### Description +/// The `File` object is used to represent a file in the workspace. The Object typically exists under a folder or drive, if it exists. +/// ### Usage Example +/// Fetch from the `GET /api/filestorage/v1/files` endpoint and view their files. +/// public record FileRequest { /// @@ -64,12 +72,25 @@ public OneOf< [JsonPropertyName("drive")] public OneOf? Drive { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("integration_params")] public Dictionary? IntegrationParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("linked_account_params")] public Dictionary? LinkedAccountParams { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Types/FileStorageFileResponse.cs b/src/Merge.Client/Filestorage/Types/FileStorageFileResponse.cs index c13fb172..f0f63557 100644 --- a/src/Merge.Client/Filestorage/Types/FileStorageFileResponse.cs +++ b/src/Merge.Client/Filestorage/Types/FileStorageFileResponse.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -19,6 +20,17 @@ public record FileStorageFileResponse [JsonPropertyName("logs")] public IEnumerable? Logs { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Types/FileStorageFolderResponse.cs b/src/Merge.Client/Filestorage/Types/FileStorageFolderResponse.cs index fcfa1bf7..91377259 100644 --- a/src/Merge.Client/Filestorage/Types/FileStorageFolderResponse.cs +++ b/src/Merge.Client/Filestorage/Types/FileStorageFolderResponse.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -19,6 +20,17 @@ public record FileStorageFolderResponse [JsonPropertyName("logs")] public IEnumerable? Logs { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Types/Folder.cs b/src/Merge.Client/Filestorage/Types/Folder.cs index 076e6458..0c89d569 100644 --- a/src/Merge.Client/Filestorage/Types/Folder.cs +++ b/src/Merge.Client/Filestorage/Types/Folder.cs @@ -1,11 +1,20 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Filestorage; +/// +/// # The Folder Object +/// ### Description +/// The `Folder` object is used to represent a collection of files and/or folders in the workspace. Could be within a drive, if it exists. +/// ### Usage Example +/// Fetch from the `GET /api/filestorage/v1/folders` endpoint and view their folders. +/// public record Folder { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -18,12 +27,14 @@ public record Folder /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -69,8 +80,8 @@ public record Folder [JsonPropertyName("permissions")] public OneOf< string, - PermissionRequest, - IEnumerable> + Permission, + IEnumerable> >? Permissions { get; set; } /// @@ -91,12 +102,25 @@ public OneOf< [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Types/FolderRequest.cs b/src/Merge.Client/Filestorage/Types/FolderRequest.cs index 17eded4c..45db5c2a 100644 --- a/src/Merge.Client/Filestorage/Types/FolderRequest.cs +++ b/src/Merge.Client/Filestorage/Types/FolderRequest.cs @@ -1,9 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Filestorage; +/// +/// # The Folder Object +/// ### Description +/// The `Folder` object is used to represent a collection of files and/or folders in the workspace. Could be within a drive, if it exists. +/// ### Usage Example +/// Fetch from the `GET /api/filestorage/v1/folders` endpoint and view their folders. +/// public record FolderRequest { /// @@ -52,12 +60,25 @@ public OneOf< IEnumerable> >? Permissions { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("integration_params")] public Dictionary? IntegrationParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("linked_account_params")] public Dictionary? LinkedAccountParams { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Types/Group.cs b/src/Merge.Client/Filestorage/Types/Group.cs index 7ceb6881..a505654a 100644 --- a/src/Merge.Client/Filestorage/Types/Group.cs +++ b/src/Merge.Client/Filestorage/Types/Group.cs @@ -1,11 +1,20 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Filestorage; +/// +/// # The Group Object +/// ### Description +/// The `Group` object is used to represent any subset of `Users`. This can extend to company domains as well. +/// ### Usage Example +/// Fetch from the `GET /api/filestorage/v1/groups` endpoint and view their groups. +/// public record Group { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -18,12 +27,14 @@ public record Group /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -42,6 +53,7 @@ public record Group /// /// Groups that inherit the permissions of the parent group. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("child_groups")] public IEnumerable>? ChildGroups { get; set; } @@ -51,12 +63,25 @@ public record Group [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Types/IndividualCommonModelScopeDeserializer.cs b/src/Merge.Client/Filestorage/Types/IndividualCommonModelScopeDeserializer.cs index 6b6588bc..92eea357 100644 --- a/src/Merge.Client/Filestorage/Types/IndividualCommonModelScopeDeserializer.cs +++ b/src/Merge.Client/Filestorage/Types/IndividualCommonModelScopeDeserializer.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record IndividualCommonModelScopeDeserializer [JsonPropertyName("field_permissions")] public FieldPermissionDeserializer? FieldPermissions { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Types/IndividualCommonModelScopeDeserializerRequest.cs b/src/Merge.Client/Filestorage/Types/IndividualCommonModelScopeDeserializerRequest.cs index 490ef05c..eec4505c 100644 --- a/src/Merge.Client/Filestorage/Types/IndividualCommonModelScopeDeserializerRequest.cs +++ b/src/Merge.Client/Filestorage/Types/IndividualCommonModelScopeDeserializerRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record IndividualCommonModelScopeDeserializerRequest [JsonPropertyName("field_permissions")] public FieldPermissionDeserializerRequest? FieldPermissions { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Types/Issue.cs b/src/Merge.Client/Filestorage/Types/Issue.cs index 31b08ec5..bf0fc143 100644 --- a/src/Merge.Client/Filestorage/Types/Issue.cs +++ b/src/Merge.Client/Filestorage/Types/Issue.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -5,14 +6,15 @@ namespace Merge.Client.Filestorage; public record Issue { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } /// /// Status of the issue. Options: ('ONGOING', 'RESOLVED') /// - /// - `ONGOING` - ONGOING - /// - `RESOLVED` - RESOLVED + /// * `ONGOING` - ONGOING + /// * `RESOLVED` - RESOLVED /// [JsonPropertyName("status")] public IssueStatusEnum? Status { get; set; } @@ -20,6 +22,7 @@ public record Issue [JsonPropertyName("error_description")] public required string ErrorDescription { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("end_user")] public Dictionary? EndUser { get; set; } @@ -29,12 +32,25 @@ public record Issue [JsonPropertyName("last_incident_time")] public DateTime? LastIncidentTime { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("is_muted")] public bool? IsMuted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("error_details")] public IEnumerable? ErrorDetails { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Types/SyncStatusStatusEnum.cs b/src/Merge.Client/Filestorage/Types/LastSyncResultEnum.cs similarity index 82% rename from src/Merge.Client/Filestorage/Types/SyncStatusStatusEnum.cs rename to src/Merge.Client/Filestorage/Types/LastSyncResultEnum.cs index a448e1fa..004e8577 100644 --- a/src/Merge.Client/Filestorage/Types/SyncStatusStatusEnum.cs +++ b/src/Merge.Client/Filestorage/Types/LastSyncResultEnum.cs @@ -4,8 +4,8 @@ namespace Merge.Client.Filestorage; -[JsonConverter(typeof(EnumSerializer))] -public enum SyncStatusStatusEnum +[JsonConverter(typeof(EnumSerializer))] +public enum LastSyncResultEnum { [EnumMember(Value = "SYNCING")] Syncing, diff --git a/src/Merge.Client/Filestorage/Types/LinkToken.cs b/src/Merge.Client/Filestorage/Types/LinkToken.cs index b7fe0182..08717e3f 100644 --- a/src/Merge.Client/Filestorage/Types/LinkToken.cs +++ b/src/Merge.Client/Filestorage/Types/LinkToken.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record LinkToken [JsonPropertyName("magic_link_url")] public string? MagicLinkUrl { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Types/LinkedAccountStatus.cs b/src/Merge.Client/Filestorage/Types/LinkedAccountStatus.cs index 398b3ff9..5c02aa69 100644 --- a/src/Merge.Client/Filestorage/Types/LinkedAccountStatus.cs +++ b/src/Merge.Client/Filestorage/Types/LinkedAccountStatus.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -11,6 +12,17 @@ public record LinkedAccountStatus [JsonPropertyName("can_make_request")] public required bool CanMakeRequest { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Types/MetaResponse.cs b/src/Merge.Client/Filestorage/Types/MetaResponse.cs index 830a0d9d..077f8b0e 100644 --- a/src/Merge.Client/Filestorage/Types/MetaResponse.cs +++ b/src/Merge.Client/Filestorage/Types/MetaResponse.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -21,6 +22,17 @@ public record MetaResponse [JsonPropertyName("has_required_linked_account_params")] public required bool HasRequiredLinkedAccountParams { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Types/ModelOperation.cs b/src/Merge.Client/Filestorage/Types/ModelOperation.cs index 881271ea..2e71256b 100644 --- a/src/Merge.Client/Filestorage/Types/ModelOperation.cs +++ b/src/Merge.Client/Filestorage/Types/ModelOperation.cs @@ -1,8 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Filestorage; +/// +/// # The ModelOperation Object +/// ### Description +/// The `ModelOperation` object is used to represent the operations that are currently supported for a given model. +/// +/// ### Usage Example +/// View what operations are supported for the `Candidate` endpoint. +/// public record ModelOperation { [JsonPropertyName("model_name")] @@ -17,6 +26,17 @@ public record ModelOperation [JsonPropertyName("supported_fields")] public IEnumerable SupportedFields { get; set; } = new List(); + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Types/ModelPermissionDeserializer.cs b/src/Merge.Client/Filestorage/Types/ModelPermissionDeserializer.cs index 174c7ca2..bad4fb16 100644 --- a/src/Merge.Client/Filestorage/Types/ModelPermissionDeserializer.cs +++ b/src/Merge.Client/Filestorage/Types/ModelPermissionDeserializer.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -8,6 +9,17 @@ public record ModelPermissionDeserializer [JsonPropertyName("is_enabled")] public bool? IsEnabled { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Types/ModelPermissionDeserializerRequest.cs b/src/Merge.Client/Filestorage/Types/ModelPermissionDeserializerRequest.cs index ff7cbe9f..a38cad7a 100644 --- a/src/Merge.Client/Filestorage/Types/ModelPermissionDeserializerRequest.cs +++ b/src/Merge.Client/Filestorage/Types/ModelPermissionDeserializerRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -8,6 +9,17 @@ public record ModelPermissionDeserializerRequest [JsonPropertyName("is_enabled")] public bool? IsEnabled { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Types/MultipartFormFieldRequest.cs b/src/Merge.Client/Filestorage/Types/MultipartFormFieldRequest.cs index 0fad5753..cd42b0f6 100644 --- a/src/Merge.Client/Filestorage/Types/MultipartFormFieldRequest.cs +++ b/src/Merge.Client/Filestorage/Types/MultipartFormFieldRequest.cs @@ -1,8 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Filestorage; +/// +/// # The MultipartFormField Object +/// ### Description +/// The `MultipartFormField` object is used to represent fields in an HTTP request using `multipart/form-data`. +/// +/// ### Usage Example +/// Create a `MultipartFormField` to define a multipart form entry. +/// public record MultipartFormFieldRequest { /// @@ -20,9 +29,9 @@ public record MultipartFormFieldRequest /// /// The encoding of the value of `data`. Defaults to `RAW` if not defined. /// - /// - `RAW` - RAW - /// - `BASE64` - BASE64 - /// - `GZIP_BASE64` - GZIP_BASE64 + /// * `RAW` - RAW + /// * `BASE64` - BASE64 + /// * `GZIP_BASE64` - GZIP_BASE64 /// [JsonPropertyName("encoding")] public EncodingEnum? Encoding { get; set; } @@ -39,6 +48,17 @@ public record MultipartFormFieldRequest [JsonPropertyName("content_type")] public string? ContentType { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Types/PaginatedAccountDetailsAndActionsList.cs b/src/Merge.Client/Filestorage/Types/PaginatedAccountDetailsAndActionsList.cs index ee4774a0..56ff9374 100644 --- a/src/Merge.Client/Filestorage/Types/PaginatedAccountDetailsAndActionsList.cs +++ b/src/Merge.Client/Filestorage/Types/PaginatedAccountDetailsAndActionsList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedAccountDetailsAndActionsList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Types/PaginatedAuditLogEventList.cs b/src/Merge.Client/Filestorage/Types/PaginatedAuditLogEventList.cs index 3eb0e4f6..91c1214d 100644 --- a/src/Merge.Client/Filestorage/Types/PaginatedAuditLogEventList.cs +++ b/src/Merge.Client/Filestorage/Types/PaginatedAuditLogEventList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedAuditLogEventList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Types/PaginatedDownloadRequestMetaList.cs b/src/Merge.Client/Filestorage/Types/PaginatedDownloadRequestMetaList.cs new file mode 100644 index 00000000..91214f4d --- /dev/null +++ b/src/Merge.Client/Filestorage/Types/PaginatedDownloadRequestMetaList.cs @@ -0,0 +1,33 @@ +using System.Text.Json; +using System.Text.Json.Serialization; +using Merge.Client.Core; + +namespace Merge.Client.Filestorage; + +public record PaginatedDownloadRequestMetaList +{ + [JsonPropertyName("next")] + public string? Next { get; set; } + + [JsonPropertyName("previous")] + public string? Previous { get; set; } + + [JsonPropertyName("results")] + public IEnumerable? Results { get; set; } + + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// + public override string ToString() + { + return JsonUtils.Serialize(this); + } +} diff --git a/src/Merge.Client/Filestorage/Types/PaginatedDriveList.cs b/src/Merge.Client/Filestorage/Types/PaginatedDriveList.cs index c1860dd3..89d9fbea 100644 --- a/src/Merge.Client/Filestorage/Types/PaginatedDriveList.cs +++ b/src/Merge.Client/Filestorage/Types/PaginatedDriveList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedDriveList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Types/PaginatedFileList.cs b/src/Merge.Client/Filestorage/Types/PaginatedFileList.cs index ad5d3e1f..4959e4ea 100644 --- a/src/Merge.Client/Filestorage/Types/PaginatedFileList.cs +++ b/src/Merge.Client/Filestorage/Types/PaginatedFileList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedFileList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Types/PaginatedFolderList.cs b/src/Merge.Client/Filestorage/Types/PaginatedFolderList.cs index 28fdfa88..18b273ff 100644 --- a/src/Merge.Client/Filestorage/Types/PaginatedFolderList.cs +++ b/src/Merge.Client/Filestorage/Types/PaginatedFolderList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedFolderList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Types/PaginatedGroupList.cs b/src/Merge.Client/Filestorage/Types/PaginatedGroupList.cs index dc15322d..59841f69 100644 --- a/src/Merge.Client/Filestorage/Types/PaginatedGroupList.cs +++ b/src/Merge.Client/Filestorage/Types/PaginatedGroupList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedGroupList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Types/PaginatedIssueList.cs b/src/Merge.Client/Filestorage/Types/PaginatedIssueList.cs index 7e109173..7014e76e 100644 --- a/src/Merge.Client/Filestorage/Types/PaginatedIssueList.cs +++ b/src/Merge.Client/Filestorage/Types/PaginatedIssueList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedIssueList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Types/PaginatedSyncStatusList.cs b/src/Merge.Client/Filestorage/Types/PaginatedSyncStatusList.cs index 97d25323..0173d8db 100644 --- a/src/Merge.Client/Filestorage/Types/PaginatedSyncStatusList.cs +++ b/src/Merge.Client/Filestorage/Types/PaginatedSyncStatusList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedSyncStatusList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Types/PaginatedUserList.cs b/src/Merge.Client/Filestorage/Types/PaginatedUserList.cs index d0c12603..f120707a 100644 --- a/src/Merge.Client/Filestorage/Types/PaginatedUserList.cs +++ b/src/Merge.Client/Filestorage/Types/PaginatedUserList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedUserList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Types/Permission.cs b/src/Merge.Client/Filestorage/Types/Permission.cs index 027f78ab..26855e2f 100644 --- a/src/Merge.Client/Filestorage/Types/Permission.cs +++ b/src/Merge.Client/Filestorage/Types/Permission.cs @@ -1,11 +1,21 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Filestorage; +/// +/// # The Permission Object +/// ### Description +/// The Permission object is used to represent a user's or group's access to a File or Folder. Permissions are unexpanded by default. +/// +/// ### Usage Example +/// Fetch from the `GET Files` or `GET Folders` endpoint. Permissions are unexpanded by default. Use the query param `expand=permissions` to see more details. +/// public record Permission { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -18,12 +28,14 @@ public record Permission /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -42,10 +54,10 @@ public record Permission /// /// Denotes what type of people have access to the file. /// - /// - `USER` - USER - /// - `GROUP` - GROUP - /// - `COMPANY` - COMPANY - /// - `ANYONE` - ANYONE + /// * `USER` - USER + /// * `GROUP` - GROUP + /// * `COMPANY` - COMPANY + /// * `ANYONE` - ANYONE /// [JsonPropertyName("type")] public TypeEnum? Type { get; set; } @@ -56,6 +68,17 @@ public record Permission [JsonPropertyName("roles")] public IEnumerable? Roles { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Types/PermissionRequest.cs b/src/Merge.Client/Filestorage/Types/PermissionRequest.cs index ec1b7e0e..6e0223f3 100644 --- a/src/Merge.Client/Filestorage/Types/PermissionRequest.cs +++ b/src/Merge.Client/Filestorage/Types/PermissionRequest.cs @@ -1,9 +1,18 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Filestorage; +/// +/// # The Permission Object +/// ### Description +/// The Permission object is used to represent a user's or group's access to a File or Folder. Permissions are unexpanded by default. +/// +/// ### Usage Example +/// Fetch from the `GET Files` or `GET Folders` endpoint. Permissions are unexpanded by default. Use the query param `expand=permissions` to see more details. +/// public record PermissionRequest { /// @@ -27,10 +36,10 @@ public record PermissionRequest /// /// Denotes what type of people have access to the file. /// - /// - `USER` - USER - /// - `GROUP` - GROUP - /// - `COMPANY` - COMPANY - /// - `ANYONE` - ANYONE + /// * `USER` - USER + /// * `GROUP` - GROUP + /// * `COMPANY` - COMPANY + /// * `ANYONE` - ANYONE /// [JsonPropertyName("type")] public TypeEnum? Type { get; set; } @@ -41,12 +50,25 @@ public record PermissionRequest [JsonPropertyName("roles")] public IEnumerable? Roles { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("integration_params")] public Dictionary? IntegrationParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("linked_account_params")] public Dictionary? LinkedAccountParams { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Types/RemoteData.cs b/src/Merge.Client/Filestorage/Types/RemoteData.cs index 216fad95..4531a2d2 100644 --- a/src/Merge.Client/Filestorage/Types/RemoteData.cs +++ b/src/Merge.Client/Filestorage/Types/RemoteData.cs @@ -1,8 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Filestorage; +/// +/// # The RemoteData Object +/// ### Description +/// The `RemoteData` object is used to represent the full data pulled from the third-party API for an object. +/// +/// ### Usage Example +/// TODO +/// public record RemoteData { /// @@ -11,9 +20,21 @@ public record RemoteData [JsonPropertyName("path")] public required string Path { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("data")] public object? Data { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Types/RemoteEndpointInfo.cs b/src/Merge.Client/Filestorage/Types/RemoteEndpointInfo.cs index 4f8fb0c8..e6b25d6c 100644 --- a/src/Merge.Client/Filestorage/Types/RemoteEndpointInfo.cs +++ b/src/Merge.Client/Filestorage/Types/RemoteEndpointInfo.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record RemoteEndpointInfo [JsonPropertyName("field_traversal_path")] public IEnumerable FieldTraversalPath { get; set; } = new List(); + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Types/RemoteFieldApi.cs b/src/Merge.Client/Filestorage/Types/RemoteFieldApi.cs index 9c8d6a02..2fed0ca0 100644 --- a/src/Merge.Client/Filestorage/Types/RemoteFieldApi.cs +++ b/src/Merge.Client/Filestorage/Types/RemoteFieldApi.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; @@ -21,9 +22,21 @@ public record RemoteFieldApi [JsonPropertyName("advanced_metadata")] public AdvancedMetadata? AdvancedMetadata { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("coverage")] public OneOf? Coverage { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Types/RemoteFieldApiResponse.cs b/src/Merge.Client/Filestorage/Types/RemoteFieldApiResponse.cs index 47658135..fb706684 100644 --- a/src/Merge.Client/Filestorage/Types/RemoteFieldApiResponse.cs +++ b/src/Merge.Client/Filestorage/Types/RemoteFieldApiResponse.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -20,6 +21,17 @@ public record RemoteFieldApiResponse [JsonPropertyName("User")] public IEnumerable? User { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Types/RemoteKey.cs b/src/Merge.Client/Filestorage/Types/RemoteKey.cs index 938b0867..d65d688f 100644 --- a/src/Merge.Client/Filestorage/Types/RemoteKey.cs +++ b/src/Merge.Client/Filestorage/Types/RemoteKey.cs @@ -1,8 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Filestorage; +/// +/// # The RemoteKey Object +/// ### Description +/// The `RemoteKey` object is used to represent a request for a new remote key. +/// +/// ### Usage Example +/// Post a `GenerateRemoteKey` to receive a new `RemoteKey`. +/// public record RemoteKey { [JsonPropertyName("name")] @@ -11,6 +20,17 @@ public record RemoteKey [JsonPropertyName("key")] public required string Key { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Types/RemoteResponse.cs b/src/Merge.Client/Filestorage/Types/RemoteResponse.cs index eb411542..dfa74d2c 100644 --- a/src/Merge.Client/Filestorage/Types/RemoteResponse.cs +++ b/src/Merge.Client/Filestorage/Types/RemoteResponse.cs @@ -1,8 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Filestorage; +/// +/// # The RemoteResponse Object +/// ### Description +/// The `RemoteResponse` object is used to represent information returned from a third-party endpoint. +/// +/// ### Usage Example +/// View the `RemoteResponse` returned from your `DataPassthrough`. +/// public record RemoteResponse { [JsonPropertyName("method")] @@ -26,6 +35,17 @@ public record RemoteResponse [JsonPropertyName("headers")] public Dictionary? Headers { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Types/StatusFd5Enum.cs b/src/Merge.Client/Filestorage/Types/StatusFd5Enum.cs new file mode 100644 index 00000000..970cdd7b --- /dev/null +++ b/src/Merge.Client/Filestorage/Types/StatusFd5Enum.cs @@ -0,0 +1,27 @@ +using System.Runtime.Serialization; +using System.Text.Json.Serialization; +using Merge.Client.Core; + +namespace Merge.Client.Filestorage; + +[JsonConverter(typeof(EnumSerializer))] +public enum StatusFd5Enum +{ + [EnumMember(Value = "SYNCING")] + Syncing, + + [EnumMember(Value = "DONE")] + Done, + + [EnumMember(Value = "FAILED")] + Failed, + + [EnumMember(Value = "DISABLED")] + Disabled, + + [EnumMember(Value = "PAUSED")] + Paused, + + [EnumMember(Value = "PARTIALLY_SYNCED")] + PartiallySynced, +} diff --git a/src/Merge.Client/Filestorage/Types/SyncStatus.cs b/src/Merge.Client/Filestorage/Types/SyncStatus.cs index 4c2a6bd7..f3ab2a56 100644 --- a/src/Merge.Client/Filestorage/Types/SyncStatus.cs +++ b/src/Merge.Client/Filestorage/Types/SyncStatus.cs @@ -1,8 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Filestorage; +/// +/// # The SyncStatus Object +/// ### Description +/// The `SyncStatus` object is used to represent the syncing state of an account +/// +/// ### Usage Example +/// View the `SyncStatus` for an account to see how recently its models were synced. +/// public record SyncStatus { [JsonPropertyName("model_name")] @@ -17,8 +26,14 @@ public record SyncStatus [JsonPropertyName("next_sync_start")] public DateTime? NextSyncStart { get; set; } + [JsonPropertyName("last_sync_result")] + public LastSyncResultEnum? LastSyncResult { get; set; } + + [JsonPropertyName("last_sync_finished")] + public DateTime? LastSyncFinished { get; set; } + [JsonPropertyName("status")] - public required SyncStatusStatusEnum Status { get; set; } + public required StatusFd5Enum Status { get; set; } [JsonPropertyName("is_initial_sync")] public required bool IsInitialSync { get; set; } @@ -26,6 +41,17 @@ public record SyncStatus [JsonPropertyName("selective_sync_configurations_usage")] public SelectiveSyncConfigurationsUsageEnum? SelectiveSyncConfigurationsUsage { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Types/User.cs b/src/Merge.Client/Filestorage/Types/User.cs index 2cd7ee3f..2ec38763 100644 --- a/src/Merge.Client/Filestorage/Types/User.cs +++ b/src/Merge.Client/Filestorage/Types/User.cs @@ -1,10 +1,19 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Filestorage; +/// +/// # The User Object +/// ### Description +/// The `User` object is used to represent a user within the File Storage account. +/// ### Usage Example +/// Fetch from the `GET /api/filestorage/v1/users` endpoint and view their users. +/// public record User { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -17,12 +26,14 @@ public record User /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -50,12 +61,25 @@ public record User [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Types/ValidationProblemSource.cs b/src/Merge.Client/Filestorage/Types/ValidationProblemSource.cs index eb23b3ed..c7f5c375 100644 --- a/src/Merge.Client/Filestorage/Types/ValidationProblemSource.cs +++ b/src/Merge.Client/Filestorage/Types/ValidationProblemSource.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -8,6 +9,17 @@ public record ValidationProblemSource [JsonPropertyName("pointer")] public required string Pointer { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Types/WarningValidationProblem.cs b/src/Merge.Client/Filestorage/Types/WarningValidationProblem.cs index 1d2656e6..3d634484 100644 --- a/src/Merge.Client/Filestorage/Types/WarningValidationProblem.cs +++ b/src/Merge.Client/Filestorage/Types/WarningValidationProblem.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -17,6 +18,17 @@ public record WarningValidationProblem [JsonPropertyName("problem_type")] public required string ProblemType { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Types/WebhookReceiver.cs b/src/Merge.Client/Filestorage/Types/WebhookReceiver.cs index 8dc11586..26c03051 100644 --- a/src/Merge.Client/Filestorage/Types/WebhookReceiver.cs +++ b/src/Merge.Client/Filestorage/Types/WebhookReceiver.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record WebhookReceiver [JsonPropertyName("key")] public string? Key { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Users/Requests/UsersListRequest.cs b/src/Merge.Client/Filestorage/Users/Requests/UsersListRequest.cs index 39783c85..0a4ace70 100644 --- a/src/Merge.Client/Filestorage/Users/Requests/UsersListRequest.cs +++ b/src/Merge.Client/Filestorage/Users/Requests/UsersListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Filestorage; @@ -7,58 +8,70 @@ public record UsersListRequest /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, will only return the user object for requestor. /// + [JsonIgnore] public string? IsMe { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Users/Requests/UsersRetrieveRequest.cs b/src/Merge.Client/Filestorage/Users/Requests/UsersRetrieveRequest.cs index 296204e9..7f8ddc9d 100644 --- a/src/Merge.Client/Filestorage/Users/Requests/UsersRetrieveRequest.cs +++ b/src/Merge.Client/Filestorage/Users/Requests/UsersRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Filestorage; @@ -7,8 +8,16 @@ public record UsersRetrieveRequest /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/Users/UsersClient.cs b/src/Merge.Client/Filestorage/Users/UsersClient.cs index 63308bfa..0406a296 100644 --- a/src/Merge.Client/Filestorage/Users/UsersClient.cs +++ b/src/Merge.Client/Filestorage/Users/UsersClient.cs @@ -17,12 +17,10 @@ internal UsersClient(RawClient client) /// /// Returns a list of `User` objects. /// - /// - /// + /// /// await client.Filestorage.Users.ListAsync(new UsersListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( UsersListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -80,8 +78,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["remote_id"] = request.RemoteId; } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -92,35 +90,36 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a `User` object with the given `id`. /// - /// - /// + /// /// await client.Filestorage.Users.RetrieveAsync("id", new UsersRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, UsersRetrieveRequest request, RequestOptions? options = null, @@ -132,36 +131,46 @@ public async System.Threading.Tasks.Task RetrieveAsync( { _query["include_remote_data"] = JsonUtils.Serialize(request.IncludeRemoteData.Value); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"filestorage/v1/users/{id}", + Path = string.Format( + "filestorage/v1/users/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Filestorage/WebhookReceivers/Requests/WebhookReceiverRequest.cs b/src/Merge.Client/Filestorage/WebhookReceivers/Requests/WebhookReceiverRequest.cs index 7eede482..5123f8d0 100644 --- a/src/Merge.Client/Filestorage/WebhookReceivers/Requests/WebhookReceiverRequest.cs +++ b/src/Merge.Client/Filestorage/WebhookReceivers/Requests/WebhookReceiverRequest.cs @@ -14,6 +14,7 @@ public record WebhookReceiverRequest [JsonPropertyName("key")] public string? Key { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Filestorage/WebhookReceivers/WebhookReceiversClient.cs b/src/Merge.Client/Filestorage/WebhookReceivers/WebhookReceiversClient.cs index e9318088..e3ff1705 100644 --- a/src/Merge.Client/Filestorage/WebhookReceivers/WebhookReceiversClient.cs +++ b/src/Merge.Client/Filestorage/WebhookReceivers/WebhookReceiversClient.cs @@ -17,19 +17,17 @@ internal WebhookReceiversClient(RawClient client) /// /// Returns a list of `WebhookReceiver` objects. /// - /// - /// + /// /// await client.Filestorage.WebhookReceivers.ListAsync(); - /// - /// - public async System.Threading.Tasks.Task> ListAsync( + /// + public async Task> ListAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -39,45 +37,46 @@ public async System.Threading.Tasks.Task> ListAsync cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize>(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Creates a `WebhookReceiver` object with the given values. /// - /// - /// + /// /// await client.Filestorage.WebhookReceivers.CreateAsync( /// new WebhookReceiverRequest { Event = "event", IsActive = true } /// ); - /// - /// - public async System.Threading.Tasks.Task CreateAsync( + /// + public async Task CreateAsync( WebhookReceiverRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, @@ -89,23 +88,26 @@ public async System.Threading.Tasks.Task CreateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Hris/AccountDetails/AccountDetailsClient.cs b/src/Merge.Client/Hris/AccountDetails/AccountDetailsClient.cs index bad6d6bd..721bb457 100644 --- a/src/Merge.Client/Hris/AccountDetails/AccountDetailsClient.cs +++ b/src/Merge.Client/Hris/AccountDetails/AccountDetailsClient.cs @@ -17,19 +17,17 @@ internal AccountDetailsClient(RawClient client) /// /// Get details for a linked account. /// - /// - /// + /// /// await client.Hris.AccountDetails.RetrieveAsync(); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -39,23 +37,26 @@ public async System.Threading.Tasks.Task RetrieveAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Hris/AccountToken/AccountTokenClient.cs b/src/Merge.Client/Hris/AccountToken/AccountTokenClient.cs index 7437bd41..2ed2e2c2 100644 --- a/src/Merge.Client/Hris/AccountToken/AccountTokenClient.cs +++ b/src/Merge.Client/Hris/AccountToken/AccountTokenClient.cs @@ -17,46 +17,50 @@ internal AccountTokenClient(RawClient client) /// /// Returns the account token for the end user with the provided public token. /// - /// - /// + /// /// await client.Hris.AccountToken.RetrieveAsync("public_token"); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string publicToken, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"hris/v1/account-token/{publicToken}", + Path = string.Format( + "hris/v1/account-token/{0}", + ValueConvert.ToPathParameterString(publicToken) + ), Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Hris/AsyncPassthrough/AsyncPassthroughClient.cs b/src/Merge.Client/Hris/AsyncPassthrough/AsyncPassthroughClient.cs index 7d0623bf..06123f47 100644 --- a/src/Merge.Client/Hris/AsyncPassthrough/AsyncPassthroughClient.cs +++ b/src/Merge.Client/Hris/AsyncPassthrough/AsyncPassthroughClient.cs @@ -18,8 +18,7 @@ internal AsyncPassthroughClient(RawClient client) /// /// Asynchronously pull data from an endpoint not currently supported by Merge. /// - /// - /// + /// /// await client.Hris.AsyncPassthrough.CreateAsync( /// new Merge.Client.Hris.DataPassthroughRequest /// { @@ -27,17 +26,16 @@ internal AsyncPassthroughClient(RawClient client) /// Path = "/scooters", /// } /// ); - /// - /// - public async System.Threading.Tasks.Task CreateAsync( + /// + public async Task CreateAsync( DataPassthroughRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, @@ -49,69 +47,76 @@ public async System.Threading.Tasks.Task CreateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Retrieves data from earlier async-passthrough POST request /// - /// - /// + /// /// await client.Hris.AsyncPassthrough.RetrieveAsync("async_passthrough_receipt_id"); - /// - /// - public async System.Threading.Tasks.Task> RetrieveAsync( + /// + public async Task> RetrieveAsync( string asyncPassthroughReceiptId, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"hris/v1/async-passthrough/{asyncPassthroughReceiptId}", + Path = string.Format( + "hris/v1/async-passthrough/{0}", + ValueConvert.ToPathParameterString(asyncPassthroughReceiptId) + ), Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize>(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Hris/AuditTrail/AuditTrailClient.cs b/src/Merge.Client/Hris/AuditTrail/AuditTrailClient.cs index 2e280331..19b61625 100644 --- a/src/Merge.Client/Hris/AuditTrail/AuditTrailClient.cs +++ b/src/Merge.Client/Hris/AuditTrail/AuditTrailClient.cs @@ -17,12 +17,10 @@ internal AuditTrailClient(RawClient client) /// /// Gets a list of audit trail events. /// - /// - /// + /// /// await client.Hris.AuditTrail.ListAsync(new AuditTrailListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( AuditTrailListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -54,8 +52,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["user_email"] = request.UserEmail; } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -66,23 +64,26 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Hris/AuditTrail/Requests/AuditTrailListRequest.cs b/src/Merge.Client/Hris/AuditTrail/Requests/AuditTrailListRequest.cs index 169b87f7..3d5983f8 100644 --- a/src/Merge.Client/Hris/AuditTrail/Requests/AuditTrailListRequest.cs +++ b/src/Merge.Client/Hris/AuditTrail/Requests/AuditTrailListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Hris; @@ -7,33 +8,40 @@ public record AuditTrailListRequest /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// If included, will only include audit trail events that occurred before this time /// + [JsonIgnore] public string? EndDate { get; set; } /// - /// If included, will only include events with the given event type. Possible values include: `CREATED_REMOTE_PRODUCTION_API_KEY`, `DELETED_REMOTE_PRODUCTION_API_KEY`, `CREATED_TEST_API_KEY`, `DELETED_TEST_API_KEY`, `REGENERATED_PRODUCTION_API_KEY`, `INVITED_USER`, `TWO_FACTOR_AUTH_ENABLED`, `TWO_FACTOR_AUTH_DISABLED`, `DELETED_LINKED_ACCOUNT`, `CREATED_DESTINATION`, `DELETED_DESTINATION`, `CHANGED_DESTINATION`, `CHANGED_SCOPES`, `CHANGED_PERSONAL_INFORMATION`, `CHANGED_ORGANIZATION_SETTINGS`, `ENABLED_INTEGRATION`, `DISABLED_INTEGRATION`, `ENABLED_CATEGORY`, `DISABLED_CATEGORY`, `CHANGED_PASSWORD`, `RESET_PASSWORD`, `ENABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION`, `ENABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT`, `DISABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION`, `DISABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT`, `CREATED_INTEGRATION_WIDE_FIELD_MAPPING`, `CREATED_LINKED_ACCOUNT_FIELD_MAPPING`, `CHANGED_INTEGRATION_WIDE_FIELD_MAPPING`, `CHANGED_LINKED_ACCOUNT_FIELD_MAPPING`, `DELETED_INTEGRATION_WIDE_FIELD_MAPPING`, `DELETED_LINKED_ACCOUNT_FIELD_MAPPING`, `CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE`, `CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE`, `DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE`, `FORCED_LINKED_ACCOUNT_RESYNC`, `MUTED_ISSUE`, `GENERATED_MAGIC_LINK`, `ENABLED_MERGE_WEBHOOK`, `DISABLED_MERGE_WEBHOOK`, `MERGE_WEBHOOK_TARGET_CHANGED`, `END_USER_CREDENTIALS_ACCESSED` + /// If included, will only include events with the given event type. Possible values include: `CREATED_REMOTE_PRODUCTION_API_KEY`, `DELETED_REMOTE_PRODUCTION_API_KEY`, `CREATED_TEST_API_KEY`, `DELETED_TEST_API_KEY`, `REGENERATED_PRODUCTION_API_KEY`, `INVITED_USER`, `TWO_FACTOR_AUTH_ENABLED`, `TWO_FACTOR_AUTH_DISABLED`, `DELETED_LINKED_ACCOUNT`, `DELETED_ALL_COMMON_MODELS_FOR_LINKED_ACCOUNT`, `CREATED_DESTINATION`, `DELETED_DESTINATION`, `CHANGED_DESTINATION`, `CHANGED_SCOPES`, `CHANGED_PERSONAL_INFORMATION`, `CHANGED_ORGANIZATION_SETTINGS`, `ENABLED_INTEGRATION`, `DISABLED_INTEGRATION`, `ENABLED_CATEGORY`, `DISABLED_CATEGORY`, `CHANGED_PASSWORD`, `RESET_PASSWORD`, `ENABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION`, `ENABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT`, `DISABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION`, `DISABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT`, `CREATED_INTEGRATION_WIDE_FIELD_MAPPING`, `CREATED_LINKED_ACCOUNT_FIELD_MAPPING`, `CHANGED_INTEGRATION_WIDE_FIELD_MAPPING`, `CHANGED_LINKED_ACCOUNT_FIELD_MAPPING`, `DELETED_INTEGRATION_WIDE_FIELD_MAPPING`, `DELETED_LINKED_ACCOUNT_FIELD_MAPPING`, `CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE`, `CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE`, `DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE`, `FORCED_LINKED_ACCOUNT_RESYNC`, `MUTED_ISSUE`, `GENERATED_MAGIC_LINK`, `ENABLED_MERGE_WEBHOOK`, `DISABLED_MERGE_WEBHOOK`, `MERGE_WEBHOOK_TARGET_CHANGED`, `END_USER_CREDENTIALS_ACCESSED` /// + [JsonIgnore] public string? EventType { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// If included, will only include audit trail events that occurred after this time /// + [JsonIgnore] public string? StartDate { get; set; } /// /// If provided, this will return events associated with the specified user email. Please note that the email address reflects the user's email at the time of the event, and may not be their current email. /// + [JsonIgnore] public string? UserEmail { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/AvailableActions/AvailableActionsClient.cs b/src/Merge.Client/Hris/AvailableActions/AvailableActionsClient.cs index db2ef5dc..a2666f1c 100644 --- a/src/Merge.Client/Hris/AvailableActions/AvailableActionsClient.cs +++ b/src/Merge.Client/Hris/AvailableActions/AvailableActionsClient.cs @@ -17,19 +17,17 @@ internal AvailableActionsClient(RawClient client) /// /// Returns a list of models and actions available for an account. /// - /// - /// + /// /// await client.Hris.AvailableActions.RetrieveAsync(); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -39,23 +37,26 @@ public async System.Threading.Tasks.Task RetrieveAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Hris/BankInfo/BankInfoClient.cs b/src/Merge.Client/Hris/BankInfo/BankInfoClient.cs index 95ec27ae..bf48ce9e 100644 --- a/src/Merge.Client/Hris/BankInfo/BankInfoClient.cs +++ b/src/Merge.Client/Hris/BankInfo/BankInfoClient.cs @@ -17,12 +17,10 @@ internal BankInfoClient(RawClient client) /// /// Returns a list of `BankInfo` objects. /// - /// - /// + /// /// await client.Hris.BankInfo.ListAsync(new BankInfoListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( BankInfoListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -104,8 +102,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["show_enum_origins"] = request.ShowEnumOrigins.ToString(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -116,35 +114,36 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a `BankInfo` object with the given `id`. /// - /// - /// + /// /// await client.Hris.BankInfo.RetrieveAsync("id", new BankInfoRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, BankInfoRetrieveRequest request, RequestOptions? options = null, @@ -160,6 +159,10 @@ public async System.Threading.Tasks.Task RetrieveAsync( { _query["include_remote_data"] = JsonUtils.Serialize(request.IncludeRemoteData.Value); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } if (request.RemoteFields != null) { _query["remote_fields"] = request.RemoteFields.ToString(); @@ -169,35 +172,41 @@ public async System.Threading.Tasks.Task RetrieveAsync( _query["show_enum_origins"] = request.ShowEnumOrigins.ToString(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"hris/v1/bank-info/{id}", + Path = string.Format( + "hris/v1/bank-info/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Hris/BankInfo/Requests/BankInfoListRequest.cs b/src/Merge.Client/Hris/BankInfo/Requests/BankInfoListRequest.cs index 262d4d16..435875ca 100644 --- a/src/Merge.Client/Hris/BankInfo/Requests/BankInfoListRequest.cs +++ b/src/Merge.Client/Hris/BankInfo/Requests/BankInfoListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Hris; @@ -7,91 +8,109 @@ public record BankInfoListRequest /// /// If provided, will only return BankInfo's with this account type. Options: ('SAVINGS', 'CHECKING') /// - /// - `SAVINGS` - SAVINGS - /// - `CHECKING` - CHECKING + /// * `SAVINGS` - SAVINGS + /// * `CHECKING` - CHECKING /// + [JsonIgnore] public BankInfoListRequestAccountType? AccountType { get; set; } /// /// If provided, will only return BankInfo's with this bank name. /// + [JsonIgnore] public string? BankName { get; set; } /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// If provided, will only return bank accounts for this employee. /// + [JsonIgnore] public string? EmployeeId { get; set; } /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public string? Expand { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// Overrides the default ordering for this endpoint. Possible values include: remote_created_at, -remote_created_at. /// + [JsonIgnore] public BankInfoListRequestOrderBy? OrderBy { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// Deprecated. Use show_enum_origins. /// + [JsonIgnore] public string? RemoteFields { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } /// /// A comma separated list of enum field names for which you'd like the original values to be returned, instead of Merge's normalized enum values. [Learn more](https://help.merge.dev/en/articles/8950958-show_enum_origins-query-parameter) /// + [JsonIgnore] public string? ShowEnumOrigins { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/BankInfo/Requests/BankInfoRetrieveRequest.cs b/src/Merge.Client/Hris/BankInfo/Requests/BankInfoRetrieveRequest.cs index 3836ae02..a7894326 100644 --- a/src/Merge.Client/Hris/BankInfo/Requests/BankInfoRetrieveRequest.cs +++ b/src/Merge.Client/Hris/BankInfo/Requests/BankInfoRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Hris; @@ -7,23 +8,34 @@ public record BankInfoRetrieveRequest /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public string? Expand { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + /// /// Deprecated. Use show_enum_origins. /// + [JsonIgnore] public string? RemoteFields { get; set; } /// /// A comma separated list of enum field names for which you'd like the original values to be returned, instead of Merge's normalized enum values. [Learn more](https://help.merge.dev/en/articles/8950958-show_enum_origins-query-parameter) /// + [JsonIgnore] public string? ShowEnumOrigins { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Benefits/BenefitsClient.cs b/src/Merge.Client/Hris/Benefits/BenefitsClient.cs index c6fdfaaa..77f675bd 100644 --- a/src/Merge.Client/Hris/Benefits/BenefitsClient.cs +++ b/src/Merge.Client/Hris/Benefits/BenefitsClient.cs @@ -17,12 +17,10 @@ internal BenefitsClient(RawClient client) /// /// Returns a list of `Benefit` objects. /// - /// - /// + /// /// await client.Hris.Benefits.ListAsync(new BenefitsListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( BenefitsListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -84,8 +82,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["remote_id"] = request.RemoteId; } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -96,35 +94,36 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a `Benefit` object with the given `id`. /// - /// - /// + /// /// await client.Hris.Benefits.RetrieveAsync("id", new BenefitsRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, BenefitsRetrieveRequest request, RequestOptions? options = null, @@ -140,36 +139,46 @@ public async System.Threading.Tasks.Task RetrieveAsync( { _query["include_remote_data"] = JsonUtils.Serialize(request.IncludeRemoteData.Value); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"hris/v1/benefits/{id}", + Path = string.Format( + "hris/v1/benefits/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Hris/Benefits/Requests/BenefitsListRequest.cs b/src/Merge.Client/Hris/Benefits/Requests/BenefitsListRequest.cs index b724cefc..62b13c6a 100644 --- a/src/Merge.Client/Hris/Benefits/Requests/BenefitsListRequest.cs +++ b/src/Merge.Client/Hris/Benefits/Requests/BenefitsListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Hris; @@ -7,63 +8,76 @@ public record BenefitsListRequest /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// If provided, will return the benefits associated with the employee. /// + [JsonIgnore] public string? EmployeeId { get; set; } /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public string? Expand { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Benefits/Requests/BenefitsRetrieveRequest.cs b/src/Merge.Client/Hris/Benefits/Requests/BenefitsRetrieveRequest.cs index 3457c6ff..ce9c1ac4 100644 --- a/src/Merge.Client/Hris/Benefits/Requests/BenefitsRetrieveRequest.cs +++ b/src/Merge.Client/Hris/Benefits/Requests/BenefitsRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Hris; @@ -7,13 +8,22 @@ public record BenefitsRetrieveRequest /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public string? Expand { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Companies/CompaniesClient.cs b/src/Merge.Client/Hris/Companies/CompaniesClient.cs index 6432e4ef..2a19b2b9 100644 --- a/src/Merge.Client/Hris/Companies/CompaniesClient.cs +++ b/src/Merge.Client/Hris/Companies/CompaniesClient.cs @@ -17,12 +17,10 @@ internal CompaniesClient(RawClient client) /// /// Returns a list of `Company` objects. /// - /// - /// + /// /// await client.Hris.Companies.ListAsync(new CompaniesListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( CompaniesListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -76,8 +74,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["remote_id"] = request.RemoteId; } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -88,35 +86,36 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a `Company` object with the given `id`. /// - /// - /// + /// /// await client.Hris.Companies.RetrieveAsync("id", new CompaniesRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, CompaniesRetrieveRequest request, RequestOptions? options = null, @@ -128,36 +127,46 @@ public async System.Threading.Tasks.Task RetrieveAsync( { _query["include_remote_data"] = JsonUtils.Serialize(request.IncludeRemoteData.Value); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"hris/v1/companies/{id}", + Path = string.Format( + "hris/v1/companies/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Hris/Companies/Requests/CompaniesListRequest.cs b/src/Merge.Client/Hris/Companies/Requests/CompaniesListRequest.cs index 4216f32c..47fe4040 100644 --- a/src/Merge.Client/Hris/Companies/Requests/CompaniesListRequest.cs +++ b/src/Merge.Client/Hris/Companies/Requests/CompaniesListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Hris; @@ -7,53 +8,64 @@ public record CompaniesListRequest /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Companies/Requests/CompaniesRetrieveRequest.cs b/src/Merge.Client/Hris/Companies/Requests/CompaniesRetrieveRequest.cs index 8cc4ec78..06d30389 100644 --- a/src/Merge.Client/Hris/Companies/Requests/CompaniesRetrieveRequest.cs +++ b/src/Merge.Client/Hris/Companies/Requests/CompaniesRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Hris; @@ -7,8 +8,16 @@ public record CompaniesRetrieveRequest /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/DeleteAccount/DeleteAccountClient.cs b/src/Merge.Client/Hris/DeleteAccount/DeleteAccountClient.cs index b375a099..74a740e9 100644 --- a/src/Merge.Client/Hris/DeleteAccount/DeleteAccountClient.cs +++ b/src/Merge.Client/Hris/DeleteAccount/DeleteAccountClient.cs @@ -1,5 +1,6 @@ using System.Net.Http; using System.Threading; +using global::System.Threading.Tasks; using Merge.Client.Core; namespace Merge.Client.Hris; @@ -16,19 +17,17 @@ internal DeleteAccountClient(RawClient client) /// /// Delete a linked account. /// - /// - /// + /// /// await client.Hris.DeleteAccount.DeleteAsync(); - /// - /// - public async System.Threading.Tasks.Task DeleteAsync( + /// + public async global::System.Threading.Tasks.Task DeleteAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, @@ -42,11 +41,13 @@ public async System.Threading.Tasks.Task DeleteAsync( { return; } - var responseBody = await response.Raw.Content.ReadAsStringAsync(); - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Hris/Dependents/DependentsClient.cs b/src/Merge.Client/Hris/Dependents/DependentsClient.cs index ae213df4..d425f461 100644 --- a/src/Merge.Client/Hris/Dependents/DependentsClient.cs +++ b/src/Merge.Client/Hris/Dependents/DependentsClient.cs @@ -17,12 +17,10 @@ internal DependentsClient(RawClient client) /// /// Returns a list of `Dependent` objects. /// - /// - /// + /// /// await client.Hris.Dependents.ListAsync(new DependentsListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( DependentsListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -82,8 +80,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["remote_id"] = request.RemoteId; } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -94,35 +92,36 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a `Dependent` object with the given `id`. /// - /// - /// + /// /// await client.Hris.Dependents.RetrieveAsync("id", new DependentsRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, DependentsRetrieveRequest request, RequestOptions? options = null, @@ -140,36 +139,46 @@ public async System.Threading.Tasks.Task RetrieveAsync( request.IncludeSensitiveFields.Value ); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"hris/v1/dependents/{id}", + Path = string.Format( + "hris/v1/dependents/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Hris/Dependents/Requests/DependentsListRequest.cs b/src/Merge.Client/Hris/Dependents/Requests/DependentsListRequest.cs index a9c5319c..ca7f6090 100644 --- a/src/Merge.Client/Hris/Dependents/Requests/DependentsListRequest.cs +++ b/src/Merge.Client/Hris/Dependents/Requests/DependentsListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Hris; @@ -7,58 +8,70 @@ public record DependentsListRequest /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include sensitive fields (such as social security numbers) in the response. /// + [JsonIgnore] public bool? IncludeSensitiveFields { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Dependents/Requests/DependentsRetrieveRequest.cs b/src/Merge.Client/Hris/Dependents/Requests/DependentsRetrieveRequest.cs index 55997cf8..8a2f0770 100644 --- a/src/Merge.Client/Hris/Dependents/Requests/DependentsRetrieveRequest.cs +++ b/src/Merge.Client/Hris/Dependents/Requests/DependentsRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Hris; @@ -7,13 +8,22 @@ public record DependentsRetrieveRequest /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include sensitive fields (such as social security numbers) in the response. /// + [JsonIgnore] public bool? IncludeSensitiveFields { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/EmployeePayrollRuns/EmployeePayrollRunsClient.cs b/src/Merge.Client/Hris/EmployeePayrollRuns/EmployeePayrollRunsClient.cs index ee15d255..448e309f 100644 --- a/src/Merge.Client/Hris/EmployeePayrollRuns/EmployeePayrollRunsClient.cs +++ b/src/Merge.Client/Hris/EmployeePayrollRuns/EmployeePayrollRunsClient.cs @@ -17,12 +17,10 @@ internal EmployeePayrollRunsClient(RawClient client) /// /// Returns a list of `EmployeePayrollRun` objects. /// - /// - /// + /// /// await client.Hris.EmployeePayrollRuns.ListAsync(new EmployeePayrollRunsListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( EmployeePayrollRunsListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -106,8 +104,8 @@ public async System.Threading.Tasks.Task ListAs ); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -118,35 +116,36 @@ public async System.Threading.Tasks.Task ListAs cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns an `EmployeePayrollRun` object with the given `id`. /// - /// - /// + /// /// await client.Hris.EmployeePayrollRuns.RetrieveAsync("id", new EmployeePayrollRunsRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, EmployeePayrollRunsRetrieveRequest request, RequestOptions? options = null, @@ -162,36 +161,46 @@ public async System.Threading.Tasks.Task RetrieveAsync( { _query["include_remote_data"] = JsonUtils.Serialize(request.IncludeRemoteData.Value); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"hris/v1/employee-payroll-runs/{id}", + Path = string.Format( + "hris/v1/employee-payroll-runs/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Hris/EmployeePayrollRuns/Requests/EmployeePayrollRunsListRequest.cs b/src/Merge.Client/Hris/EmployeePayrollRuns/Requests/EmployeePayrollRunsListRequest.cs index 6a0a8d28..115e1838 100644 --- a/src/Merge.Client/Hris/EmployeePayrollRuns/Requests/EmployeePayrollRunsListRequest.cs +++ b/src/Merge.Client/Hris/EmployeePayrollRuns/Requests/EmployeePayrollRunsListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Hris; @@ -7,88 +8,106 @@ public record EmployeePayrollRunsListRequest /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// If provided, will only return employee payroll runs for this employee. /// + [JsonIgnore] public string? EmployeeId { get; set; } /// /// If provided, will only return employee payroll runs ended after this datetime. /// + [JsonIgnore] public DateTime? EndedAfter { get; set; } /// /// If provided, will only return employee payroll runs ended before this datetime. /// + [JsonIgnore] public DateTime? EndedBefore { get; set; } /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public EmployeePayrollRunsListRequestExpand? Expand { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// If provided, will only return employee payroll runs for this employee. /// + [JsonIgnore] public string? PayrollRunId { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } /// /// If provided, will only return employee payroll runs started after this datetime. /// + [JsonIgnore] public DateTime? StartedAfter { get; set; } /// /// If provided, will only return employee payroll runs started before this datetime. /// + [JsonIgnore] public DateTime? StartedBefore { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/EmployeePayrollRuns/Requests/EmployeePayrollRunsRetrieveRequest.cs b/src/Merge.Client/Hris/EmployeePayrollRuns/Requests/EmployeePayrollRunsRetrieveRequest.cs index de354b67..d10a70c1 100644 --- a/src/Merge.Client/Hris/EmployeePayrollRuns/Requests/EmployeePayrollRunsRetrieveRequest.cs +++ b/src/Merge.Client/Hris/EmployeePayrollRuns/Requests/EmployeePayrollRunsRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Hris; @@ -7,13 +8,22 @@ public record EmployeePayrollRunsRetrieveRequest /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public EmployeePayrollRunsRetrieveRequestExpand? Expand { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Employees/EmployeesClient.cs b/src/Merge.Client/Hris/Employees/EmployeesClient.cs index ad0723f7..ebfe8225 100644 --- a/src/Merge.Client/Hris/Employees/EmployeesClient.cs +++ b/src/Merge.Client/Hris/Employees/EmployeesClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using global::System.Threading.Tasks; using Merge.Client.Core; namespace Merge.Client.Hris; @@ -17,12 +18,10 @@ internal EmployeesClient(RawClient client) /// /// Returns a list of `Employee` objects. /// - /// - /// + /// /// await client.Hris.Employees.ListAsync(new EmployeesListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( EmployeesListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -176,8 +175,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["work_location_id"] = request.WorkLocationId; } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -188,37 +187,38 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Creates an `Employee` object with the given values. /// - /// - /// + /// /// await client.Hris.Employees.CreateAsync( /// new EmployeeEndpointRequest { Model = new EmployeeRequest() } /// ); - /// - /// - public async System.Threading.Tasks.Task CreateAsync( + /// + public async Task CreateAsync( EmployeeEndpointRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -233,15 +233,14 @@ public async System.Threading.Tasks.Task CreateAsync( { _query["run_async"] = JsonUtils.Serialize(request.RunAsync.Value); } - var requestBody = new Dictionary() { { "model", request.Model } }; var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, Path = "hris/v1/employees", - Body = requestBody, + Body = request, Query = _query, ContentType = "application/json", Options = options, @@ -249,35 +248,36 @@ public async System.Threading.Tasks.Task CreateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns an `Employee` object with the given `id`. /// - /// - /// + /// /// await client.Hris.Employees.RetrieveAsync("id", new EmployeesRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, EmployeesRetrieveRequest request, RequestOptions? options = null, @@ -299,6 +299,10 @@ public async System.Threading.Tasks.Task RetrieveAsync( request.IncludeSensitiveFields.Value ); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } if (request.RemoteFields != null) { _query["remote_fields"] = request.RemoteFields.Value.Stringify(); @@ -308,43 +312,48 @@ public async System.Threading.Tasks.Task RetrieveAsync( _query["show_enum_origins"] = request.ShowEnumOrigins.Value.Stringify(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"hris/v1/employees/{id}", + Path = string.Format( + "hris/v1/employees/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Ignores a specific row based on the `model_id` in the url. These records will have their properties set to null, and will not be updated in future syncs. The "reason" and "message" fields in the request body will be stored for audit purposes. /// - /// - /// + /// /// await client.Hris.Employees.IgnoreCreateAsync( /// "model_id", /// new Merge.Client.Hris.IgnoreCommonModelRequest @@ -352,9 +361,8 @@ public async System.Threading.Tasks.Task RetrieveAsync( /// Reason = Merge.Client.Hris.ReasonEnum.GeneralCustomerRequest, /// } /// ); - /// - /// - public async System.Threading.Tasks.Task IgnoreCreateAsync( + /// + public async global::System.Threading.Tasks.Task IgnoreCreateAsync( string modelId, IgnoreCommonModelRequest request, RequestOptions? options = null, @@ -362,12 +370,15 @@ public async System.Threading.Tasks.Task IgnoreCreateAsync( ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, - Path = $"hris/v1/employees/ignore/{modelId}", + Path = string.Format( + "hris/v1/employees/ignore/{0}", + ValueConvert.ToPathParameterString(modelId) + ), Body = request, ContentType = "application/json", Options = options, @@ -379,30 +390,30 @@ public async System.Threading.Tasks.Task IgnoreCreateAsync( { return; } - var responseBody = await response.Raw.Content.ReadAsStringAsync(); - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns metadata for `Employee` POSTs. /// - /// - /// + /// /// await client.Hris.Employees.MetaPostRetrieveAsync(); - /// - /// - public async System.Threading.Tasks.Task MetaPostRetrieveAsync( + /// + public async Task MetaPostRetrieveAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -412,23 +423,26 @@ public async System.Threading.Tasks.Task MetaPostRetrieveAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Hris/Employees/Requests/EmployeeEndpointRequest.cs b/src/Merge.Client/Hris/Employees/Requests/EmployeeEndpointRequest.cs index 87c33b47..c0549a9b 100644 --- a/src/Merge.Client/Hris/Employees/Requests/EmployeeEndpointRequest.cs +++ b/src/Merge.Client/Hris/Employees/Requests/EmployeeEndpointRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Hris; @@ -7,15 +8,19 @@ public record EmployeeEndpointRequest /// /// Whether to include debug fields (such as log file links) in the response. /// + [JsonIgnore] public bool? IsDebugMode { get; set; } /// /// Whether or not third-party updates should be run asynchronously. /// + [JsonIgnore] public bool? RunAsync { get; set; } + [JsonPropertyName("model")] public required EmployeeRequest Model { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Employees/Requests/EmployeesListRequest.cs b/src/Merge.Client/Hris/Employees/Requests/EmployeesListRequest.cs index fdf1d896..df967ec9 100644 --- a/src/Merge.Client/Hris/Employees/Requests/EmployeesListRequest.cs +++ b/src/Merge.Client/Hris/Employees/Requests/EmployeesListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Hris; @@ -7,172 +8,206 @@ public record EmployeesListRequest /// /// If provided, will only return employees for this company. /// + [JsonIgnore] public string? CompanyId { get; set; } /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// If provided, will only return employees with this display name. /// + [JsonIgnore] public string? DisplayFullName { get; set; } /// /// If provided, will only return employees with this employment status. /// - /// - `ACTIVE` - ACTIVE - /// - `PENDING` - PENDING - /// - `INACTIVE` - INACTIVE + /// * `ACTIVE` - ACTIVE + /// * `PENDING` - PENDING + /// * `INACTIVE` - INACTIVE /// + [JsonIgnore] public EmployeesListRequestEmploymentStatus? EmploymentStatus { get; set; } /// /// If provided, will only return employees that have an employment of the specified employment_type. /// + [JsonIgnore] public string? EmploymentType { get; set; } /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public EmployeesListRequestExpand? Expand { get; set; } /// /// If provided, will only return employees with this first name. /// + [JsonIgnore] public string? FirstName { get; set; } /// /// If provided, will only return employees matching the group ids; multiple groups can be separated by commas. /// + [JsonIgnore] public string? Groups { get; set; } /// /// If provided, will only return employees for this home location. /// + [JsonIgnore] public string? HomeLocationId { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include sensitive fields (such as social security numbers) in the response. /// + [JsonIgnore] public bool? IncludeSensitiveFields { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, will only return employees that have an employment of the specified job_title. /// + [JsonIgnore] public string? JobTitle { get; set; } /// /// If provided, will only return employees with this last name. /// + [JsonIgnore] public string? LastName { get; set; } /// /// If provided, will only return employees for this manager. /// + [JsonIgnore] public string? ManagerId { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// If provided, will only return employees for this pay group /// + [JsonIgnore] public string? PayGroupId { get; set; } /// /// If provided, will only return Employees with this personal email /// + [JsonIgnore] public string? PersonalEmail { get; set; } /// /// Deprecated. Use show_enum_origins. /// + [JsonIgnore] public EmployeesListRequestRemoteFields? RemoteFields { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } /// /// A comma separated list of enum field names for which you'd like the original values to be returned, instead of Merge's normalized enum values. [Learn more](https://help.merge.dev/en/articles/8950958-show_enum_origins-query-parameter) /// + [JsonIgnore] public EmployeesListRequestShowEnumOrigins? ShowEnumOrigins { get; set; } /// /// If provided, will only return employees that started after this datetime. /// + [JsonIgnore] public DateTime? StartedAfter { get; set; } /// /// If provided, will only return employees that started before this datetime. /// + [JsonIgnore] public DateTime? StartedBefore { get; set; } /// /// If provided, will only return employees for this team. /// + [JsonIgnore] public string? TeamId { get; set; } /// /// If provided, will only return employees that were terminated after this datetime. /// + [JsonIgnore] public DateTime? TerminatedAfter { get; set; } /// /// If provided, will only return employees that were terminated before this datetime. /// + [JsonIgnore] public DateTime? TerminatedBefore { get; set; } /// /// If provided, will only return Employees with this work email /// + [JsonIgnore] public string? WorkEmail { get; set; } /// /// If provided, will only return employees for this location. /// + [JsonIgnore] public string? WorkLocationId { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Employees/Requests/EmployeesRetrieveRequest.cs b/src/Merge.Client/Hris/Employees/Requests/EmployeesRetrieveRequest.cs index 8bc7f596..8b7d9240 100644 --- a/src/Merge.Client/Hris/Employees/Requests/EmployeesRetrieveRequest.cs +++ b/src/Merge.Client/Hris/Employees/Requests/EmployeesRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Hris; @@ -7,28 +8,40 @@ public record EmployeesRetrieveRequest /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public EmployeesRetrieveRequestExpand? Expand { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include sensitive fields (such as social security numbers) in the response. /// + [JsonIgnore] public bool? IncludeSensitiveFields { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + /// /// Deprecated. Use show_enum_origins. /// + [JsonIgnore] public EmployeesRetrieveRequestRemoteFields? RemoteFields { get; set; } /// /// A comma separated list of enum field names for which you'd like the original values to be returned, instead of Merge's normalized enum values. [Learn more](https://help.merge.dev/en/articles/8950958-show_enum_origins-query-parameter) /// + [JsonIgnore] public EmployeesRetrieveRequestShowEnumOrigins? ShowEnumOrigins { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Employees/Requests/IgnoreCommonModelRequest.cs b/src/Merge.Client/Hris/Employees/Requests/IgnoreCommonModelRequest.cs index 2d1f4c27..916c4b55 100644 --- a/src/Merge.Client/Hris/Employees/Requests/IgnoreCommonModelRequest.cs +++ b/src/Merge.Client/Hris/Employees/Requests/IgnoreCommonModelRequest.cs @@ -11,6 +11,7 @@ public record IgnoreCommonModelRequest [JsonPropertyName("message")] public string? Message { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/EmployerBenefits/EmployerBenefitsClient.cs b/src/Merge.Client/Hris/EmployerBenefits/EmployerBenefitsClient.cs index a666f1a1..c6001722 100644 --- a/src/Merge.Client/Hris/EmployerBenefits/EmployerBenefitsClient.cs +++ b/src/Merge.Client/Hris/EmployerBenefits/EmployerBenefitsClient.cs @@ -17,12 +17,10 @@ internal EmployerBenefitsClient(RawClient client) /// /// Returns a list of `EmployerBenefit` objects. /// - /// - /// + /// /// await client.Hris.EmployerBenefits.ListAsync(new EmployerBenefitsListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( EmployerBenefitsListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -76,8 +74,8 @@ public async System.Threading.Tasks.Task ListAsync _query["remote_id"] = request.RemoteId; } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -88,35 +86,36 @@ public async System.Threading.Tasks.Task ListAsync cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns an `EmployerBenefit` object with the given `id`. /// - /// - /// + /// /// await client.Hris.EmployerBenefits.RetrieveAsync("id", new EmployerBenefitsRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, EmployerBenefitsRetrieveRequest request, RequestOptions? options = null, @@ -128,36 +127,46 @@ public async System.Threading.Tasks.Task RetrieveAsync( { _query["include_remote_data"] = JsonUtils.Serialize(request.IncludeRemoteData.Value); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"hris/v1/employer-benefits/{id}", + Path = string.Format( + "hris/v1/employer-benefits/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Hris/EmployerBenefits/Requests/EmployerBenefitsListRequest.cs b/src/Merge.Client/Hris/EmployerBenefits/Requests/EmployerBenefitsListRequest.cs index bce5de23..e4477297 100644 --- a/src/Merge.Client/Hris/EmployerBenefits/Requests/EmployerBenefitsListRequest.cs +++ b/src/Merge.Client/Hris/EmployerBenefits/Requests/EmployerBenefitsListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Hris; @@ -7,53 +8,64 @@ public record EmployerBenefitsListRequest /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/EmployerBenefits/Requests/EmployerBenefitsRetrieveRequest.cs b/src/Merge.Client/Hris/EmployerBenefits/Requests/EmployerBenefitsRetrieveRequest.cs index 9042819d..2897e340 100644 --- a/src/Merge.Client/Hris/EmployerBenefits/Requests/EmployerBenefitsRetrieveRequest.cs +++ b/src/Merge.Client/Hris/EmployerBenefits/Requests/EmployerBenefitsRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Hris; @@ -7,8 +8,16 @@ public record EmployerBenefitsRetrieveRequest /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Employments/EmploymentsClient.cs b/src/Merge.Client/Hris/Employments/EmploymentsClient.cs index e243ff4e..0e1dd55e 100644 --- a/src/Merge.Client/Hris/Employments/EmploymentsClient.cs +++ b/src/Merge.Client/Hris/Employments/EmploymentsClient.cs @@ -17,12 +17,10 @@ internal EmploymentsClient(RawClient client) /// /// Returns a list of `Employment` objects. /// - /// - /// + /// /// await client.Hris.Employments.ListAsync(new EmploymentsListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( EmploymentsListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -96,8 +94,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["show_enum_origins"] = request.ShowEnumOrigins.Value.Stringify(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -108,35 +106,36 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns an `Employment` object with the given `id`. /// - /// - /// + /// /// await client.Hris.Employments.RetrieveAsync("id", new EmploymentsRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, EmploymentsRetrieveRequest request, RequestOptions? options = null, @@ -152,6 +151,10 @@ public async System.Threading.Tasks.Task RetrieveAsync( { _query["include_remote_data"] = JsonUtils.Serialize(request.IncludeRemoteData.Value); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } if (request.RemoteFields != null) { _query["remote_fields"] = request.RemoteFields.Value.Stringify(); @@ -161,35 +164,41 @@ public async System.Threading.Tasks.Task RetrieveAsync( _query["show_enum_origins"] = request.ShowEnumOrigins.Value.Stringify(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"hris/v1/employments/{id}", + Path = string.Format( + "hris/v1/employments/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Hris/Employments/Requests/EmploymentsListRequest.cs b/src/Merge.Client/Hris/Employments/Requests/EmploymentsListRequest.cs index df1a398d..d5e70e36 100644 --- a/src/Merge.Client/Hris/Employments/Requests/EmploymentsListRequest.cs +++ b/src/Merge.Client/Hris/Employments/Requests/EmploymentsListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Hris; @@ -7,78 +8,94 @@ public record EmploymentsListRequest /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// If provided, will only return employments for this employee. /// + [JsonIgnore] public string? EmployeeId { get; set; } /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public EmploymentsListRequestExpand? Expand { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// Overrides the default ordering for this endpoint. Possible values include: effective_date, -effective_date. /// + [JsonIgnore] public EmploymentsListRequestOrderBy? OrderBy { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// Deprecated. Use show_enum_origins. /// + [JsonIgnore] public EmploymentsListRequestRemoteFields? RemoteFields { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } /// /// A comma separated list of enum field names for which you'd like the original values to be returned, instead of Merge's normalized enum values. [Learn more](https://help.merge.dev/en/articles/8950958-show_enum_origins-query-parameter) /// + [JsonIgnore] public EmploymentsListRequestShowEnumOrigins? ShowEnumOrigins { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Employments/Requests/EmploymentsRetrieveRequest.cs b/src/Merge.Client/Hris/Employments/Requests/EmploymentsRetrieveRequest.cs index 75b48342..ded23833 100644 --- a/src/Merge.Client/Hris/Employments/Requests/EmploymentsRetrieveRequest.cs +++ b/src/Merge.Client/Hris/Employments/Requests/EmploymentsRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Hris; @@ -7,23 +8,34 @@ public record EmploymentsRetrieveRequest /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public EmploymentsRetrieveRequestExpand? Expand { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + /// /// Deprecated. Use show_enum_origins. /// + [JsonIgnore] public EmploymentsRetrieveRequestRemoteFields? RemoteFields { get; set; } /// /// A comma separated list of enum field names for which you'd like the original values to be returned, instead of Merge's normalized enum values. [Learn more](https://help.merge.dev/en/articles/8950958-show_enum_origins-query-parameter) /// + [JsonIgnore] public EmploymentsRetrieveRequestShowEnumOrigins? ShowEnumOrigins { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/FieldMapping/FieldMappingClient.cs b/src/Merge.Client/Hris/FieldMapping/FieldMappingClient.cs index f8d4c87b..1bdc72d3 100644 --- a/src/Merge.Client/Hris/FieldMapping/FieldMappingClient.cs +++ b/src/Merge.Client/Hris/FieldMapping/FieldMappingClient.cs @@ -17,12 +17,10 @@ internal FieldMappingClient(RawClient client) /// /// Get all Field Mappings for this Linked Account. Field Mappings are mappings between third-party Remote Fields and user defined Merge fields. [Learn more](https://docs.merge.dev/supplemental-data/field-mappings/overview/). /// - /// - /// + /// /// await client.Hris.FieldMapping.FieldMappingsRetrieveAsync(new FieldMappingsRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task FieldMappingsRetrieveAsync( + /// + public async Task FieldMappingsRetrieveAsync( FieldMappingsRetrieveRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -36,8 +34,8 @@ public async System.Threading.Tasks.Task FieldM ); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -48,31 +46,33 @@ public async System.Threading.Tasks.Task FieldM cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Create new Field Mappings that will be available after the next scheduled sync. This will cause the next sync for this Linked Account to sync **ALL** data from start. /// - /// - /// + /// /// await client.Hris.FieldMapping.FieldMappingsCreateAsync( /// new CreateFieldMappingRequest /// { @@ -84,9 +84,8 @@ public async System.Threading.Tasks.Task FieldM /// CommonModelName = "ExampleCommonModel", /// } /// ); - /// - /// - public async System.Threading.Tasks.Task FieldMappingsCreateAsync( + /// + public async Task FieldMappingsCreateAsync( CreateFieldMappingRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -99,23 +98,14 @@ public async System.Threading.Tasks.Task FieldMapp request.ExcludeRemoteFieldMetadata.Value ); } - var requestBody = new Dictionary() - { - { "target_field_name", request.TargetFieldName }, - { "target_field_description", request.TargetFieldDescription }, - { "remote_field_traversal_path", request.RemoteFieldTraversalPath }, - { "remote_method", request.RemoteMethod }, - { "remote_url_path", request.RemoteUrlPath }, - { "common_model_name", request.CommonModelName }, - }; var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, Path = "hris/v1/field-mappings", - Body = requestBody, + Body = request, Query = _query, ContentType = "application/json", Options = options, @@ -123,84 +113,89 @@ public async System.Threading.Tasks.Task FieldMapp cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Deletes Field Mappings for a Linked Account. All data related to this Field Mapping will be deleted and these changes will be reflected after the next scheduled sync. This will cause the next sync for this Linked Account to sync **ALL** data from start. /// - /// - /// + /// /// await client.Hris.FieldMapping.FieldMappingsDestroyAsync("field_mapping_id"); - /// - /// - public async System.Threading.Tasks.Task FieldMappingsDestroyAsync( + /// + public async Task FieldMappingsDestroyAsync( string fieldMappingId, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Delete, - Path = $"hris/v1/field-mappings/{fieldMappingId}", + Path = string.Format( + "hris/v1/field-mappings/{0}", + ValueConvert.ToPathParameterString(fieldMappingId) + ), Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Create or update existing Field Mappings for a Linked Account. Changes will be reflected after the next scheduled sync. This will cause the next sync for this Linked Account to sync **ALL** data from start. /// - /// - /// + /// /// await client.Hris.FieldMapping.FieldMappingsPartialUpdateAsync( /// "field_mapping_id", /// new PatchedEditFieldMappingRequest() /// ); - /// - /// - public async System.Threading.Tasks.Task FieldMappingsPartialUpdateAsync( + /// + public async Task FieldMappingsPartialUpdateAsync( string fieldMappingId, PatchedEditFieldMappingRequest request, RequestOptions? options = null, @@ -208,12 +203,15 @@ public async System.Threading.Tasks.Task FieldMapp ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethodExtensions.Patch, - Path = $"hris/v1/field-mappings/{fieldMappingId}", + Path = string.Format( + "hris/v1/field-mappings/{0}", + ValueConvert.ToPathParameterString(fieldMappingId) + ), Body = request, ContentType = "application/json", Options = options, @@ -221,35 +219,36 @@ public async System.Threading.Tasks.Task FieldMapp cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Get all remote fields for a Linked Account. Remote fields are third-party fields that are accessible after initial sync if remote_data is enabled. You can use remote fields to override existing Merge fields or map a new Merge field. [Learn more](https://docs.merge.dev/supplemental-data/field-mappings/overview/). /// - /// - /// + /// /// await client.Hris.FieldMapping.RemoteFieldsRetrieveAsync(new RemoteFieldsRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RemoteFieldsRetrieveAsync( + /// + public async Task RemoteFieldsRetrieveAsync( RemoteFieldsRetrieveRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -265,8 +264,8 @@ public async System.Threading.Tasks.Task RemoteFieldsRet _query["include_example_values"] = request.IncludeExampleValues; } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -277,42 +276,43 @@ public async System.Threading.Tasks.Task RemoteFieldsRet cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Get all organization-wide Target Fields, this will not include any Linked Account specific Target Fields. Organization-wide Target Fields are additional fields appended to the Merge Common Model for all Linked Accounts in a category. [Learn more](https://docs.merge.dev/supplemental-data/field-mappings/target-fields/). /// - /// - /// + /// /// await client.Hris.FieldMapping.TargetFieldsRetrieveAsync(); - /// - /// - public async System.Threading.Tasks.Task TargetFieldsRetrieveAsync( + /// + public async Task TargetFieldsRetrieveAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -322,23 +322,26 @@ public async System.Threading.Tasks.Task TargetF cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Hris/FieldMapping/Requests/CreateFieldMappingRequest.cs b/src/Merge.Client/Hris/FieldMapping/Requests/CreateFieldMappingRequest.cs index 82046b01..1f404b8b 100644 --- a/src/Merge.Client/Hris/FieldMapping/Requests/CreateFieldMappingRequest.cs +++ b/src/Merge.Client/Hris/FieldMapping/Requests/CreateFieldMappingRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Hris; @@ -7,38 +8,46 @@ public record CreateFieldMappingRequest /// /// If `true`, remote fields metadata is excluded from each field mapping instance (i.e. `remote_fields.remote_key_name` and `remote_fields.schema` will be null). This will increase the speed of the request since these fields require some calculations. /// + [JsonIgnore] public bool? ExcludeRemoteFieldMetadata { get; set; } /// /// The name of the target field you want this remote field to map to. /// + [JsonPropertyName("target_field_name")] public required string TargetFieldName { get; set; } /// /// The description of the target field you want this remote field to map to. /// + [JsonPropertyName("target_field_description")] public required string TargetFieldDescription { get; set; } /// /// The field traversal path of the remote field listed when you hit the GET /remote-fields endpoint. /// + [JsonPropertyName("remote_field_traversal_path")] public IEnumerable RemoteFieldTraversalPath { get; set; } = new List(); /// /// The method of the remote endpoint where the remote field is coming from. /// + [JsonPropertyName("remote_method")] public required string RemoteMethod { get; set; } /// /// The path of the remote endpoint where the remote field is coming from. /// + [JsonPropertyName("remote_url_path")] public required string RemoteUrlPath { get; set; } /// /// The name of the Common Model that the remote field corresponds to in a given category. /// + [JsonPropertyName("common_model_name")] public required string CommonModelName { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/FieldMapping/Requests/FieldMappingsRetrieveRequest.cs b/src/Merge.Client/Hris/FieldMapping/Requests/FieldMappingsRetrieveRequest.cs index f797d72e..f3bfe367 100644 --- a/src/Merge.Client/Hris/FieldMapping/Requests/FieldMappingsRetrieveRequest.cs +++ b/src/Merge.Client/Hris/FieldMapping/Requests/FieldMappingsRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Hris; @@ -7,8 +8,10 @@ public record FieldMappingsRetrieveRequest /// /// If `true`, remote fields metadata is excluded from each field mapping instance (i.e. `remote_fields.remote_key_name` and `remote_fields.schema` will be null). This will increase the speed of the request since these fields require some calculations. /// + [JsonIgnore] public bool? ExcludeRemoteFieldMetadata { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/FieldMapping/Requests/PatchedEditFieldMappingRequest.cs b/src/Merge.Client/Hris/FieldMapping/Requests/PatchedEditFieldMappingRequest.cs index 66e13ad3..00bf82e7 100644 --- a/src/Merge.Client/Hris/FieldMapping/Requests/PatchedEditFieldMappingRequest.cs +++ b/src/Merge.Client/Hris/FieldMapping/Requests/PatchedEditFieldMappingRequest.cs @@ -23,6 +23,7 @@ public record PatchedEditFieldMappingRequest [JsonPropertyName("remote_url_path")] public string? RemoteUrlPath { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/FieldMapping/Requests/RemoteFieldsRetrieveRequest.cs b/src/Merge.Client/Hris/FieldMapping/Requests/RemoteFieldsRetrieveRequest.cs index efe08f09..2d4e91c9 100644 --- a/src/Merge.Client/Hris/FieldMapping/Requests/RemoteFieldsRetrieveRequest.cs +++ b/src/Merge.Client/Hris/FieldMapping/Requests/RemoteFieldsRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Hris; @@ -7,13 +8,16 @@ public record RemoteFieldsRetrieveRequest /// /// A comma seperated list of Common Model names. If included, will only return Remote Fields for those Common Models. /// + [JsonIgnore] public string? CommonModels { get; set; } /// /// If true, will include example values, where available, for remote fields in the 3rd party platform. These examples come from active data from your customers. /// + [JsonIgnore] public string? IncludeExampleValues { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/ForceResync/ForceResyncClient.cs b/src/Merge.Client/Hris/ForceResync/ForceResyncClient.cs index e5c249b1..ed909534 100644 --- a/src/Merge.Client/Hris/ForceResync/ForceResyncClient.cs +++ b/src/Merge.Client/Hris/ForceResync/ForceResyncClient.cs @@ -15,21 +15,19 @@ internal ForceResyncClient(RawClient client) } /// - /// Force re-sync of all models. This is available for all organizations via the dashboard. Force re-sync is also available programmatically via API for monthly, quarterly, and highest sync frequency customers on the Professional or Enterprise plans. Doing so will consume a sync credit for the relevant linked account. + /// Force re-sync of all models. This endpoint is available for monthly, quarterly, and highest sync frequency customers on the Professional or Enterprise plans. Doing so will consume a sync credit for the relevant linked account. Force re-syncs can also be triggered manually in the Merge Dashboard and is available for all customers. /// - /// - /// + /// /// await client.Hris.ForceResync.SyncStatusResyncCreateAsync(); - /// - /// - public async System.Threading.Tasks.Task> SyncStatusResyncCreateAsync( + /// + public async Task> SyncStatusResyncCreateAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, @@ -39,23 +37,26 @@ public async System.Threading.Tasks.Task> SyncStatusResy cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize>(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Hris/GenerateKey/GenerateKeyClient.cs b/src/Merge.Client/Hris/GenerateKey/GenerateKeyClient.cs index 6f4555ce..dc20f9d3 100644 --- a/src/Merge.Client/Hris/GenerateKey/GenerateKeyClient.cs +++ b/src/Merge.Client/Hris/GenerateKey/GenerateKeyClient.cs @@ -17,22 +17,20 @@ internal GenerateKeyClient(RawClient client) /// /// Create a remote key. /// - /// - /// + /// /// await client.Hris.GenerateKey.CreateAsync( /// new GenerateRemoteKeyRequest { Name = "Remote Deployment Key 1" } /// ); - /// - /// - public async System.Threading.Tasks.Task CreateAsync( + /// + public async Task CreateAsync( GenerateRemoteKeyRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, @@ -44,23 +42,26 @@ public async System.Threading.Tasks.Task CreateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Hris/GenerateKey/Requests/GenerateRemoteKeyRequest.cs b/src/Merge.Client/Hris/GenerateKey/Requests/GenerateRemoteKeyRequest.cs index 15c089e2..857eb3dc 100644 --- a/src/Merge.Client/Hris/GenerateKey/Requests/GenerateRemoteKeyRequest.cs +++ b/src/Merge.Client/Hris/GenerateKey/Requests/GenerateRemoteKeyRequest.cs @@ -11,6 +11,7 @@ public record GenerateRemoteKeyRequest [JsonPropertyName("name")] public required string Name { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Groups/GroupsClient.cs b/src/Merge.Client/Hris/Groups/GroupsClient.cs index a637e105..4029f62c 100644 --- a/src/Merge.Client/Hris/Groups/GroupsClient.cs +++ b/src/Merge.Client/Hris/Groups/GroupsClient.cs @@ -17,12 +17,10 @@ internal GroupsClient(RawClient client) /// /// Returns a list of `Group` objects. /// - /// - /// + /// /// await client.Hris.Groups.ListAsync(new GroupsListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( GroupsListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -96,8 +94,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["types"] = request.Types; } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -108,35 +106,36 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a `Group` object with the given `id`. /// - /// - /// + /// /// await client.Hris.Groups.RetrieveAsync("id", new GroupsRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, GroupsRetrieveRequest request, RequestOptions? options = null, @@ -148,6 +147,10 @@ public async System.Threading.Tasks.Task RetrieveAsync( { _query["include_remote_data"] = JsonUtils.Serialize(request.IncludeRemoteData.Value); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } if (request.RemoteFields != null) { _query["remote_fields"] = request.RemoteFields.ToString(); @@ -157,35 +160,41 @@ public async System.Threading.Tasks.Task RetrieveAsync( _query["show_enum_origins"] = request.ShowEnumOrigins.ToString(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"hris/v1/groups/{id}", + Path = string.Format( + "hris/v1/groups/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Hris/Groups/Requests/GroupsListRequest.cs b/src/Merge.Client/Hris/Groups/Requests/GroupsListRequest.cs index 79ff1a63..9c6816b0 100644 --- a/src/Merge.Client/Hris/Groups/Requests/GroupsListRequest.cs +++ b/src/Merge.Client/Hris/Groups/Requests/GroupsListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Hris; @@ -7,78 +8,94 @@ public record GroupsListRequest /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, specifies whether to return only Group objects which refer to a team in the third party platform. Note that this is an opinionated view based on how a team may be represented in the third party platform. /// + [JsonIgnore] public string? IsCommonlyUsedAsTeam { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// If provided, will only return groups with these names. Multiple values can be separated by commas. /// + [JsonIgnore] public string? Names { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// Deprecated. Use show_enum_origins. /// + [JsonIgnore] public string? RemoteFields { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } /// /// A comma separated list of enum field names for which you'd like the original values to be returned, instead of Merge's normalized enum values. [Learn more](https://help.merge.dev/en/articles/8950958-show_enum_origins-query-parameter) /// + [JsonIgnore] public string? ShowEnumOrigins { get; set; } /// /// If provided, will only return groups of these types. Multiple values can be separated by commas. /// + [JsonIgnore] public string? Types { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Groups/Requests/GroupsRetrieveRequest.cs b/src/Merge.Client/Hris/Groups/Requests/GroupsRetrieveRequest.cs index f5f987d2..b39ab138 100644 --- a/src/Merge.Client/Hris/Groups/Requests/GroupsRetrieveRequest.cs +++ b/src/Merge.Client/Hris/Groups/Requests/GroupsRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Hris; @@ -7,18 +8,28 @@ public record GroupsRetrieveRequest /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + /// /// Deprecated. Use show_enum_origins. /// + [JsonIgnore] public string? RemoteFields { get; set; } /// /// A comma separated list of enum field names for which you'd like the original values to be returned, instead of Merge's normalized enum values. [Learn more](https://help.merge.dev/en/articles/8950958-show_enum_origins-query-parameter) /// + [JsonIgnore] public string? ShowEnumOrigins { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Issues/IssuesClient.cs b/src/Merge.Client/Hris/Issues/IssuesClient.cs index 97e5e5ce..f28d2955 100644 --- a/src/Merge.Client/Hris/Issues/IssuesClient.cs +++ b/src/Merge.Client/Hris/Issues/IssuesClient.cs @@ -17,12 +17,10 @@ internal IssuesClient(RawClient client) /// /// Gets all issues for Organization. /// - /// - /// + /// /// await client.Hris.Issues.ListAsync(new IssuesListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( IssuesListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -94,8 +92,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["status"] = request.Status.Value.Stringify(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -106,69 +104,76 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Get a specific issue. /// - /// - /// + /// /// await client.Hris.Issues.RetrieveAsync("id"); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"hris/v1/issues/{id}", + Path = string.Format( + "hris/v1/issues/{0}", + ValueConvert.ToPathParameterString(id) + ), Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Hris/Issues/Requests/IssuesListRequest.cs b/src/Merge.Client/Hris/Issues/Requests/IssuesListRequest.cs index fa6e3cf9..daded87e 100644 --- a/src/Merge.Client/Hris/Issues/Requests/IssuesListRequest.cs +++ b/src/Merge.Client/Hris/Issues/Requests/IssuesListRequest.cs @@ -1,73 +1,89 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Hris; public record IssuesListRequest { + [JsonIgnore] public string? AccountToken { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// If included, will only include issues whose most recent action occurred before this time /// + [JsonIgnore] public string? EndDate { get; set; } + [JsonIgnore] public string? EndUserOrganizationName { get; set; } /// /// If provided, will only return issues whose first incident time was after this datetime. /// + [JsonIgnore] public DateTime? FirstIncidentTimeAfter { get; set; } /// /// If provided, will only return issues whose first incident time was before this datetime. /// + [JsonIgnore] public DateTime? FirstIncidentTimeBefore { get; set; } /// /// If true, will include muted issues /// + [JsonIgnore] public string? IncludeMuted { get; set; } + [JsonIgnore] public string? IntegrationName { get; set; } /// /// If provided, will only return issues whose last incident time was after this datetime. /// + [JsonIgnore] public DateTime? LastIncidentTimeAfter { get; set; } /// /// If provided, will only return issues whose last incident time was before this datetime. /// + [JsonIgnore] public DateTime? LastIncidentTimeBefore { get; set; } /// /// If provided, will only include issues pertaining to the linked account passed in. /// + [JsonIgnore] public string? LinkedAccountId { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// If included, will only include issues whose most recent action occurred after this time /// + [JsonIgnore] public string? StartDate { get; set; } /// /// Status of the issue. Options: ('ONGOING', 'RESOLVED') /// - /// - `ONGOING` - ONGOING - /// - `RESOLVED` - RESOLVED + /// * `ONGOING` - ONGOING + /// * `RESOLVED` - RESOLVED /// + [JsonIgnore] public IssuesListRequestStatus? Status { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/LinkToken/LinkTokenClient.cs b/src/Merge.Client/Hris/LinkToken/LinkTokenClient.cs index 7a5efe25..0b74a930 100644 --- a/src/Merge.Client/Hris/LinkToken/LinkTokenClient.cs +++ b/src/Merge.Client/Hris/LinkToken/LinkTokenClient.cs @@ -17,8 +17,7 @@ internal LinkTokenClient(RawClient client) /// /// Creates a link token to be used when linking a new end user. /// - /// - /// + /// /// await client.Hris.LinkToken.CreateAsync( /// new EndUserDetailsRequest /// { @@ -32,17 +31,16 @@ internal LinkTokenClient(RawClient client) /// }, /// } /// ); - /// - /// - public async System.Threading.Tasks.Task CreateAsync( + /// + public async Task CreateAsync( EndUserDetailsRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, @@ -54,23 +52,26 @@ public async System.Threading.Tasks.Task CreateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Hris/LinkToken/Requests/EndUserDetailsRequest.cs b/src/Merge.Client/Hris/LinkToken/Requests/EndUserDetailsRequest.cs index 32115038..d67ea501 100644 --- a/src/Merge.Client/Hris/LinkToken/Requests/EndUserDetailsRequest.cs +++ b/src/Merge.Client/Hris/LinkToken/Requests/EndUserDetailsRequest.cs @@ -89,6 +89,7 @@ public Dictionary< [JsonPropertyName("integration_specific_config")] public Dictionary? IntegrationSpecificConfig { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/LinkedAccounts/LinkedAccountsClient.cs b/src/Merge.Client/Hris/LinkedAccounts/LinkedAccountsClient.cs index b56c7c59..e2725d9c 100644 --- a/src/Merge.Client/Hris/LinkedAccounts/LinkedAccountsClient.cs +++ b/src/Merge.Client/Hris/LinkedAccounts/LinkedAccountsClient.cs @@ -17,12 +17,10 @@ internal LinkedAccountsClient(RawClient client) /// /// List linked accounts for your organization. /// - /// - /// + /// /// await client.Hris.LinkedAccounts.ListAsync(new LinkedAccountsListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( LinkedAccountsListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -82,8 +80,8 @@ public async System.Threading.Tasks.Task _query["status"] = request.Status; } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -94,23 +92,26 @@ public async System.Threading.Tasks.Task cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Hris/LinkedAccounts/Requests/LinkedAccountsListRequest.cs b/src/Merge.Client/Hris/LinkedAccounts/Requests/LinkedAccountsListRequest.cs index a63ccb36..0dbccc53 100644 --- a/src/Merge.Client/Hris/LinkedAccounts/Requests/LinkedAccountsListRequest.cs +++ b/src/Merge.Client/Hris/LinkedAccounts/Requests/LinkedAccountsListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Hris; @@ -7,73 +8,87 @@ public record LinkedAccountsListRequest /// /// Options: `accounting`, `ats`, `crm`, `filestorage`, `hris`, `mktg`, `ticketing` /// - /// - `hris` - hris - /// - `ats` - ats - /// - `accounting` - accounting - /// - `ticketing` - ticketing - /// - `crm` - crm - /// - `mktg` - mktg - /// - `filestorage` - filestorage + /// * `hris` - hris + /// * `ats` - ats + /// * `accounting` - accounting + /// * `ticketing` - ticketing + /// * `crm` - crm + /// * `mktg` - mktg + /// * `filestorage` - filestorage /// + [JsonIgnore] public LinkedAccountsListRequestCategory? Category { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// If provided, will only return linked accounts associated with the given email address. /// + [JsonIgnore] public string? EndUserEmailAddress { get; set; } /// /// If provided, will only return linked accounts associated with the given organization name. /// + [JsonIgnore] public string? EndUserOrganizationName { get; set; } /// /// If provided, will only return linked accounts associated with the given origin ID. /// + [JsonIgnore] public string? EndUserOriginId { get; set; } /// /// Comma-separated list of EndUser origin IDs, making it possible to specify multiple EndUsers at once. /// + [JsonIgnore] public string? EndUserOriginIds { get; set; } + [JsonIgnore] public string? Id { get; set; } /// /// Comma-separated list of LinkedAccount IDs, making it possible to specify multiple LinkedAccounts at once. /// + [JsonIgnore] public string? Ids { get; set; } /// /// If `true`, will include complete production duplicates of the account specified by the `id` query parameter in the response. `id` must be for a complete production linked account. /// + [JsonIgnore] public bool? IncludeDuplicates { get; set; } /// /// If provided, will only return linked accounts associated with the given integration name. /// + [JsonIgnore] public string? IntegrationName { get; set; } /// /// If included, will only include test linked accounts. If not included, will only include non-test linked accounts. /// + [JsonIgnore] public string? IsTestAccount { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// Filter by status. Options: `COMPLETE`, `IDLE`, `INCOMPLETE`, `RELINK_NEEDED` /// + [JsonIgnore] public string? Status { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Locations/LocationsClient.cs b/src/Merge.Client/Hris/Locations/LocationsClient.cs index ff289f3c..7531c86b 100644 --- a/src/Merge.Client/Hris/Locations/LocationsClient.cs +++ b/src/Merge.Client/Hris/Locations/LocationsClient.cs @@ -17,12 +17,10 @@ internal LocationsClient(RawClient client) /// /// Returns a list of `Location` objects. /// - /// - /// + /// /// await client.Hris.Locations.ListAsync(new LocationsListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( LocationsListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -88,8 +86,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["show_enum_origins"] = request.ShowEnumOrigins.Value.Stringify(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -100,35 +98,36 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a `Location` object with the given `id`. /// - /// - /// + /// /// await client.Hris.Locations.RetrieveAsync("id", new LocationsRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, LocationsRetrieveRequest request, RequestOptions? options = null, @@ -140,6 +139,10 @@ public async System.Threading.Tasks.Task RetrieveAsync( { _query["include_remote_data"] = JsonUtils.Serialize(request.IncludeRemoteData.Value); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } if (request.RemoteFields != null) { _query["remote_fields"] = request.RemoteFields.Value.Stringify(); @@ -149,35 +152,41 @@ public async System.Threading.Tasks.Task RetrieveAsync( _query["show_enum_origins"] = request.ShowEnumOrigins.Value.Stringify(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"hris/v1/locations/{id}", + Path = string.Format( + "hris/v1/locations/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Hris/Locations/Requests/LocationsListRequest.cs b/src/Merge.Client/Hris/Locations/Requests/LocationsListRequest.cs index dd79304c..a6c6f4bc 100644 --- a/src/Merge.Client/Hris/Locations/Requests/LocationsListRequest.cs +++ b/src/Merge.Client/Hris/Locations/Requests/LocationsListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Hris; @@ -7,71 +8,85 @@ public record LocationsListRequest /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, will only return locations with this location_type /// - /// - `HOME` - HOME - /// - `WORK` - WORK + /// * `HOME` - HOME + /// * `WORK` - WORK /// + [JsonIgnore] public LocationsListRequestLocationType? LocationType { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// Deprecated. Use show_enum_origins. /// + [JsonIgnore] public LocationsListRequestRemoteFields? RemoteFields { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } /// /// A comma separated list of enum field names for which you'd like the original values to be returned, instead of Merge's normalized enum values. [Learn more](https://help.merge.dev/en/articles/8950958-show_enum_origins-query-parameter) /// + [JsonIgnore] public LocationsListRequestShowEnumOrigins? ShowEnumOrigins { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Locations/Requests/LocationsRetrieveRequest.cs b/src/Merge.Client/Hris/Locations/Requests/LocationsRetrieveRequest.cs index 9af22b16..a2824405 100644 --- a/src/Merge.Client/Hris/Locations/Requests/LocationsRetrieveRequest.cs +++ b/src/Merge.Client/Hris/Locations/Requests/LocationsRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Hris; @@ -7,18 +8,28 @@ public record LocationsRetrieveRequest /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + /// /// Deprecated. Use show_enum_origins. /// + [JsonIgnore] public LocationsRetrieveRequestRemoteFields? RemoteFields { get; set; } /// /// A comma separated list of enum field names for which you'd like the original values to be returned, instead of Merge's normalized enum values. [Learn more](https://help.merge.dev/en/articles/8950958-show_enum_origins-query-parameter) /// + [JsonIgnore] public LocationsRetrieveRequestShowEnumOrigins? ShowEnumOrigins { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Passthrough/PassthroughClient.cs b/src/Merge.Client/Hris/Passthrough/PassthroughClient.cs index c4e7ba88..d7951ac7 100644 --- a/src/Merge.Client/Hris/Passthrough/PassthroughClient.cs +++ b/src/Merge.Client/Hris/Passthrough/PassthroughClient.cs @@ -17,8 +17,7 @@ internal PassthroughClient(RawClient client) /// /// Pull data from an endpoint not currently supported by Merge. /// - /// - /// + /// /// await client.Hris.Passthrough.CreateAsync( /// new Merge.Client.Hris.DataPassthroughRequest /// { @@ -26,17 +25,16 @@ internal PassthroughClient(RawClient client) /// Path = "/scooters", /// } /// ); - /// - /// - public async System.Threading.Tasks.Task CreateAsync( + /// + public async Task CreateAsync( DataPassthroughRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, @@ -48,23 +46,26 @@ public async System.Threading.Tasks.Task CreateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Hris/PayGroups/PayGroupsClient.cs b/src/Merge.Client/Hris/PayGroups/PayGroupsClient.cs index 2ef21bb9..9bd2e79d 100644 --- a/src/Merge.Client/Hris/PayGroups/PayGroupsClient.cs +++ b/src/Merge.Client/Hris/PayGroups/PayGroupsClient.cs @@ -17,12 +17,10 @@ internal PayGroupsClient(RawClient client) /// /// Returns a list of `PayGroup` objects. /// - /// - /// + /// /// await client.Hris.PayGroups.ListAsync(new PayGroupsListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( PayGroupsListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -76,8 +74,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["remote_id"] = request.RemoteId; } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -88,35 +86,36 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a `PayGroup` object with the given `id`. /// - /// - /// + /// /// await client.Hris.PayGroups.RetrieveAsync("id", new PayGroupsRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, PayGroupsRetrieveRequest request, RequestOptions? options = null, @@ -128,36 +127,46 @@ public async System.Threading.Tasks.Task RetrieveAsync( { _query["include_remote_data"] = JsonUtils.Serialize(request.IncludeRemoteData.Value); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"hris/v1/pay-groups/{id}", + Path = string.Format( + "hris/v1/pay-groups/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Hris/PayGroups/Requests/PayGroupsListRequest.cs b/src/Merge.Client/Hris/PayGroups/Requests/PayGroupsListRequest.cs index 31312a1d..e440a5ec 100644 --- a/src/Merge.Client/Hris/PayGroups/Requests/PayGroupsListRequest.cs +++ b/src/Merge.Client/Hris/PayGroups/Requests/PayGroupsListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Hris; @@ -7,53 +8,64 @@ public record PayGroupsListRequest /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/PayGroups/Requests/PayGroupsRetrieveRequest.cs b/src/Merge.Client/Hris/PayGroups/Requests/PayGroupsRetrieveRequest.cs index 09030010..e7176b1d 100644 --- a/src/Merge.Client/Hris/PayGroups/Requests/PayGroupsRetrieveRequest.cs +++ b/src/Merge.Client/Hris/PayGroups/Requests/PayGroupsRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Hris; @@ -7,8 +8,16 @@ public record PayGroupsRetrieveRequest /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/PayrollRuns/PayrollRunsClient.cs b/src/Merge.Client/Hris/PayrollRuns/PayrollRunsClient.cs index b636d676..36b5c4ac 100644 --- a/src/Merge.Client/Hris/PayrollRuns/PayrollRunsClient.cs +++ b/src/Merge.Client/Hris/PayrollRuns/PayrollRunsClient.cs @@ -17,12 +17,10 @@ internal PayrollRunsClient(RawClient client) /// /// Returns a list of `PayrollRun` objects. /// - /// - /// + /// /// await client.Hris.PayrollRuns.ListAsync(new PayrollRunsListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( PayrollRunsListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -106,8 +104,8 @@ public async System.Threading.Tasks.Task ListAsync( ); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -118,35 +116,36 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a `PayrollRun` object with the given `id`. /// - /// - /// + /// /// await client.Hris.PayrollRuns.RetrieveAsync("id", new PayrollRunsRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, PayrollRunsRetrieveRequest request, RequestOptions? options = null, @@ -158,6 +157,10 @@ public async System.Threading.Tasks.Task RetrieveAsync( { _query["include_remote_data"] = JsonUtils.Serialize(request.IncludeRemoteData.Value); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } if (request.RemoteFields != null) { _query["remote_fields"] = request.RemoteFields.Value.Stringify(); @@ -167,35 +170,41 @@ public async System.Threading.Tasks.Task RetrieveAsync( _query["show_enum_origins"] = request.ShowEnumOrigins.Value.Stringify(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"hris/v1/payroll-runs/{id}", + Path = string.Format( + "hris/v1/payroll-runs/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Hris/PayrollRuns/Requests/PayrollRunsListRequest.cs b/src/Merge.Client/Hris/PayrollRuns/Requests/PayrollRunsListRequest.cs index a485f5a8..05687f07 100644 --- a/src/Merge.Client/Hris/PayrollRuns/Requests/PayrollRunsListRequest.cs +++ b/src/Merge.Client/Hris/PayrollRuns/Requests/PayrollRunsListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Hris; @@ -7,94 +8,112 @@ public record PayrollRunsListRequest /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// If provided, will only return payroll runs ended after this datetime. /// + [JsonIgnore] public DateTime? EndedAfter { get; set; } /// /// If provided, will only return payroll runs ended before this datetime. /// + [JsonIgnore] public DateTime? EndedBefore { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// Deprecated. Use show_enum_origins. /// + [JsonIgnore] public PayrollRunsListRequestRemoteFields? RemoteFields { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } /// /// If provided, will only return PayrollRun's with this status. Options: ('REGULAR', 'OFF_CYCLE', 'CORRECTION', 'TERMINATION', 'SIGN_ON_BONUS') /// - /// - `REGULAR` - REGULAR - /// - `OFF_CYCLE` - OFF_CYCLE - /// - `CORRECTION` - CORRECTION - /// - `TERMINATION` - TERMINATION - /// - `SIGN_ON_BONUS` - SIGN_ON_BONUS + /// * `REGULAR` - REGULAR + /// * `OFF_CYCLE` - OFF_CYCLE + /// * `CORRECTION` - CORRECTION + /// * `TERMINATION` - TERMINATION + /// * `SIGN_ON_BONUS` - SIGN_ON_BONUS /// + [JsonIgnore] public PayrollRunsListRequestRunType? RunType { get; set; } /// /// A comma separated list of enum field names for which you'd like the original values to be returned, instead of Merge's normalized enum values. [Learn more](https://help.merge.dev/en/articles/8950958-show_enum_origins-query-parameter) /// + [JsonIgnore] public PayrollRunsListRequestShowEnumOrigins? ShowEnumOrigins { get; set; } /// /// If provided, will only return payroll runs started after this datetime. /// + [JsonIgnore] public DateTime? StartedAfter { get; set; } /// /// If provided, will only return payroll runs started before this datetime. /// + [JsonIgnore] public DateTime? StartedBefore { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/PayrollRuns/Requests/PayrollRunsRetrieveRequest.cs b/src/Merge.Client/Hris/PayrollRuns/Requests/PayrollRunsRetrieveRequest.cs index b530783d..12e499a4 100644 --- a/src/Merge.Client/Hris/PayrollRuns/Requests/PayrollRunsRetrieveRequest.cs +++ b/src/Merge.Client/Hris/PayrollRuns/Requests/PayrollRunsRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Hris; @@ -7,18 +8,28 @@ public record PayrollRunsRetrieveRequest /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + /// /// Deprecated. Use show_enum_origins. /// + [JsonIgnore] public PayrollRunsRetrieveRequestRemoteFields? RemoteFields { get; set; } /// /// A comma separated list of enum field names for which you'd like the original values to be returned, instead of Merge's normalized enum values. [Learn more](https://help.merge.dev/en/articles/8950958-show_enum_origins-query-parameter) /// + [JsonIgnore] public PayrollRunsRetrieveRequestShowEnumOrigins? ShowEnumOrigins { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/RegenerateKey/RegenerateKeyClient.cs b/src/Merge.Client/Hris/RegenerateKey/RegenerateKeyClient.cs index 3bde9ca4..aba7d026 100644 --- a/src/Merge.Client/Hris/RegenerateKey/RegenerateKeyClient.cs +++ b/src/Merge.Client/Hris/RegenerateKey/RegenerateKeyClient.cs @@ -17,22 +17,20 @@ internal RegenerateKeyClient(RawClient client) /// /// Exchange remote keys. /// - /// - /// + /// /// await client.Hris.RegenerateKey.CreateAsync( /// new RemoteKeyForRegenerationRequest { Name = "Remote Deployment Key 1" } /// ); - /// - /// - public async System.Threading.Tasks.Task CreateAsync( + /// + public async Task CreateAsync( RemoteKeyForRegenerationRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, @@ -44,23 +42,26 @@ public async System.Threading.Tasks.Task CreateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Hris/RegenerateKey/Requests/RemoteKeyForRegenerationRequest.cs b/src/Merge.Client/Hris/RegenerateKey/Requests/RemoteKeyForRegenerationRequest.cs index 2dc55cd3..09ca470c 100644 --- a/src/Merge.Client/Hris/RegenerateKey/Requests/RemoteKeyForRegenerationRequest.cs +++ b/src/Merge.Client/Hris/RegenerateKey/Requests/RemoteKeyForRegenerationRequest.cs @@ -11,6 +11,7 @@ public record RemoteKeyForRegenerationRequest [JsonPropertyName("name")] public required string Name { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Scopes/Requests/LinkedAccountCommonModelScopeDeserializerRequest.cs b/src/Merge.Client/Hris/Scopes/Requests/LinkedAccountCommonModelScopeDeserializerRequest.cs index 8fad5535..9753e941 100644 --- a/src/Merge.Client/Hris/Scopes/Requests/LinkedAccountCommonModelScopeDeserializerRequest.cs +++ b/src/Merge.Client/Hris/Scopes/Requests/LinkedAccountCommonModelScopeDeserializerRequest.cs @@ -12,6 +12,7 @@ public record LinkedAccountCommonModelScopeDeserializerRequest public IEnumerable CommonModels { get; set; } = new List(); + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Scopes/ScopesClient.cs b/src/Merge.Client/Hris/Scopes/ScopesClient.cs index bd29e931..356d42bc 100644 --- a/src/Merge.Client/Hris/Scopes/ScopesClient.cs +++ b/src/Merge.Client/Hris/Scopes/ScopesClient.cs @@ -17,19 +17,17 @@ internal ScopesClient(RawClient client) /// /// Get the default permissions for Merge Common Models and fields across all Linked Accounts of a given category. [Learn more](https://help.merge.dev/en/articles/5950052-common-model-and-field-scopes). /// - /// - /// + /// /// await client.Hris.Scopes.DefaultScopesRetrieveAsync(); - /// - /// - public async System.Threading.Tasks.Task DefaultScopesRetrieveAsync( + /// + public async Task DefaultScopesRetrieveAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -39,42 +37,43 @@ public async System.Threading.Tasks.Task DefaultScopesRetri cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Get all available permissions for Merge Common Models and fields for a single Linked Account. [Learn more](https://help.merge.dev/en/articles/5950052-common-model-and-field-scopes). /// - /// - /// + /// /// await client.Hris.Scopes.LinkedAccountScopesRetrieveAsync(); - /// - /// - public async System.Threading.Tasks.Task LinkedAccountScopesRetrieveAsync( + /// + public async Task LinkedAccountScopesRetrieveAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -84,31 +83,33 @@ public async System.Threading.Tasks.Task LinkedAccountScope cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Update permissions for any Common Model or field for a single Linked Account. Any Scopes not set in this POST request will inherit the default Scopes. [Learn more](https://help.merge.dev/en/articles/5950052-common-model-and-field-scopes) /// - /// - /// + /// /// await client.Hris.Scopes.LinkedAccountScopesCreateAsync( /// new LinkedAccountCommonModelScopeDeserializerRequest /// { @@ -163,17 +164,16 @@ public async System.Threading.Tasks.Task LinkedAccountScope /// }, /// } /// ); - /// - /// - public async System.Threading.Tasks.Task LinkedAccountScopesCreateAsync( + /// + public async Task LinkedAccountScopesCreateAsync( LinkedAccountCommonModelScopeDeserializerRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, @@ -185,23 +185,26 @@ public async System.Threading.Tasks.Task LinkedAccountScope cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Hris/SyncStatus/Requests/SyncStatusListRequest.cs b/src/Merge.Client/Hris/SyncStatus/Requests/SyncStatusListRequest.cs index b1289107..fed510f4 100644 --- a/src/Merge.Client/Hris/SyncStatus/Requests/SyncStatusListRequest.cs +++ b/src/Merge.Client/Hris/SyncStatus/Requests/SyncStatusListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Hris; @@ -7,13 +8,16 @@ public record SyncStatusListRequest /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/SyncStatus/SyncStatusClient.cs b/src/Merge.Client/Hris/SyncStatus/SyncStatusClient.cs index 967d49c6..bcc5dd47 100644 --- a/src/Merge.Client/Hris/SyncStatus/SyncStatusClient.cs +++ b/src/Merge.Client/Hris/SyncStatus/SyncStatusClient.cs @@ -15,14 +15,12 @@ internal SyncStatusClient(RawClient client) } /// - /// Get syncing status. Possible values: `DISABLED`, `DONE`, `FAILED`, `PARTIALLY_SYNCED`, `PAUSED`, `SYNCING`. Learn more about sync status in our [Help Center](https://help.merge.dev/en/articles/8184193-merge-sync-statuses). + /// Get sync status for the current sync and the most recently finished sync. `last_sync_start` represents the most recent time any sync began. `last_sync_finished` represents the most recent time any sync completed. These timestamps may correspond to different sync instances which may result in a sync start time being later than a separate sync completed time. To ensure you are retrieving the latest available data reference the `last_sync_finished` timestamp where `last_sync_result` is `DONE`. Possible values for `status` and `last_sync_result` are `DISABLED`, `DONE`, `FAILED`, `PARTIALLY_SYNCED`, `PAUSED`, `SYNCING`. Learn more about sync status in our [Help Center](https://help.merge.dev/en/articles/8184193-merge-sync-statuses). /// - /// - /// + /// /// await client.Hris.SyncStatus.ListAsync(new SyncStatusListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( SyncStatusListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -38,8 +36,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["page_size"] = request.PageSize.Value.ToString(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -50,23 +48,26 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Hris/Teams/Requests/TeamsListRequest.cs b/src/Merge.Client/Hris/Teams/Requests/TeamsListRequest.cs index d25f1b2b..8f035479 100644 --- a/src/Merge.Client/Hris/Teams/Requests/TeamsListRequest.cs +++ b/src/Merge.Client/Hris/Teams/Requests/TeamsListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Hris; @@ -7,63 +8,76 @@ public record TeamsListRequest /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public string? Expand { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// If provided, will only return teams with this parent team. /// + [JsonIgnore] public string? ParentTeamId { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Teams/Requests/TeamsRetrieveRequest.cs b/src/Merge.Client/Hris/Teams/Requests/TeamsRetrieveRequest.cs index 9129f251..f0bce2a6 100644 --- a/src/Merge.Client/Hris/Teams/Requests/TeamsRetrieveRequest.cs +++ b/src/Merge.Client/Hris/Teams/Requests/TeamsRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Hris; @@ -7,13 +8,22 @@ public record TeamsRetrieveRequest /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public string? Expand { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Teams/TeamsClient.cs b/src/Merge.Client/Hris/Teams/TeamsClient.cs index b7121ca2..1ff49cc0 100644 --- a/src/Merge.Client/Hris/Teams/TeamsClient.cs +++ b/src/Merge.Client/Hris/Teams/TeamsClient.cs @@ -17,12 +17,10 @@ internal TeamsClient(RawClient client) /// /// Returns a list of `Team` objects. /// - /// - /// + /// /// await client.Hris.Teams.ListAsync(new TeamsListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( TeamsListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -84,8 +82,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["remote_id"] = request.RemoteId; } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -96,35 +94,36 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a `Team` object with the given `id`. /// - /// - /// + /// /// await client.Hris.Teams.RetrieveAsync("id", new TeamsRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, TeamsRetrieveRequest request, RequestOptions? options = null, @@ -140,36 +139,46 @@ public async System.Threading.Tasks.Task RetrieveAsync( { _query["include_remote_data"] = JsonUtils.Serialize(request.IncludeRemoteData.Value); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"hris/v1/teams/{id}", + Path = string.Format( + "hris/v1/teams/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Hris/TimeOff/Requests/TimeOffEndpointRequest.cs b/src/Merge.Client/Hris/TimeOff/Requests/TimeOffEndpointRequest.cs index 89c99a9c..544fb7b1 100644 --- a/src/Merge.Client/Hris/TimeOff/Requests/TimeOffEndpointRequest.cs +++ b/src/Merge.Client/Hris/TimeOff/Requests/TimeOffEndpointRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Hris; @@ -7,15 +8,19 @@ public record TimeOffEndpointRequest /// /// Whether to include debug fields (such as log file links) in the response. /// + [JsonIgnore] public bool? IsDebugMode { get; set; } /// /// Whether or not third-party updates should be run asynchronously. /// + [JsonIgnore] public bool? RunAsync { get; set; } + [JsonPropertyName("model")] public required TimeOffRequest Model { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/TimeOff/Requests/TimeOffListRequest.cs b/src/Merge.Client/Hris/TimeOff/Requests/TimeOffListRequest.cs index 35aa0722..04d9af0e 100644 --- a/src/Merge.Client/Hris/TimeOff/Requests/TimeOffListRequest.cs +++ b/src/Merge.Client/Hris/TimeOff/Requests/TimeOffListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Hris; @@ -7,121 +8,143 @@ public record TimeOffListRequest /// /// If provided, will only return time off for this approver. /// + [JsonIgnore] public string? ApproverId { get; set; } /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// If provided, will only return time off for this employee. /// + [JsonIgnore] public string? EmployeeId { get; set; } /// /// If provided, will only return employees that ended after this datetime. /// + [JsonIgnore] public DateTime? EndedAfter { get; set; } /// /// If provided, will only return time-offs that ended before this datetime. /// + [JsonIgnore] public DateTime? EndedBefore { get; set; } /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public TimeOffListRequestExpand? Expand { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// Deprecated. Use show_enum_origins. /// + [JsonIgnore] public TimeOffListRequestRemoteFields? RemoteFields { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } /// /// If provided, will only return TimeOff with this request type. Options: ('VACATION', 'SICK', 'PERSONAL', 'JURY_DUTY', 'VOLUNTEER', 'BEREAVEMENT') /// - /// - `VACATION` - VACATION - /// - `SICK` - SICK - /// - `PERSONAL` - PERSONAL - /// - `JURY_DUTY` - JURY_DUTY - /// - `VOLUNTEER` - VOLUNTEER - /// - `BEREAVEMENT` - BEREAVEMENT - /// + /// * `VACATION` - VACATION + /// * `SICK` - SICK + /// * `PERSONAL` - PERSONAL + /// * `JURY_DUTY` - JURY_DUTY + /// * `VOLUNTEER` - VOLUNTEER + /// * `BEREAVEMENT` - BEREAVEMENT + /// + [JsonIgnore] public TimeOffListRequestRequestType? RequestType { get; set; } /// /// A comma separated list of enum field names for which you'd like the original values to be returned, instead of Merge's normalized enum values. [Learn more](https://help.merge.dev/en/articles/8950958-show_enum_origins-query-parameter) /// + [JsonIgnore] public TimeOffListRequestShowEnumOrigins? ShowEnumOrigins { get; set; } /// /// If provided, will only return time-offs that started after this datetime. /// + [JsonIgnore] public DateTime? StartedAfter { get; set; } /// /// If provided, will only return time-offs that started before this datetime. /// + [JsonIgnore] public DateTime? StartedBefore { get; set; } /// /// If provided, will only return TimeOff with this status. Options: ('REQUESTED', 'APPROVED', 'DECLINED', 'CANCELLED', 'DELETED') /// - /// - `REQUESTED` - REQUESTED - /// - `APPROVED` - APPROVED - /// - `DECLINED` - DECLINED - /// - `CANCELLED` - CANCELLED - /// - `DELETED` - DELETED + /// * `REQUESTED` - REQUESTED + /// * `APPROVED` - APPROVED + /// * `DECLINED` - DECLINED + /// * `CANCELLED` - CANCELLED + /// * `DELETED` - DELETED /// + [JsonIgnore] public TimeOffListRequestStatus? Status { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/TimeOff/Requests/TimeOffRetrieveRequest.cs b/src/Merge.Client/Hris/TimeOff/Requests/TimeOffRetrieveRequest.cs index 2828f2a0..e5ccbd5e 100644 --- a/src/Merge.Client/Hris/TimeOff/Requests/TimeOffRetrieveRequest.cs +++ b/src/Merge.Client/Hris/TimeOff/Requests/TimeOffRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Hris; @@ -7,23 +8,34 @@ public record TimeOffRetrieveRequest /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public TimeOffRetrieveRequestExpand? Expand { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + /// /// Deprecated. Use show_enum_origins. /// + [JsonIgnore] public TimeOffRetrieveRequestRemoteFields? RemoteFields { get; set; } /// /// A comma separated list of enum field names for which you'd like the original values to be returned, instead of Merge's normalized enum values. [Learn more](https://help.merge.dev/en/articles/8950958-show_enum_origins-query-parameter) /// + [JsonIgnore] public TimeOffRetrieveRequestShowEnumOrigins? ShowEnumOrigins { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/TimeOff/TimeOffClient.cs b/src/Merge.Client/Hris/TimeOff/TimeOffClient.cs index 4a0f13b7..daa9b6a8 100644 --- a/src/Merge.Client/Hris/TimeOff/TimeOffClient.cs +++ b/src/Merge.Client/Hris/TimeOff/TimeOffClient.cs @@ -17,12 +17,10 @@ internal TimeOffClient(RawClient client) /// /// Returns a list of `TimeOff` objects. /// - /// - /// + /// /// await client.Hris.TimeOff.ListAsync(new TimeOffListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( TimeOffListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -122,8 +120,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["status"] = request.Status.Value.Stringify(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -134,35 +132,36 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Creates a `TimeOff` object with the given values. /// - /// - /// + /// /// await client.Hris.TimeOff.CreateAsync(new TimeOffEndpointRequest { Model = new TimeOffRequest() }); - /// - /// - public async System.Threading.Tasks.Task CreateAsync( + /// + public async Task CreateAsync( TimeOffEndpointRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -177,15 +176,14 @@ public async System.Threading.Tasks.Task CreateAsync( { _query["run_async"] = JsonUtils.Serialize(request.RunAsync.Value); } - var requestBody = new Dictionary() { { "model", request.Model } }; var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, Path = "hris/v1/time-off", - Body = requestBody, + Body = request, Query = _query, ContentType = "application/json", Options = options, @@ -193,35 +191,36 @@ public async System.Threading.Tasks.Task CreateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a `TimeOff` object with the given `id`. /// - /// - /// + /// /// await client.Hris.TimeOff.RetrieveAsync("id", new TimeOffRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, TimeOffRetrieveRequest request, RequestOptions? options = null, @@ -237,6 +236,10 @@ public async System.Threading.Tasks.Task RetrieveAsync( { _query["include_remote_data"] = JsonUtils.Serialize(request.IncludeRemoteData.Value); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } if (request.RemoteFields != null) { _query["remote_fields"] = request.RemoteFields.Value.Stringify(); @@ -246,54 +249,58 @@ public async System.Threading.Tasks.Task RetrieveAsync( _query["show_enum_origins"] = request.ShowEnumOrigins.Value.Stringify(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"hris/v1/time-off/{id}", + Path = string.Format( + "hris/v1/time-off/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns metadata for `TimeOff` POSTs. /// - /// - /// + /// /// await client.Hris.TimeOff.MetaPostRetrieveAsync(); - /// - /// - public async System.Threading.Tasks.Task MetaPostRetrieveAsync( + /// + public async Task MetaPostRetrieveAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -303,23 +310,26 @@ public async System.Threading.Tasks.Task MetaPostRetrieveAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Hris/TimeOffBalances/Requests/TimeOffBalancesListRequest.cs b/src/Merge.Client/Hris/TimeOffBalances/Requests/TimeOffBalancesListRequest.cs index 5a45ce38..f58c045e 100644 --- a/src/Merge.Client/Hris/TimeOffBalances/Requests/TimeOffBalancesListRequest.cs +++ b/src/Merge.Client/Hris/TimeOffBalances/Requests/TimeOffBalancesListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Hris; @@ -7,85 +8,101 @@ public record TimeOffBalancesListRequest /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// If provided, will only return time off balances for this employee. /// + [JsonIgnore] public string? EmployeeId { get; set; } /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public string? Expand { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// If provided, will only return TimeOffBalance with this policy type. Options: ('VACATION', 'SICK', 'PERSONAL', 'JURY_DUTY', 'VOLUNTEER', 'BEREAVEMENT') /// - /// - `VACATION` - VACATION - /// - `SICK` - SICK - /// - `PERSONAL` - PERSONAL - /// - `JURY_DUTY` - JURY_DUTY - /// - `VOLUNTEER` - VOLUNTEER - /// - `BEREAVEMENT` - BEREAVEMENT + /// * `VACATION` - VACATION + /// * `SICK` - SICK + /// * `PERSONAL` - PERSONAL + /// * `JURY_DUTY` - JURY_DUTY + /// * `VOLUNTEER` - VOLUNTEER + /// * `BEREAVEMENT` - BEREAVEMENT /// + [JsonIgnore] public TimeOffBalancesListRequestPolicyType? PolicyType { get; set; } /// /// Deprecated. Use show_enum_origins. /// + [JsonIgnore] public string? RemoteFields { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } /// /// A comma separated list of enum field names for which you'd like the original values to be returned, instead of Merge's normalized enum values. [Learn more](https://help.merge.dev/en/articles/8950958-show_enum_origins-query-parameter) /// + [JsonIgnore] public string? ShowEnumOrigins { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/TimeOffBalances/Requests/TimeOffBalancesRetrieveRequest.cs b/src/Merge.Client/Hris/TimeOffBalances/Requests/TimeOffBalancesRetrieveRequest.cs index 585f94d9..832dc90a 100644 --- a/src/Merge.Client/Hris/TimeOffBalances/Requests/TimeOffBalancesRetrieveRequest.cs +++ b/src/Merge.Client/Hris/TimeOffBalances/Requests/TimeOffBalancesRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Hris; @@ -7,23 +8,34 @@ public record TimeOffBalancesRetrieveRequest /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public string? Expand { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + /// /// Deprecated. Use show_enum_origins. /// + [JsonIgnore] public string? RemoteFields { get; set; } /// /// A comma separated list of enum field names for which you'd like the original values to be returned, instead of Merge's normalized enum values. [Learn more](https://help.merge.dev/en/articles/8950958-show_enum_origins-query-parameter) /// + [JsonIgnore] public string? ShowEnumOrigins { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/TimeOffBalances/TimeOffBalancesClient.cs b/src/Merge.Client/Hris/TimeOffBalances/TimeOffBalancesClient.cs index ee6e03b7..75886388 100644 --- a/src/Merge.Client/Hris/TimeOffBalances/TimeOffBalancesClient.cs +++ b/src/Merge.Client/Hris/TimeOffBalances/TimeOffBalancesClient.cs @@ -17,12 +17,10 @@ internal TimeOffBalancesClient(RawClient client) /// /// Returns a list of `TimeOffBalance` objects. /// - /// - /// + /// /// await client.Hris.TimeOffBalances.ListAsync(new TimeOffBalancesListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( TimeOffBalancesListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -96,8 +94,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["show_enum_origins"] = request.ShowEnumOrigins.ToString(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -108,35 +106,36 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a `TimeOffBalance` object with the given `id`. /// - /// - /// + /// /// await client.Hris.TimeOffBalances.RetrieveAsync("id", new TimeOffBalancesRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, TimeOffBalancesRetrieveRequest request, RequestOptions? options = null, @@ -152,6 +151,10 @@ public async System.Threading.Tasks.Task RetrieveAsync( { _query["include_remote_data"] = JsonUtils.Serialize(request.IncludeRemoteData.Value); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } if (request.RemoteFields != null) { _query["remote_fields"] = request.RemoteFields.ToString(); @@ -161,35 +164,41 @@ public async System.Threading.Tasks.Task RetrieveAsync( _query["show_enum_origins"] = request.ShowEnumOrigins.ToString(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"hris/v1/time-off-balances/{id}", + Path = string.Format( + "hris/v1/time-off-balances/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Hris/TimesheetEntries/Requests/TimesheetEntriesListRequest.cs b/src/Merge.Client/Hris/TimesheetEntries/Requests/TimesheetEntriesListRequest.cs index dc90c56f..6c67d490 100644 --- a/src/Merge.Client/Hris/TimesheetEntries/Requests/TimesheetEntriesListRequest.cs +++ b/src/Merge.Client/Hris/TimesheetEntries/Requests/TimesheetEntriesListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Hris; @@ -7,88 +8,106 @@ public record TimesheetEntriesListRequest /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// If provided, will only return timesheet entries for this employee. /// + [JsonIgnore] public string? EmployeeId { get; set; } /// /// If provided, will only return timesheet entries ended after this datetime. /// + [JsonIgnore] public DateTime? EndedAfter { get; set; } /// /// If provided, will only return timesheet entries ended before this datetime. /// + [JsonIgnore] public DateTime? EndedBefore { get; set; } /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public string? Expand { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// Overrides the default ordering for this endpoint. Possible values include: start_time, -start_time. /// + [JsonIgnore] public TimesheetEntriesListRequestOrderBy? OrderBy { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } /// /// If provided, will only return timesheet entries started after this datetime. /// + [JsonIgnore] public DateTime? StartedAfter { get; set; } /// /// If provided, will only return timesheet entries started before this datetime. /// + [JsonIgnore] public DateTime? StartedBefore { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/TimesheetEntries/Requests/TimesheetEntriesRetrieveRequest.cs b/src/Merge.Client/Hris/TimesheetEntries/Requests/TimesheetEntriesRetrieveRequest.cs index 915fc818..6c7ad899 100644 --- a/src/Merge.Client/Hris/TimesheetEntries/Requests/TimesheetEntriesRetrieveRequest.cs +++ b/src/Merge.Client/Hris/TimesheetEntries/Requests/TimesheetEntriesRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Hris; @@ -7,13 +8,22 @@ public record TimesheetEntriesRetrieveRequest /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public string? Expand { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/TimesheetEntries/Requests/TimesheetEntryEndpointRequest.cs b/src/Merge.Client/Hris/TimesheetEntries/Requests/TimesheetEntryEndpointRequest.cs index 6a317a18..e423a1c3 100644 --- a/src/Merge.Client/Hris/TimesheetEntries/Requests/TimesheetEntryEndpointRequest.cs +++ b/src/Merge.Client/Hris/TimesheetEntries/Requests/TimesheetEntryEndpointRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Hris; @@ -7,15 +8,19 @@ public record TimesheetEntryEndpointRequest /// /// Whether to include debug fields (such as log file links) in the response. /// + [JsonIgnore] public bool? IsDebugMode { get; set; } /// /// Whether or not third-party updates should be run asynchronously. /// + [JsonIgnore] public bool? RunAsync { get; set; } + [JsonPropertyName("model")] public required TimesheetEntryRequest Model { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/TimesheetEntries/TimesheetEntriesClient.cs b/src/Merge.Client/Hris/TimesheetEntries/TimesheetEntriesClient.cs index 350fe1ad..eec9ee93 100644 --- a/src/Merge.Client/Hris/TimesheetEntries/TimesheetEntriesClient.cs +++ b/src/Merge.Client/Hris/TimesheetEntries/TimesheetEntriesClient.cs @@ -17,12 +17,10 @@ internal TimesheetEntriesClient(RawClient client) /// /// Returns a list of `TimesheetEntry` objects. /// - /// - /// + /// /// await client.Hris.TimesheetEntries.ListAsync(new TimesheetEntriesListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( TimesheetEntriesListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -106,8 +104,8 @@ public async System.Threading.Tasks.Task ListAsync( ); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -118,37 +116,38 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Creates a `TimesheetEntry` object with the given values. /// - /// - /// + /// /// await client.Hris.TimesheetEntries.CreateAsync( /// new TimesheetEntryEndpointRequest { Model = new TimesheetEntryRequest() } /// ); - /// - /// - public async System.Threading.Tasks.Task CreateAsync( + /// + public async Task CreateAsync( TimesheetEntryEndpointRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -163,15 +162,14 @@ public async System.Threading.Tasks.Task CreateAsync( { _query["run_async"] = JsonUtils.Serialize(request.RunAsync.Value); } - var requestBody = new Dictionary() { { "model", request.Model } }; var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, Path = "hris/v1/timesheet-entries", - Body = requestBody, + Body = request, Query = _query, ContentType = "application/json", Options = options, @@ -179,35 +177,36 @@ public async System.Threading.Tasks.Task CreateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a `TimesheetEntry` object with the given `id`. /// - /// - /// + /// /// await client.Hris.TimesheetEntries.RetrieveAsync("id", new TimesheetEntriesRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, TimesheetEntriesRetrieveRequest request, RequestOptions? options = null, @@ -223,55 +222,63 @@ public async System.Threading.Tasks.Task RetrieveAsync( { _query["include_remote_data"] = JsonUtils.Serialize(request.IncludeRemoteData.Value); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"hris/v1/timesheet-entries/{id}", + Path = string.Format( + "hris/v1/timesheet-entries/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns metadata for `TimesheetEntry` POSTs. /// - /// - /// + /// /// await client.Hris.TimesheetEntries.MetaPostRetrieveAsync(); - /// - /// - public async System.Threading.Tasks.Task MetaPostRetrieveAsync( + /// + public async Task MetaPostRetrieveAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -281,23 +288,26 @@ public async System.Threading.Tasks.Task MetaPostRetrieveAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Hris/Types/AccountDetails.cs b/src/Merge.Client/Hris/Types/AccountDetails.cs index 475728b6..9aa3bb5b 100644 --- a/src/Merge.Client/Hris/Types/AccountDetails.cs +++ b/src/Merge.Client/Hris/Types/AccountDetails.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -5,39 +6,49 @@ namespace Merge.Client.Hris; public record AccountDetails { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("integration")] public string? Integration { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("integration_slug")] public string? IntegrationSlug { get; set; } [JsonPropertyName("category")] public CategoryEnum? Category { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("end_user_origin_id")] public string? EndUserOriginId { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("end_user_organization_name")] public string? EndUserOrganizationName { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("end_user_email_address")] public string? EndUserEmailAddress { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("status")] public string? Status { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("webhook_listener_url")] public string? WebhookListenerUrl { get; set; } /// /// Whether a Production Linked Account's credentials match another existing Production Linked Account. This field is `null` for Test Linked Accounts, incomplete Production Linked Accounts, and ignored duplicate Production Linked Account sets. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("is_duplicate")] public bool? IsDuplicate { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("account_type")] public string? AccountType { get; set; } @@ -47,6 +58,17 @@ public record AccountDetails [JsonPropertyName("completed_at")] public DateTime? CompletedAt { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/AccountDetailsAndActions.cs b/src/Merge.Client/Hris/Types/AccountDetailsAndActions.cs index 4f2c5db2..0e661517 100644 --- a/src/Merge.Client/Hris/Types/AccountDetailsAndActions.cs +++ b/src/Merge.Client/Hris/Types/AccountDetailsAndActions.cs @@ -1,8 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Hris; +/// +/// # The LinkedAccount Object +/// ### Description +/// The `LinkedAccount` object is used to represent an end user's link with a specific integration. +/// +/// ### Usage Example +/// View a list of your organization's `LinkedAccount` objects. +/// public record AccountDetailsAndActions { [JsonPropertyName("id")] @@ -50,6 +59,17 @@ public record AccountDetailsAndActions [JsonPropertyName("completed_at")] public required DateTime CompletedAt { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/AccountDetailsAndActionsIntegration.cs b/src/Merge.Client/Hris/Types/AccountDetailsAndActionsIntegration.cs index 12c1bb5e..a99b349f 100644 --- a/src/Merge.Client/Hris/Types/AccountDetailsAndActionsIntegration.cs +++ b/src/Merge.Client/Hris/Types/AccountDetailsAndActionsIntegration.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -29,6 +30,17 @@ public record AccountDetailsAndActionsIntegration [JsonPropertyName("available_model_operations")] public IEnumerable? AvailableModelOperations { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/AccountIntegration.cs b/src/Merge.Client/Hris/Types/AccountIntegration.cs index 4605f22f..aa333be7 100644 --- a/src/Merge.Client/Hris/Types/AccountIntegration.cs +++ b/src/Merge.Client/Hris/Types/AccountIntegration.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -20,6 +21,7 @@ public record AccountIntegration /// /// Category or categories this integration belongs to. Multiple categories should be comma separated, i.e. [ats, hris]. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("categories")] public IEnumerable? Categories { get; set; } @@ -41,6 +43,7 @@ public record AccountIntegration [JsonPropertyName("color")] public string? Color { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("slug")] public string? Slug { get; set; } @@ -59,9 +62,21 @@ public record AccountIntegration /// /// Category or categories this integration is in beta status for. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("category_beta_status")] public Dictionary? CategoryBetaStatus { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/AccountToken.cs b/src/Merge.Client/Hris/Types/AccountToken.cs index 7f989621..553e0b10 100644 --- a/src/Merge.Client/Hris/Types/AccountToken.cs +++ b/src/Merge.Client/Hris/Types/AccountToken.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -11,6 +12,20 @@ public record AccountToken [JsonPropertyName("integration")] public required AccountIntegration Integration { get; set; } + [JsonPropertyName("id")] + public required string Id { get; set; } + + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/AdvancedMetadata.cs b/src/Merge.Client/Hris/Types/AdvancedMetadata.cs index 27713c37..43cef57e 100644 --- a/src/Merge.Client/Hris/Types/AdvancedMetadata.cs +++ b/src/Merge.Client/Hris/Types/AdvancedMetadata.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -23,6 +24,17 @@ public record AdvancedMetadata [JsonPropertyName("field_choices")] public IEnumerable? FieldChoices { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/AsyncPassthroughReciept.cs b/src/Merge.Client/Hris/Types/AsyncPassthroughReciept.cs index 9021a4c2..d0d3f82e 100644 --- a/src/Merge.Client/Hris/Types/AsyncPassthroughReciept.cs +++ b/src/Merge.Client/Hris/Types/AsyncPassthroughReciept.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -8,6 +9,17 @@ public record AsyncPassthroughReciept [JsonPropertyName("async_passthrough_receipt_id")] public required string AsyncPassthroughReceiptId { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/AuditLogEvent.cs b/src/Merge.Client/Hris/Types/AuditLogEvent.cs index 912cc139..624a4921 100644 --- a/src/Merge.Client/Hris/Types/AuditLogEvent.cs +++ b/src/Merge.Client/Hris/Types/AuditLogEvent.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -5,6 +6,7 @@ namespace Merge.Client.Hris; public record AuditLogEvent { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -23,12 +25,12 @@ public record AuditLogEvent /// /// Designates the role of the user (or SYSTEM/API if action not taken by a user) at the time of this Event occurring. /// - /// - `ADMIN` - ADMIN - /// - `DEVELOPER` - DEVELOPER - /// - `MEMBER` - MEMBER - /// - `API` - API - /// - `SYSTEM` - SYSTEM - /// - `MERGE_TEAM` - MERGE_TEAM + /// * `ADMIN` - ADMIN + /// * `DEVELOPER` - DEVELOPER + /// * `MEMBER` - MEMBER + /// * `API` - API + /// * `SYSTEM` - SYSTEM + /// * `MERGE_TEAM` - MERGE_TEAM /// [JsonPropertyName("role")] public required RoleEnum Role { get; set; } @@ -39,47 +41,48 @@ public record AuditLogEvent /// /// Designates the type of event that occurred. /// - /// - `CREATED_REMOTE_PRODUCTION_API_KEY` - CREATED_REMOTE_PRODUCTION_API_KEY - /// - `DELETED_REMOTE_PRODUCTION_API_KEY` - DELETED_REMOTE_PRODUCTION_API_KEY - /// - `CREATED_TEST_API_KEY` - CREATED_TEST_API_KEY - /// - `DELETED_TEST_API_KEY` - DELETED_TEST_API_KEY - /// - `REGENERATED_PRODUCTION_API_KEY` - REGENERATED_PRODUCTION_API_KEY - /// - `INVITED_USER` - INVITED_USER - /// - `TWO_FACTOR_AUTH_ENABLED` - TWO_FACTOR_AUTH_ENABLED - /// - `TWO_FACTOR_AUTH_DISABLED` - TWO_FACTOR_AUTH_DISABLED - /// - `DELETED_LINKED_ACCOUNT` - DELETED_LINKED_ACCOUNT - /// - `CREATED_DESTINATION` - CREATED_DESTINATION - /// - `DELETED_DESTINATION` - DELETED_DESTINATION - /// - `CHANGED_DESTINATION` - CHANGED_DESTINATION - /// - `CHANGED_SCOPES` - CHANGED_SCOPES - /// - `CHANGED_PERSONAL_INFORMATION` - CHANGED_PERSONAL_INFORMATION - /// - `CHANGED_ORGANIZATION_SETTINGS` - CHANGED_ORGANIZATION_SETTINGS - /// - `ENABLED_INTEGRATION` - ENABLED_INTEGRATION - /// - `DISABLED_INTEGRATION` - DISABLED_INTEGRATION - /// - `ENABLED_CATEGORY` - ENABLED_CATEGORY - /// - `DISABLED_CATEGORY` - DISABLED_CATEGORY - /// - `CHANGED_PASSWORD` - CHANGED_PASSWORD - /// - `RESET_PASSWORD` - RESET_PASSWORD - /// - `ENABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION` - ENABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION - /// - `ENABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT` - ENABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT - /// - `DISABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION` - DISABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION - /// - `DISABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT` - DISABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT - /// - `CREATED_INTEGRATION_WIDE_FIELD_MAPPING` - CREATED_INTEGRATION_WIDE_FIELD_MAPPING - /// - `CREATED_LINKED_ACCOUNT_FIELD_MAPPING` - CREATED_LINKED_ACCOUNT_FIELD_MAPPING - /// - `CHANGED_INTEGRATION_WIDE_FIELD_MAPPING` - CHANGED_INTEGRATION_WIDE_FIELD_MAPPING - /// - `CHANGED_LINKED_ACCOUNT_FIELD_MAPPING` - CHANGED_LINKED_ACCOUNT_FIELD_MAPPING - /// - `DELETED_INTEGRATION_WIDE_FIELD_MAPPING` - DELETED_INTEGRATION_WIDE_FIELD_MAPPING - /// - `DELETED_LINKED_ACCOUNT_FIELD_MAPPING` - DELETED_LINKED_ACCOUNT_FIELD_MAPPING - /// - `CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE` - CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE - /// - `CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE` - CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE - /// - `DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE` - DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE - /// - `FORCED_LINKED_ACCOUNT_RESYNC` - FORCED_LINKED_ACCOUNT_RESYNC - /// - `MUTED_ISSUE` - MUTED_ISSUE - /// - `GENERATED_MAGIC_LINK` - GENERATED_MAGIC_LINK - /// - `ENABLED_MERGE_WEBHOOK` - ENABLED_MERGE_WEBHOOK - /// - `DISABLED_MERGE_WEBHOOK` - DISABLED_MERGE_WEBHOOK - /// - `MERGE_WEBHOOK_TARGET_CHANGED` - MERGE_WEBHOOK_TARGET_CHANGED - /// - `END_USER_CREDENTIALS_ACCESSED` - END_USER_CREDENTIALS_ACCESSED + /// * `CREATED_REMOTE_PRODUCTION_API_KEY` - CREATED_REMOTE_PRODUCTION_API_KEY + /// * `DELETED_REMOTE_PRODUCTION_API_KEY` - DELETED_REMOTE_PRODUCTION_API_KEY + /// * `CREATED_TEST_API_KEY` - CREATED_TEST_API_KEY + /// * `DELETED_TEST_API_KEY` - DELETED_TEST_API_KEY + /// * `REGENERATED_PRODUCTION_API_KEY` - REGENERATED_PRODUCTION_API_KEY + /// * `INVITED_USER` - INVITED_USER + /// * `TWO_FACTOR_AUTH_ENABLED` - TWO_FACTOR_AUTH_ENABLED + /// * `TWO_FACTOR_AUTH_DISABLED` - TWO_FACTOR_AUTH_DISABLED + /// * `DELETED_LINKED_ACCOUNT` - DELETED_LINKED_ACCOUNT + /// * `DELETED_ALL_COMMON_MODELS_FOR_LINKED_ACCOUNT` - DELETED_ALL_COMMON_MODELS_FOR_LINKED_ACCOUNT + /// * `CREATED_DESTINATION` - CREATED_DESTINATION + /// * `DELETED_DESTINATION` - DELETED_DESTINATION + /// * `CHANGED_DESTINATION` - CHANGED_DESTINATION + /// * `CHANGED_SCOPES` - CHANGED_SCOPES + /// * `CHANGED_PERSONAL_INFORMATION` - CHANGED_PERSONAL_INFORMATION + /// * `CHANGED_ORGANIZATION_SETTINGS` - CHANGED_ORGANIZATION_SETTINGS + /// * `ENABLED_INTEGRATION` - ENABLED_INTEGRATION + /// * `DISABLED_INTEGRATION` - DISABLED_INTEGRATION + /// * `ENABLED_CATEGORY` - ENABLED_CATEGORY + /// * `DISABLED_CATEGORY` - DISABLED_CATEGORY + /// * `CHANGED_PASSWORD` - CHANGED_PASSWORD + /// * `RESET_PASSWORD` - RESET_PASSWORD + /// * `ENABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION` - ENABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION + /// * `ENABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT` - ENABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT + /// * `DISABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION` - DISABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION + /// * `DISABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT` - DISABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT + /// * `CREATED_INTEGRATION_WIDE_FIELD_MAPPING` - CREATED_INTEGRATION_WIDE_FIELD_MAPPING + /// * `CREATED_LINKED_ACCOUNT_FIELD_MAPPING` - CREATED_LINKED_ACCOUNT_FIELD_MAPPING + /// * `CHANGED_INTEGRATION_WIDE_FIELD_MAPPING` - CHANGED_INTEGRATION_WIDE_FIELD_MAPPING + /// * `CHANGED_LINKED_ACCOUNT_FIELD_MAPPING` - CHANGED_LINKED_ACCOUNT_FIELD_MAPPING + /// * `DELETED_INTEGRATION_WIDE_FIELD_MAPPING` - DELETED_INTEGRATION_WIDE_FIELD_MAPPING + /// * `DELETED_LINKED_ACCOUNT_FIELD_MAPPING` - DELETED_LINKED_ACCOUNT_FIELD_MAPPING + /// * `CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE` - CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE + /// * `CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE` - CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE + /// * `DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE` - DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE + /// * `FORCED_LINKED_ACCOUNT_RESYNC` - FORCED_LINKED_ACCOUNT_RESYNC + /// * `MUTED_ISSUE` - MUTED_ISSUE + /// * `GENERATED_MAGIC_LINK` - GENERATED_MAGIC_LINK + /// * `ENABLED_MERGE_WEBHOOK` - ENABLED_MERGE_WEBHOOK + /// * `DISABLED_MERGE_WEBHOOK` - DISABLED_MERGE_WEBHOOK + /// * `MERGE_WEBHOOK_TARGET_CHANGED` - MERGE_WEBHOOK_TARGET_CHANGED + /// * `END_USER_CREDENTIALS_ACCESSED` - END_USER_CREDENTIALS_ACCESSED /// [JsonPropertyName("event_type")] public required EventTypeEnum EventType { get; set; } @@ -87,9 +90,21 @@ public record AuditLogEvent [JsonPropertyName("event_description")] public required string EventDescription { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/AvailableActions.cs b/src/Merge.Client/Hris/Types/AvailableActions.cs index aa82d588..6bbc6219 100644 --- a/src/Merge.Client/Hris/Types/AvailableActions.cs +++ b/src/Merge.Client/Hris/Types/AvailableActions.cs @@ -1,8 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Hris; +/// +/// # The AvailableActions Object +/// ### Description +/// The `Activity` object is used to see all available model/operation combinations for an integration. +/// +/// ### Usage Example +/// Fetch all the actions available for the `Zenefits` integration. +/// public record AvailableActions { [JsonPropertyName("integration")] @@ -14,6 +23,17 @@ public record AvailableActions [JsonPropertyName("available_model_operations")] public IEnumerable? AvailableModelOperations { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/BankInfo.cs b/src/Merge.Client/Hris/Types/BankInfo.cs index fa080dde..654fa828 100644 --- a/src/Merge.Client/Hris/Types/BankInfo.cs +++ b/src/Merge.Client/Hris/Types/BankInfo.cs @@ -1,11 +1,21 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Hris; +/// +/// # The BankInfo Object +/// ### Description +/// The `BankInfo` object is used to represent the Bank Account information for an Employee. +/// +/// ### Usage Example +/// Fetch from the `LIST BankInfo` endpoint and filter by `ID` to show all bank information. +/// public record BankInfo { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -18,12 +28,14 @@ public record BankInfo /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -54,8 +66,8 @@ public record BankInfo /// /// The bank account type /// - /// - `SAVINGS` - SAVINGS - /// - `CHECKING` - CHECKING + /// * `SAVINGS` - SAVINGS + /// * `CHECKING` - CHECKING /// [JsonPropertyName("account_type")] public AccountTypeEnum? AccountType { get; set; } @@ -69,15 +81,29 @@ public record BankInfo /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/Benefit.cs b/src/Merge.Client/Hris/Types/Benefit.cs index 7137ad65..fa04058f 100644 --- a/src/Merge.Client/Hris/Types/Benefit.cs +++ b/src/Merge.Client/Hris/Types/Benefit.cs @@ -1,11 +1,21 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Hris; +/// +/// # The Benefit Object +/// ### Description +/// The `Benefit` object is used to represent a benefit that an employee has enrolled in. +/// +/// ### Usage Example +/// Fetch from the `LIST Benefits` endpoint and filter by `ID` to show all benefits. +/// public record Benefit { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -18,12 +28,14 @@ public record Benefit /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -72,6 +84,7 @@ public record Benefit /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } @@ -81,12 +94,25 @@ public record Benefit [JsonPropertyName("employer_benefit")] public string? EmployerBenefit { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/CommonModelScopeApi.cs b/src/Merge.Client/Hris/Types/CommonModelScopeApi.cs index 9652f257..9ae0aee3 100644 --- a/src/Merge.Client/Hris/Types/CommonModelScopeApi.cs +++ b/src/Merge.Client/Hris/Types/CommonModelScopeApi.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -12,6 +13,17 @@ public record CommonModelScopeApi public IEnumerable CommonModels { get; set; } = new List(); + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/CommonModelScopesBodyRequest.cs b/src/Merge.Client/Hris/Types/CommonModelScopesBodyRequest.cs index d53376c3..f672f386 100644 --- a/src/Merge.Client/Hris/Types/CommonModelScopesBodyRequest.cs +++ b/src/Merge.Client/Hris/Types/CommonModelScopesBodyRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -15,6 +16,17 @@ public record CommonModelScopesBodyRequest [JsonPropertyName("disabled_fields")] public IEnumerable DisabledFields { get; set; } = new List(); + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/Company.cs b/src/Merge.Client/Hris/Types/Company.cs index 463b1620..89920bb2 100644 --- a/src/Merge.Client/Hris/Types/Company.cs +++ b/src/Merge.Client/Hris/Types/Company.cs @@ -1,10 +1,20 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Hris; +/// +/// # The Company Object +/// ### Description +/// The `Company` object is used to represent a company within the HRIS / Payroll system. +/// +/// ### Usage Example +/// Fetch from the `LIST Companies` endpoint and filter by `ID` to show all companies. +/// public record Company { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -17,12 +27,14 @@ public record Company /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -47,15 +59,29 @@ public record Company /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/DataPassthroughRequest.cs b/src/Merge.Client/Hris/Types/DataPassthroughRequest.cs index 8886b033..0cfab3b7 100644 --- a/src/Merge.Client/Hris/Types/DataPassthroughRequest.cs +++ b/src/Merge.Client/Hris/Types/DataPassthroughRequest.cs @@ -1,8 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Hris; +/// +/// # The DataPassthrough Object +/// ### Description +/// The `DataPassthrough` object is used to send information to an otherwise-unsupported third-party endpoint. +/// +/// ### Usage Example +/// Create a `DataPassthrough` to get team hierarchies from your Rippling integration. +/// public record DataPassthroughRequest { [JsonPropertyName("method")] @@ -47,6 +56,17 @@ public record DataPassthroughRequest [JsonPropertyName("normalize_response")] public bool? NormalizeResponse { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/DebugModeLog.cs b/src/Merge.Client/Hris/Types/DebugModeLog.cs index e4d4fbf0..1eb6c2dc 100644 --- a/src/Merge.Client/Hris/Types/DebugModeLog.cs +++ b/src/Merge.Client/Hris/Types/DebugModeLog.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record DebugModeLog [JsonPropertyName("log_summary")] public required DebugModelLogSummary LogSummary { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/DebugModelLogSummary.cs b/src/Merge.Client/Hris/Types/DebugModelLogSummary.cs index 085938b0..fd8ad066 100644 --- a/src/Merge.Client/Hris/Types/DebugModelLogSummary.cs +++ b/src/Merge.Client/Hris/Types/DebugModelLogSummary.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record DebugModelLogSummary [JsonPropertyName("status_code")] public required int StatusCode { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/Deduction.cs b/src/Merge.Client/Hris/Types/Deduction.cs index 60ffd710..b549f8e3 100644 --- a/src/Merge.Client/Hris/Types/Deduction.cs +++ b/src/Merge.Client/Hris/Types/Deduction.cs @@ -1,10 +1,20 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Hris; +/// +/// # The Deduction Object +/// ### Description +/// The `Deduction` object is used to represent an array of the wages withheld from total earnings for the purpose of paying taxes. +/// +/// ### Usage Example +/// Fetch from the `LIST Deductions` endpoint and filter by `ID` to show all deductions. +/// public record Deduction { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -17,12 +27,14 @@ public record Deduction /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -53,12 +65,25 @@ public record Deduction [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/Dependent.cs b/src/Merge.Client/Hris/Types/Dependent.cs index cd52c884..af568544 100644 --- a/src/Merge.Client/Hris/Types/Dependent.cs +++ b/src/Merge.Client/Hris/Types/Dependent.cs @@ -1,10 +1,20 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Hris; +/// +/// # The Dependent Object +/// ### Description +/// The `Dependent` object is used to represent a dependent (e.g. child, spouse, domestic partner, etc) of an `Employee` +/// +/// ### Usage Example +/// Fetch from the `LIST Dependents` endpoint and filter by `ID` to show all dependents. +/// public record Dependent { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -17,12 +27,14 @@ public record Dependent /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -47,9 +59,9 @@ public record Dependent /// /// The dependent's relationship to the employee. /// - /// - `CHILD` - CHILD - /// - `SPOUSE` - SPOUSE - /// - `DOMESTIC_PARTNER` - DOMESTIC_PARTNER + /// * `CHILD` - CHILD + /// * `SPOUSE` - SPOUSE + /// * `DOMESTIC_PARTNER` - DOMESTIC_PARTNER /// [JsonPropertyName("relationship")] public RelationshipEnum? Relationship { get; set; } @@ -69,11 +81,11 @@ public record Dependent /// /// The dependent's gender. /// - /// - `MALE` - MALE - /// - `FEMALE` - FEMALE - /// - `NON-BINARY` - NON-BINARY - /// - `OTHER` - OTHER - /// - `PREFER_NOT_TO_DISCLOSE` - PREFER_NOT_TO_DISCLOSE + /// * `MALE` - MALE + /// * `FEMALE` - FEMALE + /// * `NON-BINARY` - NON-BINARY + /// * `OTHER` - OTHER + /// * `PREFER_NOT_TO_DISCLOSE` - PREFER_NOT_TO_DISCLOSE /// [JsonPropertyName("gender")] public GenderEnum? Gender { get; set; } @@ -105,15 +117,29 @@ public record Dependent /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/Earning.cs b/src/Merge.Client/Hris/Types/Earning.cs index 4a8536a4..e3fcba99 100644 --- a/src/Merge.Client/Hris/Types/Earning.cs +++ b/src/Merge.Client/Hris/Types/Earning.cs @@ -1,10 +1,20 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Hris; +/// +/// # The Earning Object +/// ### Description +/// The `Earning` object is used to represent an array of different compensations that an employee receives within specific wage categories. +/// +/// ### Usage Example +/// Fetch from the `LIST Earnings` endpoint and filter by `ID` to show all earnings. +/// public record Earning { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -17,12 +27,14 @@ public record Earning /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -38,10 +50,10 @@ public record Earning /// /// The type of earning. /// - /// - `SALARY` - SALARY - /// - `REIMBURSEMENT` - REIMBURSEMENT - /// - `OVERTIME` - OVERTIME - /// - `BONUS` - BONUS + /// * `SALARY` - SALARY + /// * `REIMBURSEMENT` - REIMBURSEMENT + /// * `OVERTIME` - OVERTIME + /// * `BONUS` - BONUS /// [JsonPropertyName("type")] public EarningTypeEnum? Type { get; set; } @@ -52,12 +64,25 @@ public record Earning [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/Employee.cs b/src/Merge.Client/Hris/Types/Employee.cs index a3b046bb..09eb22de 100644 --- a/src/Merge.Client/Hris/Types/Employee.cs +++ b/src/Merge.Client/Hris/Types/Employee.cs @@ -1,11 +1,21 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Hris; +/// +/// # The Employee Object +/// ### Description +/// The `Employee` object is used to represent any person who has been employed by a company. By default, it returns all employees. To filter for only active employees, set the `employment_status` query parameter to `ACTIVE`. +/// +/// ### Usage Example +/// Fetch from the `LIST Employee` endpoint and filter by `ID` to show all employees. +/// public record Employee { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -18,12 +28,14 @@ public record Employee /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -135,11 +147,11 @@ public record Employee /// /// The employee's gender. /// - /// - `MALE` - MALE - /// - `FEMALE` - FEMALE - /// - `NON-BINARY` - NON-BINARY - /// - `OTHER` - OTHER - /// - `PREFER_NOT_TO_DISCLOSE` - PREFER_NOT_TO_DISCLOSE + /// * `MALE` - MALE + /// * `FEMALE` - FEMALE + /// * `NON-BINARY` - NON-BINARY + /// * `OTHER` - OTHER + /// * `PREFER_NOT_TO_DISCLOSE` - PREFER_NOT_TO_DISCLOSE /// [JsonPropertyName("gender")] public GenderEnum? Gender { get; set; } @@ -147,14 +159,14 @@ public record Employee /// /// The employee's ethnicity. /// - /// - `AMERICAN_INDIAN_OR_ALASKA_NATIVE` - AMERICAN_INDIAN_OR_ALASKA_NATIVE - /// - `ASIAN_OR_INDIAN_SUBCONTINENT` - ASIAN_OR_INDIAN_SUBCONTINENT - /// - `BLACK_OR_AFRICAN_AMERICAN` - BLACK_OR_AFRICAN_AMERICAN - /// - `HISPANIC_OR_LATINO` - HISPANIC_OR_LATINO - /// - `NATIVE_HAWAIIAN_OR_OTHER_PACIFIC_ISLANDER` - NATIVE_HAWAIIAN_OR_OTHER_PACIFIC_ISLANDER - /// - `TWO_OR_MORE_RACES` - TWO_OR_MORE_RACES - /// - `WHITE` - WHITE - /// - `PREFER_NOT_TO_DISCLOSE` - PREFER_NOT_TO_DISCLOSE + /// * `AMERICAN_INDIAN_OR_ALASKA_NATIVE` - AMERICAN_INDIAN_OR_ALASKA_NATIVE + /// * `ASIAN_OR_INDIAN_SUBCONTINENT` - ASIAN_OR_INDIAN_SUBCONTINENT + /// * `BLACK_OR_AFRICAN_AMERICAN` - BLACK_OR_AFRICAN_AMERICAN + /// * `HISPANIC_OR_LATINO` - HISPANIC_OR_LATINO + /// * `NATIVE_HAWAIIAN_OR_OTHER_PACIFIC_ISLANDER` - NATIVE_HAWAIIAN_OR_OTHER_PACIFIC_ISLANDER + /// * `TWO_OR_MORE_RACES` - TWO_OR_MORE_RACES + /// * `WHITE` - WHITE + /// * `PREFER_NOT_TO_DISCLOSE` - PREFER_NOT_TO_DISCLOSE /// [JsonPropertyName("ethnicity")] public EthnicityEnum? Ethnicity { get; set; } @@ -162,11 +174,11 @@ public record Employee /// /// The employee's filing status as related to marital status. /// - /// - `SINGLE` - SINGLE - /// - `MARRIED_FILING_JOINTLY` - MARRIED_FILING_JOINTLY - /// - `MARRIED_FILING_SEPARATELY` - MARRIED_FILING_SEPARATELY - /// - `HEAD_OF_HOUSEHOLD` - HEAD_OF_HOUSEHOLD - /// - `QUALIFYING_WIDOW_OR_WIDOWER_WITH_DEPENDENT_CHILD` - QUALIFYING_WIDOW_OR_WIDOWER_WITH_DEPENDENT_CHILD + /// * `SINGLE` - SINGLE + /// * `MARRIED_FILING_JOINTLY` - MARRIED_FILING_JOINTLY + /// * `MARRIED_FILING_SEPARATELY` - MARRIED_FILING_SEPARATELY + /// * `HEAD_OF_HOUSEHOLD` - HEAD_OF_HOUSEHOLD + /// * `QUALIFYING_WIDOW_OR_WIDOWER_WITH_DEPENDENT_CHILD` - QUALIFYING_WIDOW_OR_WIDOWER_WITH_DEPENDENT_CHILD /// [JsonPropertyName("marital_status")] public MaritalStatusEnum? MaritalStatus { get; set; } @@ -198,9 +210,9 @@ public record Employee /// /// The employment status of the employee. /// - /// - `ACTIVE` - ACTIVE - /// - `PENDING` - PENDING - /// - `INACTIVE` - INACTIVE + /// * `ACTIVE` - ACTIVE + /// * `PENDING` - PENDING + /// * `INACTIVE` - INACTIVE /// [JsonPropertyName("employment_status")] public EmploymentStatusEnum? EmploymentStatus { get; set; } @@ -226,15 +238,29 @@ public record Employee /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/EmployeePayrollRun.cs b/src/Merge.Client/Hris/Types/EmployeePayrollRun.cs index 98c21840..a3ac36d2 100644 --- a/src/Merge.Client/Hris/Types/EmployeePayrollRun.cs +++ b/src/Merge.Client/Hris/Types/EmployeePayrollRun.cs @@ -1,11 +1,21 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Hris; +/// +/// # The EmployeePayrollRun Object +/// ### Description +/// The `EmployeePayrollRun` object is used to represent an employee's pay statement for a specific payroll run. +/// +/// ### Usage Example +/// Fetch from the `LIST EmployeePayrollRun` endpoint and filter by `ID` to show all employee payroll runs. +/// public record EmployeePayrollRun { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -18,12 +28,14 @@ public record EmployeePayrollRun /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -69,27 +81,44 @@ public record EmployeePayrollRun [JsonPropertyName("check_date")] public DateTime? CheckDate { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("earnings")] public IEnumerable? Earnings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("deductions")] public IEnumerable? Deductions { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("taxes")] public IEnumerable? Taxes { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/EmployeeRequest.cs b/src/Merge.Client/Hris/Types/EmployeeRequest.cs index eb46475e..cc53fd43 100644 --- a/src/Merge.Client/Hris/Types/EmployeeRequest.cs +++ b/src/Merge.Client/Hris/Types/EmployeeRequest.cs @@ -1,9 +1,18 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Hris; +/// +/// # The Employee Object +/// ### Description +/// The `Employee` object is used to represent any person who has been employed by a company. By default, it returns all employees. To filter for only active employees, set the `employment_status` query parameter to `ACTIVE`. +/// +/// ### Usage Example +/// Fetch from the `LIST Employee` endpoint and filter by `ID` to show all employees. +/// public record EmployeeRequest { /// @@ -114,11 +123,11 @@ public record EmployeeRequest /// /// The employee's gender. /// - /// - `MALE` - MALE - /// - `FEMALE` - FEMALE - /// - `NON-BINARY` - NON-BINARY - /// - `OTHER` - OTHER - /// - `PREFER_NOT_TO_DISCLOSE` - PREFER_NOT_TO_DISCLOSE + /// * `MALE` - MALE + /// * `FEMALE` - FEMALE + /// * `NON-BINARY` - NON-BINARY + /// * `OTHER` - OTHER + /// * `PREFER_NOT_TO_DISCLOSE` - PREFER_NOT_TO_DISCLOSE /// [JsonPropertyName("gender")] public GenderEnum? Gender { get; set; } @@ -126,14 +135,14 @@ public record EmployeeRequest /// /// The employee's ethnicity. /// - /// - `AMERICAN_INDIAN_OR_ALASKA_NATIVE` - AMERICAN_INDIAN_OR_ALASKA_NATIVE - /// - `ASIAN_OR_INDIAN_SUBCONTINENT` - ASIAN_OR_INDIAN_SUBCONTINENT - /// - `BLACK_OR_AFRICAN_AMERICAN` - BLACK_OR_AFRICAN_AMERICAN - /// - `HISPANIC_OR_LATINO` - HISPANIC_OR_LATINO - /// - `NATIVE_HAWAIIAN_OR_OTHER_PACIFIC_ISLANDER` - NATIVE_HAWAIIAN_OR_OTHER_PACIFIC_ISLANDER - /// - `TWO_OR_MORE_RACES` - TWO_OR_MORE_RACES - /// - `WHITE` - WHITE - /// - `PREFER_NOT_TO_DISCLOSE` - PREFER_NOT_TO_DISCLOSE + /// * `AMERICAN_INDIAN_OR_ALASKA_NATIVE` - AMERICAN_INDIAN_OR_ALASKA_NATIVE + /// * `ASIAN_OR_INDIAN_SUBCONTINENT` - ASIAN_OR_INDIAN_SUBCONTINENT + /// * `BLACK_OR_AFRICAN_AMERICAN` - BLACK_OR_AFRICAN_AMERICAN + /// * `HISPANIC_OR_LATINO` - HISPANIC_OR_LATINO + /// * `NATIVE_HAWAIIAN_OR_OTHER_PACIFIC_ISLANDER` - NATIVE_HAWAIIAN_OR_OTHER_PACIFIC_ISLANDER + /// * `TWO_OR_MORE_RACES` - TWO_OR_MORE_RACES + /// * `WHITE` - WHITE + /// * `PREFER_NOT_TO_DISCLOSE` - PREFER_NOT_TO_DISCLOSE /// [JsonPropertyName("ethnicity")] public EthnicityEnum? Ethnicity { get; set; } @@ -141,11 +150,11 @@ public record EmployeeRequest /// /// The employee's filing status as related to marital status. /// - /// - `SINGLE` - SINGLE - /// - `MARRIED_FILING_JOINTLY` - MARRIED_FILING_JOINTLY - /// - `MARRIED_FILING_SEPARATELY` - MARRIED_FILING_SEPARATELY - /// - `HEAD_OF_HOUSEHOLD` - HEAD_OF_HOUSEHOLD - /// - `QUALIFYING_WIDOW_OR_WIDOWER_WITH_DEPENDENT_CHILD` - QUALIFYING_WIDOW_OR_WIDOWER_WITH_DEPENDENT_CHILD + /// * `SINGLE` - SINGLE + /// * `MARRIED_FILING_JOINTLY` - MARRIED_FILING_JOINTLY + /// * `MARRIED_FILING_SEPARATELY` - MARRIED_FILING_SEPARATELY + /// * `HEAD_OF_HOUSEHOLD` - HEAD_OF_HOUSEHOLD + /// * `QUALIFYING_WIDOW_OR_WIDOWER_WITH_DEPENDENT_CHILD` - QUALIFYING_WIDOW_OR_WIDOWER_WITH_DEPENDENT_CHILD /// [JsonPropertyName("marital_status")] public MaritalStatusEnum? MaritalStatus { get; set; } @@ -171,9 +180,9 @@ public record EmployeeRequest /// /// The employment status of the employee. /// - /// - `ACTIVE` - ACTIVE - /// - `PENDING` - PENDING - /// - `INACTIVE` - INACTIVE + /// * `ACTIVE` - ACTIVE + /// * `PENDING` - PENDING + /// * `INACTIVE` - INACTIVE /// [JsonPropertyName("employment_status")] public EmploymentStatusEnum? EmploymentStatus { get; set; } @@ -190,12 +199,25 @@ public record EmployeeRequest [JsonPropertyName("avatar")] public string? Avatar { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("integration_params")] public Dictionary? IntegrationParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("linked_account_params")] public Dictionary? LinkedAccountParams { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/EmployeeResponse.cs b/src/Merge.Client/Hris/Types/EmployeeResponse.cs index e15a5fea..5c663b18 100644 --- a/src/Merge.Client/Hris/Types/EmployeeResponse.cs +++ b/src/Merge.Client/Hris/Types/EmployeeResponse.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -19,6 +20,17 @@ public record EmployeeResponse [JsonPropertyName("logs")] public IEnumerable? Logs { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/EmployerBenefit.cs b/src/Merge.Client/Hris/Types/EmployerBenefit.cs index b1757e49..d4262da1 100644 --- a/src/Merge.Client/Hris/Types/EmployerBenefit.cs +++ b/src/Merge.Client/Hris/Types/EmployerBenefit.cs @@ -1,10 +1,20 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Hris; +/// +/// # The EmployerBenefit Object +/// ### Description +/// The `Employer Benefit` object is used to represent a benefit plan offered by a company. +/// +/// ### Usage Example +/// Fetch from the `LIST EmployerBenefits` endpoint and filter by `ID` to show all EmployerBenefits. +/// public record EmployerBenefit { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -17,23 +27,25 @@ public record EmployerBenefit /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } /// /// The type of benefit plan. /// - /// - `MEDICAL` - MEDICAL - /// - `HEALTH_SAVINGS` - HEALTH_SAVINGS - /// - `INSURANCE` - INSURANCE - /// - `RETIREMENT` - RETIREMENT - /// - `OTHER` - OTHER + /// * `MEDICAL` - MEDICAL + /// * `HEALTH_SAVINGS` - HEALTH_SAVINGS + /// * `INSURANCE` - INSURANCE + /// * `RETIREMENT` - RETIREMENT + /// * `OTHER` - OTHER /// [JsonPropertyName("benefit_plan_type")] public BenefitPlanTypeEnum? BenefitPlanType { get; set; } @@ -59,15 +71,29 @@ public record EmployerBenefit /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/Employment.cs b/src/Merge.Client/Hris/Types/Employment.cs index 5b02fe2c..a7eef977 100644 --- a/src/Merge.Client/Hris/Types/Employment.cs +++ b/src/Merge.Client/Hris/Types/Employment.cs @@ -1,11 +1,23 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Hris; +/// +/// # The Employment Object +/// ### Description +/// The `Employment` object is used to represent a job position at a company. +/// +/// If an integration supports historical tracking of employments, it will be reflected in the data. If not, a new `Employment` object will be created whenever there is a change in job title or pay. The `effective_date` field should be used to order `Employment` objects, with the most recent date corresponding to the latest employment record for an employee. +/// +/// ### Usage Example +/// Fetch from the `LIST Employments` endpoint and filter by `ID` to show all employees. +/// public record Employment { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -18,12 +30,14 @@ public record Employment /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -48,15 +62,15 @@ public record Employment /// /// The time period this pay rate encompasses. /// - /// - `HOUR` - HOUR - /// - `DAY` - DAY - /// - `WEEK` - WEEK - /// - `EVERY_TWO_WEEKS` - EVERY_TWO_WEEKS - /// - `SEMIMONTHLY` - SEMIMONTHLY - /// - `MONTH` - MONTH - /// - `QUARTER` - QUARTER - /// - `EVERY_SIX_MONTHS` - EVERY_SIX_MONTHS - /// - `YEAR` - YEAR + /// * `HOUR` - HOUR + /// * `DAY` - DAY + /// * `WEEK` - WEEK + /// * `EVERY_TWO_WEEKS` - EVERY_TWO_WEEKS + /// * `SEMIMONTHLY` - SEMIMONTHLY + /// * `MONTH` - MONTH + /// * `QUARTER` - QUARTER + /// * `EVERY_SIX_MONTHS` - EVERY_SIX_MONTHS + /// * `YEAR` - YEAR /// [JsonPropertyName("pay_period")] public PayPeriodEnum? PayPeriod { get; set; } @@ -64,15 +78,15 @@ public record Employment /// /// The position's pay frequency. /// - /// - `WEEKLY` - WEEKLY - /// - `BIWEEKLY` - BIWEEKLY - /// - `MONTHLY` - MONTHLY - /// - `QUARTERLY` - QUARTERLY - /// - `SEMIANNUALLY` - SEMIANNUALLY - /// - `ANNUALLY` - ANNUALLY - /// - `THIRTEEN-MONTHLY` - THIRTEEN-MONTHLY - /// - `PRO_RATA` - PRO_RATA - /// - `SEMIMONTHLY` - SEMIMONTHLY + /// * `WEEKLY` - WEEKLY + /// * `BIWEEKLY` - BIWEEKLY + /// * `MONTHLY` - MONTHLY + /// * `QUARTERLY` - QUARTERLY + /// * `SEMIANNUALLY` - SEMIANNUALLY + /// * `ANNUALLY` - ANNUALLY + /// * `THIRTEEN-MONTHLY` - THIRTEEN-MONTHLY + /// * `PRO_RATA` - PRO_RATA + /// * `SEMIMONTHLY` - SEMIMONTHLY /// [JsonPropertyName("pay_frequency")] public PayFrequencyEnum? PayFrequency { get; set; } @@ -80,312 +94,312 @@ public record Employment /// /// The position's currency code. /// - /// - `XUA` - ADB Unit of Account - /// - `AFN` - Afghan Afghani - /// - `AFA` - Afghan Afghani (1927–2002) - /// - `ALL` - Albanian Lek - /// - `ALK` - Albanian Lek (1946–1965) - /// - `DZD` - Algerian Dinar - /// - `ADP` - Andorran Peseta - /// - `AOA` - Angolan Kwanza - /// - `AOK` - Angolan Kwanza (1977–1991) - /// - `AON` - Angolan New Kwanza (1990–2000) - /// - `AOR` - Angolan Readjusted Kwanza (1995–1999) - /// - `ARA` - Argentine Austral - /// - `ARS` - Argentine Peso - /// - `ARM` - Argentine Peso (1881–1970) - /// - `ARP` - Argentine Peso (1983–1985) - /// - `ARL` - Argentine Peso Ley (1970–1983) - /// - `AMD` - Armenian Dram - /// - `AWG` - Aruban Florin - /// - `AUD` - Australian Dollar - /// - `ATS` - Austrian Schilling - /// - `AZN` - Azerbaijani Manat - /// - `AZM` - Azerbaijani Manat (1993–2006) - /// - `BSD` - Bahamian Dollar - /// - `BHD` - Bahraini Dinar - /// - `BDT` - Bangladeshi Taka - /// - `BBD` - Barbadian Dollar - /// - `BYN` - Belarusian Ruble - /// - `BYB` - Belarusian Ruble (1994–1999) - /// - `BYR` - Belarusian Ruble (2000–2016) - /// - `BEF` - Belgian Franc - /// - `BEC` - Belgian Franc (convertible) - /// - `BEL` - Belgian Franc (financial) - /// - `BZD` - Belize Dollar - /// - `BMD` - Bermudan Dollar - /// - `BTN` - Bhutanese Ngultrum - /// - `BOB` - Bolivian Boliviano - /// - `BOL` - Bolivian Boliviano (1863–1963) - /// - `BOV` - Bolivian Mvdol - /// - `BOP` - Bolivian Peso - /// - `BAM` - Bosnia-Herzegovina Convertible Mark - /// - `BAD` - Bosnia-Herzegovina Dinar (1992–1994) - /// - `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) - /// - `BWP` - Botswanan Pula - /// - `BRC` - Brazilian Cruzado (1986–1989) - /// - `BRZ` - Brazilian Cruzeiro (1942–1967) - /// - `BRE` - Brazilian Cruzeiro (1990–1993) - /// - `BRR` - Brazilian Cruzeiro (1993–1994) - /// - `BRN` - Brazilian New Cruzado (1989–1990) - /// - `BRB` - Brazilian New Cruzeiro (1967–1986) - /// - `BRL` - Brazilian Real - /// - `GBP` - British Pound - /// - `BND` - Brunei Dollar - /// - `BGL` - Bulgarian Hard Lev - /// - `BGN` - Bulgarian Lev - /// - `BGO` - Bulgarian Lev (1879–1952) - /// - `BGM` - Bulgarian Socialist Lev - /// - `BUK` - Burmese Kyat - /// - `BIF` - Burundian Franc - /// - `XPF` - CFP Franc - /// - `KHR` - Cambodian Riel - /// - `CAD` - Canadian Dollar - /// - `CVE` - Cape Verdean Escudo - /// - `KYD` - Cayman Islands Dollar - /// - `XAF` - Central African CFA Franc - /// - `CLE` - Chilean Escudo - /// - `CLP` - Chilean Peso - /// - `CLF` - Chilean Unit of Account (UF) - /// - `CNX` - Chinese People’s Bank Dollar - /// - `CNY` - Chinese Yuan - /// - `CNH` - Chinese Yuan (offshore) - /// - `COP` - Colombian Peso - /// - `COU` - Colombian Real Value Unit - /// - `KMF` - Comorian Franc - /// - `CDF` - Congolese Franc - /// - `CRC` - Costa Rican Colón - /// - `HRD` - Croatian Dinar - /// - `HRK` - Croatian Kuna - /// - `CUC` - Cuban Convertible Peso - /// - `CUP` - Cuban Peso - /// - `CYP` - Cypriot Pound - /// - `CZK` - Czech Koruna - /// - `CSK` - Czechoslovak Hard Koruna - /// - `DKK` - Danish Krone - /// - `DJF` - Djiboutian Franc - /// - `DOP` - Dominican Peso - /// - `NLG` - Dutch Guilder - /// - `XCD` - East Caribbean Dollar - /// - `DDM` - East German Mark - /// - `ECS` - Ecuadorian Sucre - /// - `ECV` - Ecuadorian Unit of Constant Value - /// - `EGP` - Egyptian Pound - /// - `GQE` - Equatorial Guinean Ekwele - /// - `ERN` - Eritrean Nakfa - /// - `EEK` - Estonian Kroon - /// - `ETB` - Ethiopian Birr - /// - `EUR` - Euro - /// - `XBA` - European Composite Unit - /// - `XEU` - European Currency Unit - /// - `XBB` - European Monetary Unit - /// - `XBC` - European Unit of Account (XBC) - /// - `XBD` - European Unit of Account (XBD) - /// - `FKP` - Falkland Islands Pound - /// - `FJD` - Fijian Dollar - /// - `FIM` - Finnish Markka - /// - `FRF` - French Franc - /// - `XFO` - French Gold Franc - /// - `XFU` - French UIC-Franc - /// - `GMD` - Gambian Dalasi - /// - `GEK` - Georgian Kupon Larit - /// - `GEL` - Georgian Lari - /// - `DEM` - German Mark - /// - `GHS` - Ghanaian Cedi - /// - `GHC` - Ghanaian Cedi (1979–2007) - /// - `GIP` - Gibraltar Pound - /// - `XAU` - Gold - /// - `GRD` - Greek Drachma - /// - `GTQ` - Guatemalan Quetzal - /// - `GWP` - Guinea-Bissau Peso - /// - `GNF` - Guinean Franc - /// - `GNS` - Guinean Syli - /// - `GYD` - Guyanaese Dollar - /// - `HTG` - Haitian Gourde - /// - `HNL` - Honduran Lempira - /// - `HKD` - Hong Kong Dollar - /// - `HUF` - Hungarian Forint - /// - `IMP` - IMP - /// - `ISK` - Icelandic Króna - /// - `ISJ` - Icelandic Króna (1918–1981) - /// - `INR` - Indian Rupee - /// - `IDR` - Indonesian Rupiah - /// - `IRR` - Iranian Rial - /// - `IQD` - Iraqi Dinar - /// - `IEP` - Irish Pound - /// - `ILS` - Israeli New Shekel - /// - `ILP` - Israeli Pound - /// - `ILR` - Israeli Shekel (1980–1985) - /// - `ITL` - Italian Lira - /// - `JMD` - Jamaican Dollar - /// - `JPY` - Japanese Yen - /// - `JOD` - Jordanian Dinar - /// - `KZT` - Kazakhstani Tenge - /// - `KES` - Kenyan Shilling - /// - `KWD` - Kuwaiti Dinar - /// - `KGS` - Kyrgystani Som - /// - `LAK` - Laotian Kip - /// - `LVL` - Latvian Lats - /// - `LVR` - Latvian Ruble - /// - `LBP` - Lebanese Pound - /// - `LSL` - Lesotho Loti - /// - `LRD` - Liberian Dollar - /// - `LYD` - Libyan Dinar - /// - `LTL` - Lithuanian Litas - /// - `LTT` - Lithuanian Talonas - /// - `LUL` - Luxembourg Financial Franc - /// - `LUC` - Luxembourgian Convertible Franc - /// - `LUF` - Luxembourgian Franc - /// - `MOP` - Macanese Pataca - /// - `MKD` - Macedonian Denar - /// - `MKN` - Macedonian Denar (1992–1993) - /// - `MGA` - Malagasy Ariary - /// - `MGF` - Malagasy Franc - /// - `MWK` - Malawian Kwacha - /// - `MYR` - Malaysian Ringgit - /// - `MVR` - Maldivian Rufiyaa - /// - `MVP` - Maldivian Rupee (1947–1981) - /// - `MLF` - Malian Franc - /// - `MTL` - Maltese Lira - /// - `MTP` - Maltese Pound - /// - `MRU` - Mauritanian Ouguiya - /// - `MRO` - Mauritanian Ouguiya (1973–2017) - /// - `MUR` - Mauritian Rupee - /// - `MXV` - Mexican Investment Unit - /// - `MXN` - Mexican Peso - /// - `MXP` - Mexican Silver Peso (1861–1992) - /// - `MDC` - Moldovan Cupon - /// - `MDL` - Moldovan Leu - /// - `MCF` - Monegasque Franc - /// - `MNT` - Mongolian Tugrik - /// - `MAD` - Moroccan Dirham - /// - `MAF` - Moroccan Franc - /// - `MZE` - Mozambican Escudo - /// - `MZN` - Mozambican Metical - /// - `MZM` - Mozambican Metical (1980–2006) - /// - `MMK` - Myanmar Kyat - /// - `NAD` - Namibian Dollar - /// - `NPR` - Nepalese Rupee - /// - `ANG` - Netherlands Antillean Guilder - /// - `TWD` - New Taiwan Dollar - /// - `NZD` - New Zealand Dollar - /// - `NIO` - Nicaraguan Córdoba - /// - `NIC` - Nicaraguan Córdoba (1988–1991) - /// - `NGN` - Nigerian Naira - /// - `KPW` - North Korean Won - /// - `NOK` - Norwegian Krone - /// - `OMR` - Omani Rial - /// - `PKR` - Pakistani Rupee - /// - `XPD` - Palladium - /// - `PAB` - Panamanian Balboa - /// - `PGK` - Papua New Guinean Kina - /// - `PYG` - Paraguayan Guarani - /// - `PEI` - Peruvian Inti - /// - `PEN` - Peruvian Sol - /// - `PES` - Peruvian Sol (1863–1965) - /// - `PHP` - Philippine Peso - /// - `XPT` - Platinum - /// - `PLN` - Polish Zloty - /// - `PLZ` - Polish Zloty (1950–1995) - /// - `PTE` - Portuguese Escudo - /// - `GWE` - Portuguese Guinea Escudo - /// - `QAR` - Qatari Rial - /// - `XRE` - RINET Funds - /// - `RHD` - Rhodesian Dollar - /// - `RON` - Romanian Leu - /// - `ROL` - Romanian Leu (1952–2006) - /// - `RUB` - Russian Ruble - /// - `RUR` - Russian Ruble (1991–1998) - /// - `RWF` - Rwandan Franc - /// - `SVC` - Salvadoran Colón - /// - `WST` - Samoan Tala - /// - `SAR` - Saudi Riyal - /// - `RSD` - Serbian Dinar - /// - `CSD` - Serbian Dinar (2002–2006) - /// - `SCR` - Seychellois Rupee - /// - `SLL` - Sierra Leonean Leone - /// - `XAG` - Silver - /// - `SGD` - Singapore Dollar - /// - `SKK` - Slovak Koruna - /// - `SIT` - Slovenian Tolar - /// - `SBD` - Solomon Islands Dollar - /// - `SOS` - Somali Shilling - /// - `ZAR` - South African Rand - /// - `ZAL` - South African Rand (financial) - /// - `KRH` - South Korean Hwan (1953–1962) - /// - `KRW` - South Korean Won - /// - `KRO` - South Korean Won (1945–1953) - /// - `SSP` - South Sudanese Pound - /// - `SUR` - Soviet Rouble - /// - `ESP` - Spanish Peseta - /// - `ESA` - Spanish Peseta (A account) - /// - `ESB` - Spanish Peseta (convertible account) - /// - `XDR` - Special Drawing Rights - /// - `LKR` - Sri Lankan Rupee - /// - `SHP` - St. Helena Pound - /// - `XSU` - Sucre - /// - `SDD` - Sudanese Dinar (1992–2007) - /// - `SDG` - Sudanese Pound - /// - `SDP` - Sudanese Pound (1957–1998) - /// - `SRD` - Surinamese Dollar - /// - `SRG` - Surinamese Guilder - /// - `SZL` - Swazi Lilangeni - /// - `SEK` - Swedish Krona - /// - `CHF` - Swiss Franc - /// - `SYP` - Syrian Pound - /// - `STN` - São Tomé & Príncipe Dobra - /// - `STD` - São Tomé & Príncipe Dobra (1977–2017) - /// - `TVD` - TVD - /// - `TJR` - Tajikistani Ruble - /// - `TJS` - Tajikistani Somoni - /// - `TZS` - Tanzanian Shilling - /// - `XTS` - Testing Currency Code - /// - `THB` - Thai Baht - /// - `XXX` - The codes assigned for transactions where no currency is involved - /// - `TPE` - Timorese Escudo - /// - `TOP` - Tongan Paʻanga - /// - `TTD` - Trinidad & Tobago Dollar - /// - `TND` - Tunisian Dinar - /// - `TRY` - Turkish Lira - /// - `TRL` - Turkish Lira (1922–2005) - /// - `TMT` - Turkmenistani Manat - /// - `TMM` - Turkmenistani Manat (1993–2009) - /// - `USD` - US Dollar - /// - `USN` - US Dollar (Next day) - /// - `USS` - US Dollar (Same day) - /// - `UGX` - Ugandan Shilling - /// - `UGS` - Ugandan Shilling (1966–1987) - /// - `UAH` - Ukrainian Hryvnia - /// - `UAK` - Ukrainian Karbovanets - /// - `AED` - United Arab Emirates Dirham - /// - `UYW` - Uruguayan Nominal Wage Index Unit - /// - `UYU` - Uruguayan Peso - /// - `UYP` - Uruguayan Peso (1975–1993) - /// - `UYI` - Uruguayan Peso (Indexed Units) - /// - `UZS` - Uzbekistani Som - /// - `VUV` - Vanuatu Vatu - /// - `VES` - Venezuelan Bolívar - /// - `VEB` - Venezuelan Bolívar (1871–2008) - /// - `VEF` - Venezuelan Bolívar (2008–2018) - /// - `VND` - Vietnamese Dong - /// - `VNN` - Vietnamese Dong (1978–1985) - /// - `CHE` - WIR Euro - /// - `CHW` - WIR Franc - /// - `XOF` - West African CFA Franc - /// - `YDD` - Yemeni Dinar - /// - `YER` - Yemeni Rial - /// - `YUN` - Yugoslavian Convertible Dinar (1990–1992) - /// - `YUD` - Yugoslavian Hard Dinar (1966–1990) - /// - `YUM` - Yugoslavian New Dinar (1994–2002) - /// - `YUR` - Yugoslavian Reformed Dinar (1992–1993) - /// - `ZWN` - ZWN - /// - `ZRN` - Zairean New Zaire (1993–1998) - /// - `ZRZ` - Zairean Zaire (1971–1993) - /// - `ZMW` - Zambian Kwacha - /// - `ZMK` - Zambian Kwacha (1968–2012) - /// - `ZWD` - Zimbabwean Dollar (1980–2008) - /// - `ZWR` - Zimbabwean Dollar (2008) - /// - `ZWL` - Zimbabwean Dollar (2009) + /// * `XUA` - ADB Unit of Account + /// * `AFN` - Afghan Afghani + /// * `AFA` - Afghan Afghani (1927–2002) + /// * `ALL` - Albanian Lek + /// * `ALK` - Albanian Lek (1946–1965) + /// * `DZD` - Algerian Dinar + /// * `ADP` - Andorran Peseta + /// * `AOA` - Angolan Kwanza + /// * `AOK` - Angolan Kwanza (1977–1991) + /// * `AON` - Angolan New Kwanza (1990–2000) + /// * `AOR` - Angolan Readjusted Kwanza (1995–1999) + /// * `ARA` - Argentine Austral + /// * `ARS` - Argentine Peso + /// * `ARM` - Argentine Peso (1881–1970) + /// * `ARP` - Argentine Peso (1983–1985) + /// * `ARL` - Argentine Peso Ley (1970–1983) + /// * `AMD` - Armenian Dram + /// * `AWG` - Aruban Florin + /// * `AUD` - Australian Dollar + /// * `ATS` - Austrian Schilling + /// * `AZN` - Azerbaijani Manat + /// * `AZM` - Azerbaijani Manat (1993–2006) + /// * `BSD` - Bahamian Dollar + /// * `BHD` - Bahraini Dinar + /// * `BDT` - Bangladeshi Taka + /// * `BBD` - Barbadian Dollar + /// * `BYN` - Belarusian Ruble + /// * `BYB` - Belarusian Ruble (1994–1999) + /// * `BYR` - Belarusian Ruble (2000–2016) + /// * `BEF` - Belgian Franc + /// * `BEC` - Belgian Franc (convertible) + /// * `BEL` - Belgian Franc (financial) + /// * `BZD` - Belize Dollar + /// * `BMD` - Bermudan Dollar + /// * `BTN` - Bhutanese Ngultrum + /// * `BOB` - Bolivian Boliviano + /// * `BOL` - Bolivian Boliviano (1863–1963) + /// * `BOV` - Bolivian Mvdol + /// * `BOP` - Bolivian Peso + /// * `BAM` - Bosnia-Herzegovina Convertible Mark + /// * `BAD` - Bosnia-Herzegovina Dinar (1992–1994) + /// * `BAN` - Bosnia-Herzegovina New Dinar (1994–1997) + /// * `BWP` - Botswanan Pula + /// * `BRC` - Brazilian Cruzado (1986–1989) + /// * `BRZ` - Brazilian Cruzeiro (1942–1967) + /// * `BRE` - Brazilian Cruzeiro (1990–1993) + /// * `BRR` - Brazilian Cruzeiro (1993–1994) + /// * `BRN` - Brazilian New Cruzado (1989–1990) + /// * `BRB` - Brazilian New Cruzeiro (1967–1986) + /// * `BRL` - Brazilian Real + /// * `GBP` - British Pound + /// * `BND` - Brunei Dollar + /// * `BGL` - Bulgarian Hard Lev + /// * `BGN` - Bulgarian Lev + /// * `BGO` - Bulgarian Lev (1879–1952) + /// * `BGM` - Bulgarian Socialist Lev + /// * `BUK` - Burmese Kyat + /// * `BIF` - Burundian Franc + /// * `XPF` - CFP Franc + /// * `KHR` - Cambodian Riel + /// * `CAD` - Canadian Dollar + /// * `CVE` - Cape Verdean Escudo + /// * `KYD` - Cayman Islands Dollar + /// * `XAF` - Central African CFA Franc + /// * `CLE` - Chilean Escudo + /// * `CLP` - Chilean Peso + /// * `CLF` - Chilean Unit of Account (UF) + /// * `CNX` - Chinese People’s Bank Dollar + /// * `CNY` - Chinese Yuan + /// * `CNH` - Chinese Yuan (offshore) + /// * `COP` - Colombian Peso + /// * `COU` - Colombian Real Value Unit + /// * `KMF` - Comorian Franc + /// * `CDF` - Congolese Franc + /// * `CRC` - Costa Rican Colón + /// * `HRD` - Croatian Dinar + /// * `HRK` - Croatian Kuna + /// * `CUC` - Cuban Convertible Peso + /// * `CUP` - Cuban Peso + /// * `CYP` - Cypriot Pound + /// * `CZK` - Czech Koruna + /// * `CSK` - Czechoslovak Hard Koruna + /// * `DKK` - Danish Krone + /// * `DJF` - Djiboutian Franc + /// * `DOP` - Dominican Peso + /// * `NLG` - Dutch Guilder + /// * `XCD` - East Caribbean Dollar + /// * `DDM` - East German Mark + /// * `ECS` - Ecuadorian Sucre + /// * `ECV` - Ecuadorian Unit of Constant Value + /// * `EGP` - Egyptian Pound + /// * `GQE` - Equatorial Guinean Ekwele + /// * `ERN` - Eritrean Nakfa + /// * `EEK` - Estonian Kroon + /// * `ETB` - Ethiopian Birr + /// * `EUR` - Euro + /// * `XBA` - European Composite Unit + /// * `XEU` - European Currency Unit + /// * `XBB` - European Monetary Unit + /// * `XBC` - European Unit of Account (XBC) + /// * `XBD` - European Unit of Account (XBD) + /// * `FKP` - Falkland Islands Pound + /// * `FJD` - Fijian Dollar + /// * `FIM` - Finnish Markka + /// * `FRF` - French Franc + /// * `XFO` - French Gold Franc + /// * `XFU` - French UIC-Franc + /// * `GMD` - Gambian Dalasi + /// * `GEK` - Georgian Kupon Larit + /// * `GEL` - Georgian Lari + /// * `DEM` - German Mark + /// * `GHS` - Ghanaian Cedi + /// * `GHC` - Ghanaian Cedi (1979–2007) + /// * `GIP` - Gibraltar Pound + /// * `XAU` - Gold + /// * `GRD` - Greek Drachma + /// * `GTQ` - Guatemalan Quetzal + /// * `GWP` - Guinea-Bissau Peso + /// * `GNF` - Guinean Franc + /// * `GNS` - Guinean Syli + /// * `GYD` - Guyanaese Dollar + /// * `HTG` - Haitian Gourde + /// * `HNL` - Honduran Lempira + /// * `HKD` - Hong Kong Dollar + /// * `HUF` - Hungarian Forint + /// * `IMP` - IMP + /// * `ISK` - Icelandic Króna + /// * `ISJ` - Icelandic Króna (1918–1981) + /// * `INR` - Indian Rupee + /// * `IDR` - Indonesian Rupiah + /// * `IRR` - Iranian Rial + /// * `IQD` - Iraqi Dinar + /// * `IEP` - Irish Pound + /// * `ILS` - Israeli New Shekel + /// * `ILP` - Israeli Pound + /// * `ILR` - Israeli Shekel (1980–1985) + /// * `ITL` - Italian Lira + /// * `JMD` - Jamaican Dollar + /// * `JPY` - Japanese Yen + /// * `JOD` - Jordanian Dinar + /// * `KZT` - Kazakhstani Tenge + /// * `KES` - Kenyan Shilling + /// * `KWD` - Kuwaiti Dinar + /// * `KGS` - Kyrgystani Som + /// * `LAK` - Laotian Kip + /// * `LVL` - Latvian Lats + /// * `LVR` - Latvian Ruble + /// * `LBP` - Lebanese Pound + /// * `LSL` - Lesotho Loti + /// * `LRD` - Liberian Dollar + /// * `LYD` - Libyan Dinar + /// * `LTL` - Lithuanian Litas + /// * `LTT` - Lithuanian Talonas + /// * `LUL` - Luxembourg Financial Franc + /// * `LUC` - Luxembourgian Convertible Franc + /// * `LUF` - Luxembourgian Franc + /// * `MOP` - Macanese Pataca + /// * `MKD` - Macedonian Denar + /// * `MKN` - Macedonian Denar (1992–1993) + /// * `MGA` - Malagasy Ariary + /// * `MGF` - Malagasy Franc + /// * `MWK` - Malawian Kwacha + /// * `MYR` - Malaysian Ringgit + /// * `MVR` - Maldivian Rufiyaa + /// * `MVP` - Maldivian Rupee (1947–1981) + /// * `MLF` - Malian Franc + /// * `MTL` - Maltese Lira + /// * `MTP` - Maltese Pound + /// * `MRU` - Mauritanian Ouguiya + /// * `MRO` - Mauritanian Ouguiya (1973–2017) + /// * `MUR` - Mauritian Rupee + /// * `MXV` - Mexican Investment Unit + /// * `MXN` - Mexican Peso + /// * `MXP` - Mexican Silver Peso (1861–1992) + /// * `MDC` - Moldovan Cupon + /// * `MDL` - Moldovan Leu + /// * `MCF` - Monegasque Franc + /// * `MNT` - Mongolian Tugrik + /// * `MAD` - Moroccan Dirham + /// * `MAF` - Moroccan Franc + /// * `MZE` - Mozambican Escudo + /// * `MZN` - Mozambican Metical + /// * `MZM` - Mozambican Metical (1980–2006) + /// * `MMK` - Myanmar Kyat + /// * `NAD` - Namibian Dollar + /// * `NPR` - Nepalese Rupee + /// * `ANG` - Netherlands Antillean Guilder + /// * `TWD` - New Taiwan Dollar + /// * `NZD` - New Zealand Dollar + /// * `NIO` - Nicaraguan Córdoba + /// * `NIC` - Nicaraguan Córdoba (1988–1991) + /// * `NGN` - Nigerian Naira + /// * `KPW` - North Korean Won + /// * `NOK` - Norwegian Krone + /// * `OMR` - Omani Rial + /// * `PKR` - Pakistani Rupee + /// * `XPD` - Palladium + /// * `PAB` - Panamanian Balboa + /// * `PGK` - Papua New Guinean Kina + /// * `PYG` - Paraguayan Guarani + /// * `PEI` - Peruvian Inti + /// * `PEN` - Peruvian Sol + /// * `PES` - Peruvian Sol (1863–1965) + /// * `PHP` - Philippine Peso + /// * `XPT` - Platinum + /// * `PLN` - Polish Zloty + /// * `PLZ` - Polish Zloty (1950–1995) + /// * `PTE` - Portuguese Escudo + /// * `GWE` - Portuguese Guinea Escudo + /// * `QAR` - Qatari Rial + /// * `XRE` - RINET Funds + /// * `RHD` - Rhodesian Dollar + /// * `RON` - Romanian Leu + /// * `ROL` - Romanian Leu (1952–2006) + /// * `RUB` - Russian Ruble + /// * `RUR` - Russian Ruble (1991–1998) + /// * `RWF` - Rwandan Franc + /// * `SVC` - Salvadoran Colón + /// * `WST` - Samoan Tala + /// * `SAR` - Saudi Riyal + /// * `RSD` - Serbian Dinar + /// * `CSD` - Serbian Dinar (2002–2006) + /// * `SCR` - Seychellois Rupee + /// * `SLL` - Sierra Leonean Leone + /// * `XAG` - Silver + /// * `SGD` - Singapore Dollar + /// * `SKK` - Slovak Koruna + /// * `SIT` - Slovenian Tolar + /// * `SBD` - Solomon Islands Dollar + /// * `SOS` - Somali Shilling + /// * `ZAR` - South African Rand + /// * `ZAL` - South African Rand (financial) + /// * `KRH` - South Korean Hwan (1953–1962) + /// * `KRW` - South Korean Won + /// * `KRO` - South Korean Won (1945–1953) + /// * `SSP` - South Sudanese Pound + /// * `SUR` - Soviet Rouble + /// * `ESP` - Spanish Peseta + /// * `ESA` - Spanish Peseta (A account) + /// * `ESB` - Spanish Peseta (convertible account) + /// * `XDR` - Special Drawing Rights + /// * `LKR` - Sri Lankan Rupee + /// * `SHP` - St. Helena Pound + /// * `XSU` - Sucre + /// * `SDD` - Sudanese Dinar (1992–2007) + /// * `SDG` - Sudanese Pound + /// * `SDP` - Sudanese Pound (1957–1998) + /// * `SRD` - Surinamese Dollar + /// * `SRG` - Surinamese Guilder + /// * `SZL` - Swazi Lilangeni + /// * `SEK` - Swedish Krona + /// * `CHF` - Swiss Franc + /// * `SYP` - Syrian Pound + /// * `STN` - São Tomé & Príncipe Dobra + /// * `STD` - São Tomé & Príncipe Dobra (1977–2017) + /// * `TVD` - TVD + /// * `TJR` - Tajikistani Ruble + /// * `TJS` - Tajikistani Somoni + /// * `TZS` - Tanzanian Shilling + /// * `XTS` - Testing Currency Code + /// * `THB` - Thai Baht + /// * `XXX` - The codes assigned for transactions where no currency is involved + /// * `TPE` - Timorese Escudo + /// * `TOP` - Tongan Paʻanga + /// * `TTD` - Trinidad & Tobago Dollar + /// * `TND` - Tunisian Dinar + /// * `TRY` - Turkish Lira + /// * `TRL` - Turkish Lira (1922–2005) + /// * `TMT` - Turkmenistani Manat + /// * `TMM` - Turkmenistani Manat (1993–2009) + /// * `USD` - US Dollar + /// * `USN` - US Dollar (Next day) + /// * `USS` - US Dollar (Same day) + /// * `UGX` - Ugandan Shilling + /// * `UGS` - Ugandan Shilling (1966–1987) + /// * `UAH` - Ukrainian Hryvnia + /// * `UAK` - Ukrainian Karbovanets + /// * `AED` - United Arab Emirates Dirham + /// * `UYW` - Uruguayan Nominal Wage Index Unit + /// * `UYU` - Uruguayan Peso + /// * `UYP` - Uruguayan Peso (1975–1993) + /// * `UYI` - Uruguayan Peso (Indexed Units) + /// * `UZS` - Uzbekistani Som + /// * `VUV` - Vanuatu Vatu + /// * `VES` - Venezuelan Bolívar + /// * `VEB` - Venezuelan Bolívar (1871–2008) + /// * `VEF` - Venezuelan Bolívar (2008–2018) + /// * `VND` - Vietnamese Dong + /// * `VNN` - Vietnamese Dong (1978–1985) + /// * `CHE` - WIR Euro + /// * `CHW` - WIR Franc + /// * `XOF` - West African CFA Franc + /// * `YDD` - Yemeni Dinar + /// * `YER` - Yemeni Rial + /// * `YUN` - Yugoslavian Convertible Dinar (1990–1992) + /// * `YUD` - Yugoslavian Hard Dinar (1966–1990) + /// * `YUM` - Yugoslavian New Dinar (1994–2002) + /// * `YUR` - Yugoslavian Reformed Dinar (1992–1993) + /// * `ZWN` - ZWN + /// * `ZRN` - Zairean New Zaire (1993–1998) + /// * `ZRZ` - Zairean Zaire (1971–1993) + /// * `ZMW` - Zambian Kwacha + /// * `ZMK` - Zambian Kwacha (1968–2012) + /// * `ZWD` - Zimbabwean Dollar (1980–2008) + /// * `ZWR` - Zimbabwean Dollar (2008) + /// * `ZWL` - Zimbabwean Dollar (2009) /// [JsonPropertyName("pay_currency")] public PayCurrencyEnum? PayCurrency { get; set; } @@ -399,10 +413,10 @@ public record Employment /// /// The position's FLSA status. /// - /// - `EXEMPT` - EXEMPT - /// - `SALARIED_NONEXEMPT` - SALARIED_NONEXEMPT - /// - `NONEXEMPT` - NONEXEMPT - /// - `OWNER` - OWNER + /// * `EXEMPT` - EXEMPT + /// * `SALARIED_NONEXEMPT` - SALARIED_NONEXEMPT + /// * `NONEXEMPT` - NONEXEMPT + /// * `OWNER` - OWNER /// [JsonPropertyName("flsa_status")] public FlsaStatusEnum? FlsaStatus { get; set; } @@ -416,11 +430,11 @@ public record Employment /// /// The position's type of employment. /// - /// - `FULL_TIME` - FULL_TIME - /// - `PART_TIME` - PART_TIME - /// - `INTERN` - INTERN - /// - `CONTRACTOR` - CONTRACTOR - /// - `FREELANCE` - FREELANCE + /// * `FULL_TIME` - FULL_TIME + /// * `PART_TIME` - PART_TIME + /// * `INTERN` - INTERN + /// * `CONTRACTOR` - CONTRACTOR + /// * `FREELANCE` - FREELANCE /// [JsonPropertyName("employment_type")] public EmploymentTypeEnum? EmploymentType { get; set; } @@ -428,15 +442,29 @@ public record Employment /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/ErrorValidationProblem.cs b/src/Merge.Client/Hris/Types/ErrorValidationProblem.cs index eaf3f723..30d1e716 100644 --- a/src/Merge.Client/Hris/Types/ErrorValidationProblem.cs +++ b/src/Merge.Client/Hris/Types/ErrorValidationProblem.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -17,6 +18,17 @@ public record ErrorValidationProblem [JsonPropertyName("problem_type")] public required string ProblemType { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/EventTypeEnum.cs b/src/Merge.Client/Hris/Types/EventTypeEnum.cs index 49c7a381..a53d0428 100644 --- a/src/Merge.Client/Hris/Types/EventTypeEnum.cs +++ b/src/Merge.Client/Hris/Types/EventTypeEnum.cs @@ -34,6 +34,9 @@ public enum EventTypeEnum [EnumMember(Value = "DELETED_LINKED_ACCOUNT")] DeletedLinkedAccount, + [EnumMember(Value = "DELETED_ALL_COMMON_MODELS_FOR_LINKED_ACCOUNT")] + DeletedAllCommonModelsForLinkedAccount, + [EnumMember(Value = "CREATED_DESTINATION")] CreatedDestination, diff --git a/src/Merge.Client/Hris/Types/ExternalTargetFieldApi.cs b/src/Merge.Client/Hris/Types/ExternalTargetFieldApi.cs index 9220e566..2e7257e4 100644 --- a/src/Merge.Client/Hris/Types/ExternalTargetFieldApi.cs +++ b/src/Merge.Client/Hris/Types/ExternalTargetFieldApi.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -5,15 +6,29 @@ namespace Merge.Client.Hris; public record ExternalTargetFieldApi { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("name")] public string? Name { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("description")] public string? Description { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("is_mapped")] public string? IsMapped { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/ExternalTargetFieldApiResponse.cs b/src/Merge.Client/Hris/Types/ExternalTargetFieldApiResponse.cs index de487b22..fd5f1943 100644 --- a/src/Merge.Client/Hris/Types/ExternalTargetFieldApiResponse.cs +++ b/src/Merge.Client/Hris/Types/ExternalTargetFieldApiResponse.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -53,6 +54,17 @@ public record ExternalTargetFieldApiResponse [JsonPropertyName("TimesheetEntry")] public IEnumerable? TimesheetEntry { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/FieldMappingApiInstance.cs b/src/Merge.Client/Hris/Types/FieldMappingApiInstance.cs index 91e0e5c1..bf4ce14f 100644 --- a/src/Merge.Client/Hris/Types/FieldMappingApiInstance.cs +++ b/src/Merge.Client/Hris/Types/FieldMappingApiInstance.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -5,18 +6,33 @@ namespace Merge.Client.Hris; public record FieldMappingApiInstance { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("is_integration_wide")] public bool? IsIntegrationWide { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("target_field")] public FieldMappingApiInstanceTargetField? TargetField { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_field")] public FieldMappingApiInstanceRemoteField? RemoteField { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/FieldMappingApiInstanceRemoteField.cs b/src/Merge.Client/Hris/Types/FieldMappingApiInstanceRemoteField.cs index 8ad8bdf1..b0c45ac9 100644 --- a/src/Merge.Client/Hris/Types/FieldMappingApiInstanceRemoteField.cs +++ b/src/Merge.Client/Hris/Types/FieldMappingApiInstanceRemoteField.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record FieldMappingApiInstanceRemoteField [JsonPropertyName("remote_endpoint_info")] public required FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo RemoteEndpointInfo { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo.cs b/src/Merge.Client/Hris/Types/FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo.cs index 9181b128..3891a0e7 100644 --- a/src/Merge.Client/Hris/Types/FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo.cs +++ b/src/Merge.Client/Hris/Types/FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo [JsonPropertyName("field_traversal_path")] public IEnumerable? FieldTraversalPath { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/FieldMappingApiInstanceResponse.cs b/src/Merge.Client/Hris/Types/FieldMappingApiInstanceResponse.cs index 38b0a6fb..a7942bab 100644 --- a/src/Merge.Client/Hris/Types/FieldMappingApiInstanceResponse.cs +++ b/src/Merge.Client/Hris/Types/FieldMappingApiInstanceResponse.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -53,6 +54,17 @@ public record FieldMappingApiInstanceResponse [JsonPropertyName("TimesheetEntry")] public IEnumerable? TimesheetEntry { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/FieldMappingApiInstanceTargetField.cs b/src/Merge.Client/Hris/Types/FieldMappingApiInstanceTargetField.cs index 6bf1795d..1f6ead2e 100644 --- a/src/Merge.Client/Hris/Types/FieldMappingApiInstanceTargetField.cs +++ b/src/Merge.Client/Hris/Types/FieldMappingApiInstanceTargetField.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record FieldMappingApiInstanceTargetField [JsonPropertyName("is_organization_wide")] public required bool IsOrganizationWide { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/FieldMappingInstanceResponse.cs b/src/Merge.Client/Hris/Types/FieldMappingInstanceResponse.cs index 6f110e3d..1db25d12 100644 --- a/src/Merge.Client/Hris/Types/FieldMappingInstanceResponse.cs +++ b/src/Merge.Client/Hris/Types/FieldMappingInstanceResponse.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -19,6 +20,17 @@ public record FieldMappingInstanceResponse [JsonPropertyName("logs")] public IEnumerable? Logs { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/FieldPermissionDeserializer.cs b/src/Merge.Client/Hris/Types/FieldPermissionDeserializer.cs index dcbe5b84..fe4a41f0 100644 --- a/src/Merge.Client/Hris/Types/FieldPermissionDeserializer.cs +++ b/src/Merge.Client/Hris/Types/FieldPermissionDeserializer.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -11,6 +12,17 @@ public record FieldPermissionDeserializer [JsonPropertyName("disabled_fields")] public IEnumerable? DisabledFields { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/FieldPermissionDeserializerRequest.cs b/src/Merge.Client/Hris/Types/FieldPermissionDeserializerRequest.cs index 2c6d8473..18710c3c 100644 --- a/src/Merge.Client/Hris/Types/FieldPermissionDeserializerRequest.cs +++ b/src/Merge.Client/Hris/Types/FieldPermissionDeserializerRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -11,6 +12,17 @@ public record FieldPermissionDeserializerRequest [JsonPropertyName("disabled_fields")] public IEnumerable? DisabledFields { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/Group.cs b/src/Merge.Client/Hris/Types/Group.cs index 1984e5a8..060ff461 100644 --- a/src/Merge.Client/Hris/Types/Group.cs +++ b/src/Merge.Client/Hris/Types/Group.cs @@ -1,10 +1,20 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Hris; +/// +/// # The Group Object +/// ### Description +/// The `Group` object is used to represent any subset of employees across, for example, `DEPARTMENT` or `TEAM`. Employees can be in multiple Groups. +/// +/// ### Usage Example +/// Fetch from the `LIST Employee` endpoint and expand groups to view an employee's groups. +/// public record Group { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -17,12 +27,14 @@ public record Group /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -41,33 +53,47 @@ public record Group /// /// The Group type returned directly from the third-party. /// - /// - `TEAM` - TEAM - /// - `DEPARTMENT` - DEPARTMENT - /// - `COST_CENTER` - COST_CENTER - /// - `BUSINESS_UNIT` - BUSINESS_UNIT - /// - `GROUP` - GROUP + /// * `TEAM` - TEAM + /// * `DEPARTMENT` - DEPARTMENT + /// * `COST_CENTER` - COST_CENTER + /// * `BUSINESS_UNIT` - BUSINESS_UNIT + /// * `GROUP` - GROUP /// [JsonPropertyName("type")] public GroupTypeEnum? Type { get; set; } - /// - /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). - /// - [JsonPropertyName("remote_was_deleted")] - public bool? RemoteWasDeleted { get; set; } - /// /// Indicates whether the Group refers to a team in the third party platform. Note that this is an opinionated view based on how Merge observes most organizations representing teams in each third party platform. If your customer uses a platform different from most, there is a chance this will not be correct. /// [JsonPropertyName("is_commonly_used_as_team")] public bool? IsCommonlyUsedAsTeam { get; set; } + /// + /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). + /// + [JsonAccess(JsonAccessType.ReadOnly)] + [JsonPropertyName("remote_was_deleted")] + public bool? RemoteWasDeleted { get; set; } + + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/IndividualCommonModelScopeDeserializer.cs b/src/Merge.Client/Hris/Types/IndividualCommonModelScopeDeserializer.cs index 3000795c..0cc7a0a1 100644 --- a/src/Merge.Client/Hris/Types/IndividualCommonModelScopeDeserializer.cs +++ b/src/Merge.Client/Hris/Types/IndividualCommonModelScopeDeserializer.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record IndividualCommonModelScopeDeserializer [JsonPropertyName("field_permissions")] public FieldPermissionDeserializer? FieldPermissions { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/IndividualCommonModelScopeDeserializerRequest.cs b/src/Merge.Client/Hris/Types/IndividualCommonModelScopeDeserializerRequest.cs index d99e2008..fb20509e 100644 --- a/src/Merge.Client/Hris/Types/IndividualCommonModelScopeDeserializerRequest.cs +++ b/src/Merge.Client/Hris/Types/IndividualCommonModelScopeDeserializerRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record IndividualCommonModelScopeDeserializerRequest [JsonPropertyName("field_permissions")] public FieldPermissionDeserializerRequest? FieldPermissions { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/Issue.cs b/src/Merge.Client/Hris/Types/Issue.cs index 559049c7..930fbbd7 100644 --- a/src/Merge.Client/Hris/Types/Issue.cs +++ b/src/Merge.Client/Hris/Types/Issue.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -5,14 +6,15 @@ namespace Merge.Client.Hris; public record Issue { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } /// /// Status of the issue. Options: ('ONGOING', 'RESOLVED') /// - /// - `ONGOING` - ONGOING - /// - `RESOLVED` - RESOLVED + /// * `ONGOING` - ONGOING + /// * `RESOLVED` - RESOLVED /// [JsonPropertyName("status")] public IssueStatusEnum? Status { get; set; } @@ -20,6 +22,7 @@ public record Issue [JsonPropertyName("error_description")] public required string ErrorDescription { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("end_user")] public Dictionary? EndUser { get; set; } @@ -29,12 +32,25 @@ public record Issue [JsonPropertyName("last_incident_time")] public DateTime? LastIncidentTime { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("is_muted")] public bool? IsMuted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("error_details")] public IEnumerable? ErrorDetails { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/SyncStatusStatusEnum.cs b/src/Merge.Client/Hris/Types/LastSyncResultEnum.cs similarity index 82% rename from src/Merge.Client/Hris/Types/SyncStatusStatusEnum.cs rename to src/Merge.Client/Hris/Types/LastSyncResultEnum.cs index 0edcfce2..4d0f6e49 100644 --- a/src/Merge.Client/Hris/Types/SyncStatusStatusEnum.cs +++ b/src/Merge.Client/Hris/Types/LastSyncResultEnum.cs @@ -4,8 +4,8 @@ namespace Merge.Client.Hris; -[JsonConverter(typeof(EnumSerializer))] -public enum SyncStatusStatusEnum +[JsonConverter(typeof(EnumSerializer))] +public enum LastSyncResultEnum { [EnumMember(Value = "SYNCING")] Syncing, diff --git a/src/Merge.Client/Hris/Types/LinkToken.cs b/src/Merge.Client/Hris/Types/LinkToken.cs index d3a0fe3c..7c4b99d2 100644 --- a/src/Merge.Client/Hris/Types/LinkToken.cs +++ b/src/Merge.Client/Hris/Types/LinkToken.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record LinkToken [JsonPropertyName("magic_link_url")] public string? MagicLinkUrl { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/LinkedAccountStatus.cs b/src/Merge.Client/Hris/Types/LinkedAccountStatus.cs index 5650b640..5b8bf85e 100644 --- a/src/Merge.Client/Hris/Types/LinkedAccountStatus.cs +++ b/src/Merge.Client/Hris/Types/LinkedAccountStatus.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -11,6 +12,17 @@ public record LinkedAccountStatus [JsonPropertyName("can_make_request")] public required bool CanMakeRequest { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/Location.cs b/src/Merge.Client/Hris/Types/Location.cs index a9c060df..96727ed8 100644 --- a/src/Merge.Client/Hris/Types/Location.cs +++ b/src/Merge.Client/Hris/Types/Location.cs @@ -1,10 +1,20 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Hris; +/// +/// # The Location Object +/// ### Description +/// The `Location` object is used to represent an address that can be associated with an employee. +/// +/// ### Usage Example +/// Fetch from the `LIST Locations` endpoint and filter by `ID` to show all office locations. +/// public record Location { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -17,12 +27,14 @@ public record Location /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -71,255 +83,255 @@ public record Location /// /// The location's country. /// - /// - `AF` - Afghanistan - /// - `AX` - Åland Islands - /// - `AL` - Albania - /// - `DZ` - Algeria - /// - `AS` - American Samoa - /// - `AD` - Andorra - /// - `AO` - Angola - /// - `AI` - Anguilla - /// - `AQ` - Antarctica - /// - `AG` - Antigua and Barbuda - /// - `AR` - Argentina - /// - `AM` - Armenia - /// - `AW` - Aruba - /// - `AU` - Australia - /// - `AT` - Austria - /// - `AZ` - Azerbaijan - /// - `BS` - Bahamas - /// - `BH` - Bahrain - /// - `BD` - Bangladesh - /// - `BB` - Barbados - /// - `BY` - Belarus - /// - `BE` - Belgium - /// - `BZ` - Belize - /// - `BJ` - Benin - /// - `BM` - Bermuda - /// - `BT` - Bhutan - /// - `BO` - Bolivia - /// - `BQ` - Bonaire, Sint Eustatius and Saba - /// - `BA` - Bosnia and Herzegovina - /// - `BW` - Botswana - /// - `BV` - Bouvet Island - /// - `BR` - Brazil - /// - `IO` - British Indian Ocean Territory - /// - `BN` - Brunei - /// - `BG` - Bulgaria - /// - `BF` - Burkina Faso - /// - `BI` - Burundi - /// - `CV` - Cabo Verde - /// - `KH` - Cambodia - /// - `CM` - Cameroon - /// - `CA` - Canada - /// - `KY` - Cayman Islands - /// - `CF` - Central African Republic - /// - `TD` - Chad - /// - `CL` - Chile - /// - `CN` - China - /// - `CX` - Christmas Island - /// - `CC` - Cocos (Keeling) Islands - /// - `CO` - Colombia - /// - `KM` - Comoros - /// - `CG` - Congo - /// - `CD` - Congo (the Democratic Republic of the) - /// - `CK` - Cook Islands - /// - `CR` - Costa Rica - /// - `CI` - Côte d'Ivoire - /// - `HR` - Croatia - /// - `CU` - Cuba - /// - `CW` - Curaçao - /// - `CY` - Cyprus - /// - `CZ` - Czechia - /// - `DK` - Denmark - /// - `DJ` - Djibouti - /// - `DM` - Dominica - /// - `DO` - Dominican Republic - /// - `EC` - Ecuador - /// - `EG` - Egypt - /// - `SV` - El Salvador - /// - `GQ` - Equatorial Guinea - /// - `ER` - Eritrea - /// - `EE` - Estonia - /// - `SZ` - Eswatini - /// - `ET` - Ethiopia - /// - `FK` - Falkland Islands (Malvinas) - /// - `FO` - Faroe Islands - /// - `FJ` - Fiji - /// - `FI` - Finland - /// - `FR` - France - /// - `GF` - French Guiana - /// - `PF` - French Polynesia - /// - `TF` - French Southern Territories - /// - `GA` - Gabon - /// - `GM` - Gambia - /// - `GE` - Georgia - /// - `DE` - Germany - /// - `GH` - Ghana - /// - `GI` - Gibraltar - /// - `GR` - Greece - /// - `GL` - Greenland - /// - `GD` - Grenada - /// - `GP` - Guadeloupe - /// - `GU` - Guam - /// - `GT` - Guatemala - /// - `GG` - Guernsey - /// - `GN` - Guinea - /// - `GW` - Guinea-Bissau - /// - `GY` - Guyana - /// - `HT` - Haiti - /// - `HM` - Heard Island and McDonald Islands - /// - `VA` - Holy See - /// - `HN` - Honduras - /// - `HK` - Hong Kong - /// - `HU` - Hungary - /// - `IS` - Iceland - /// - `IN` - India - /// - `ID` - Indonesia - /// - `IR` - Iran - /// - `IQ` - Iraq - /// - `IE` - Ireland - /// - `IM` - Isle of Man - /// - `IL` - Israel - /// - `IT` - Italy - /// - `JM` - Jamaica - /// - `JP` - Japan - /// - `JE` - Jersey - /// - `JO` - Jordan - /// - `KZ` - Kazakhstan - /// - `KE` - Kenya - /// - `KI` - Kiribati - /// - `KW` - Kuwait - /// - `KG` - Kyrgyzstan - /// - `LA` - Laos - /// - `LV` - Latvia - /// - `LB` - Lebanon - /// - `LS` - Lesotho - /// - `LR` - Liberia - /// - `LY` - Libya - /// - `LI` - Liechtenstein - /// - `LT` - Lithuania - /// - `LU` - Luxembourg - /// - `MO` - Macao - /// - `MG` - Madagascar - /// - `MW` - Malawi - /// - `MY` - Malaysia - /// - `MV` - Maldives - /// - `ML` - Mali - /// - `MT` - Malta - /// - `MH` - Marshall Islands - /// - `MQ` - Martinique - /// - `MR` - Mauritania - /// - `MU` - Mauritius - /// - `YT` - Mayotte - /// - `MX` - Mexico - /// - `FM` - Micronesia (Federated States of) - /// - `MD` - Moldova - /// - `MC` - Monaco - /// - `MN` - Mongolia - /// - `ME` - Montenegro - /// - `MS` - Montserrat - /// - `MA` - Morocco - /// - `MZ` - Mozambique - /// - `MM` - Myanmar - /// - `NA` - Namibia - /// - `NR` - Nauru - /// - `NP` - Nepal - /// - `NL` - Netherlands - /// - `NC` - New Caledonia - /// - `NZ` - New Zealand - /// - `NI` - Nicaragua - /// - `NE` - Niger - /// - `NG` - Nigeria - /// - `NU` - Niue - /// - `NF` - Norfolk Island - /// - `KP` - North Korea - /// - `MK` - North Macedonia - /// - `MP` - Northern Mariana Islands - /// - `NO` - Norway - /// - `OM` - Oman - /// - `PK` - Pakistan - /// - `PW` - Palau - /// - `PS` - Palestine, State of - /// - `PA` - Panama - /// - `PG` - Papua New Guinea - /// - `PY` - Paraguay - /// - `PE` - Peru - /// - `PH` - Philippines - /// - `PN` - Pitcairn - /// - `PL` - Poland - /// - `PT` - Portugal - /// - `PR` - Puerto Rico - /// - `QA` - Qatar - /// - `RE` - Réunion - /// - `RO` - Romania - /// - `RU` - Russia - /// - `RW` - Rwanda - /// - `BL` - Saint Barthélemy - /// - `SH` - Saint Helena, Ascension and Tristan da Cunha - /// - `KN` - Saint Kitts and Nevis - /// - `LC` - Saint Lucia - /// - `MF` - Saint Martin (French part) - /// - `PM` - Saint Pierre and Miquelon - /// - `VC` - Saint Vincent and the Grenadines - /// - `WS` - Samoa - /// - `SM` - San Marino - /// - `ST` - Sao Tome and Principe - /// - `SA` - Saudi Arabia - /// - `SN` - Senegal - /// - `RS` - Serbia - /// - `SC` - Seychelles - /// - `SL` - Sierra Leone - /// - `SG` - Singapore - /// - `SX` - Sint Maarten (Dutch part) - /// - `SK` - Slovakia - /// - `SI` - Slovenia - /// - `SB` - Solomon Islands - /// - `SO` - Somalia - /// - `ZA` - South Africa - /// - `GS` - South Georgia and the South Sandwich Islands - /// - `KR` - South Korea - /// - `SS` - South Sudan - /// - `ES` - Spain - /// - `LK` - Sri Lanka - /// - `SD` - Sudan - /// - `SR` - Suriname - /// - `SJ` - Svalbard and Jan Mayen - /// - `SE` - Sweden - /// - `CH` - Switzerland - /// - `SY` - Syria - /// - `TW` - Taiwan - /// - `TJ` - Tajikistan - /// - `TZ` - Tanzania - /// - `TH` - Thailand - /// - `TL` - Timor-Leste - /// - `TG` - Togo - /// - `TK` - Tokelau - /// - `TO` - Tonga - /// - `TT` - Trinidad and Tobago - /// - `TN` - Tunisia - /// - `TR` - Turkey - /// - `TM` - Turkmenistan - /// - `TC` - Turks and Caicos Islands - /// - `TV` - Tuvalu - /// - `UG` - Uganda - /// - `UA` - Ukraine - /// - `AE` - United Arab Emirates - /// - `GB` - United Kingdom - /// - `UM` - United States Minor Outlying Islands - /// - `US` - United States of America - /// - `UY` - Uruguay - /// - `UZ` - Uzbekistan - /// - `VU` - Vanuatu - /// - `VE` - Venezuela - /// - `VN` - Vietnam - /// - `VG` - Virgin Islands (British) - /// - `VI` - Virgin Islands (U.S.) - /// - `WF` - Wallis and Futuna - /// - `EH` - Western Sahara - /// - `YE` - Yemen - /// - `ZM` - Zambia - /// - `ZW` - Zimbabwe + /// * `AF` - Afghanistan + /// * `AX` - Åland Islands + /// * `AL` - Albania + /// * `DZ` - Algeria + /// * `AS` - American Samoa + /// * `AD` - Andorra + /// * `AO` - Angola + /// * `AI` - Anguilla + /// * `AQ` - Antarctica + /// * `AG` - Antigua and Barbuda + /// * `AR` - Argentina + /// * `AM` - Armenia + /// * `AW` - Aruba + /// * `AU` - Australia + /// * `AT` - Austria + /// * `AZ` - Azerbaijan + /// * `BS` - Bahamas + /// * `BH` - Bahrain + /// * `BD` - Bangladesh + /// * `BB` - Barbados + /// * `BY` - Belarus + /// * `BE` - Belgium + /// * `BZ` - Belize + /// * `BJ` - Benin + /// * `BM` - Bermuda + /// * `BT` - Bhutan + /// * `BO` - Bolivia + /// * `BQ` - Bonaire, Sint Eustatius and Saba + /// * `BA` - Bosnia and Herzegovina + /// * `BW` - Botswana + /// * `BV` - Bouvet Island + /// * `BR` - Brazil + /// * `IO` - British Indian Ocean Territory + /// * `BN` - Brunei + /// * `BG` - Bulgaria + /// * `BF` - Burkina Faso + /// * `BI` - Burundi + /// * `CV` - Cabo Verde + /// * `KH` - Cambodia + /// * `CM` - Cameroon + /// * `CA` - Canada + /// * `KY` - Cayman Islands + /// * `CF` - Central African Republic + /// * `TD` - Chad + /// * `CL` - Chile + /// * `CN` - China + /// * `CX` - Christmas Island + /// * `CC` - Cocos (Keeling) Islands + /// * `CO` - Colombia + /// * `KM` - Comoros + /// * `CG` - Congo + /// * `CD` - Congo (the Democratic Republic of the) + /// * `CK` - Cook Islands + /// * `CR` - Costa Rica + /// * `CI` - Côte d'Ivoire + /// * `HR` - Croatia + /// * `CU` - Cuba + /// * `CW` - Curaçao + /// * `CY` - Cyprus + /// * `CZ` - Czechia + /// * `DK` - Denmark + /// * `DJ` - Djibouti + /// * `DM` - Dominica + /// * `DO` - Dominican Republic + /// * `EC` - Ecuador + /// * `EG` - Egypt + /// * `SV` - El Salvador + /// * `GQ` - Equatorial Guinea + /// * `ER` - Eritrea + /// * `EE` - Estonia + /// * `SZ` - Eswatini + /// * `ET` - Ethiopia + /// * `FK` - Falkland Islands (Malvinas) + /// * `FO` - Faroe Islands + /// * `FJ` - Fiji + /// * `FI` - Finland + /// * `FR` - France + /// * `GF` - French Guiana + /// * `PF` - French Polynesia + /// * `TF` - French Southern Territories + /// * `GA` - Gabon + /// * `GM` - Gambia + /// * `GE` - Georgia + /// * `DE` - Germany + /// * `GH` - Ghana + /// * `GI` - Gibraltar + /// * `GR` - Greece + /// * `GL` - Greenland + /// * `GD` - Grenada + /// * `GP` - Guadeloupe + /// * `GU` - Guam + /// * `GT` - Guatemala + /// * `GG` - Guernsey + /// * `GN` - Guinea + /// * `GW` - Guinea-Bissau + /// * `GY` - Guyana + /// * `HT` - Haiti + /// * `HM` - Heard Island and McDonald Islands + /// * `VA` - Holy See + /// * `HN` - Honduras + /// * `HK` - Hong Kong + /// * `HU` - Hungary + /// * `IS` - Iceland + /// * `IN` - India + /// * `ID` - Indonesia + /// * `IR` - Iran + /// * `IQ` - Iraq + /// * `IE` - Ireland + /// * `IM` - Isle of Man + /// * `IL` - Israel + /// * `IT` - Italy + /// * `JM` - Jamaica + /// * `JP` - Japan + /// * `JE` - Jersey + /// * `JO` - Jordan + /// * `KZ` - Kazakhstan + /// * `KE` - Kenya + /// * `KI` - Kiribati + /// * `KW` - Kuwait + /// * `KG` - Kyrgyzstan + /// * `LA` - Laos + /// * `LV` - Latvia + /// * `LB` - Lebanon + /// * `LS` - Lesotho + /// * `LR` - Liberia + /// * `LY` - Libya + /// * `LI` - Liechtenstein + /// * `LT` - Lithuania + /// * `LU` - Luxembourg + /// * `MO` - Macao + /// * `MG` - Madagascar + /// * `MW` - Malawi + /// * `MY` - Malaysia + /// * `MV` - Maldives + /// * `ML` - Mali + /// * `MT` - Malta + /// * `MH` - Marshall Islands + /// * `MQ` - Martinique + /// * `MR` - Mauritania + /// * `MU` - Mauritius + /// * `YT` - Mayotte + /// * `MX` - Mexico + /// * `FM` - Micronesia (Federated States of) + /// * `MD` - Moldova + /// * `MC` - Monaco + /// * `MN` - Mongolia + /// * `ME` - Montenegro + /// * `MS` - Montserrat + /// * `MA` - Morocco + /// * `MZ` - Mozambique + /// * `MM` - Myanmar + /// * `NA` - Namibia + /// * `NR` - Nauru + /// * `NP` - Nepal + /// * `NL` - Netherlands + /// * `NC` - New Caledonia + /// * `NZ` - New Zealand + /// * `NI` - Nicaragua + /// * `NE` - Niger + /// * `NG` - Nigeria + /// * `NU` - Niue + /// * `NF` - Norfolk Island + /// * `KP` - North Korea + /// * `MK` - North Macedonia + /// * `MP` - Northern Mariana Islands + /// * `NO` - Norway + /// * `OM` - Oman + /// * `PK` - Pakistan + /// * `PW` - Palau + /// * `PS` - Palestine, State of + /// * `PA` - Panama + /// * `PG` - Papua New Guinea + /// * `PY` - Paraguay + /// * `PE` - Peru + /// * `PH` - Philippines + /// * `PN` - Pitcairn + /// * `PL` - Poland + /// * `PT` - Portugal + /// * `PR` - Puerto Rico + /// * `QA` - Qatar + /// * `RE` - Réunion + /// * `RO` - Romania + /// * `RU` - Russia + /// * `RW` - Rwanda + /// * `BL` - Saint Barthélemy + /// * `SH` - Saint Helena, Ascension and Tristan da Cunha + /// * `KN` - Saint Kitts and Nevis + /// * `LC` - Saint Lucia + /// * `MF` - Saint Martin (French part) + /// * `PM` - Saint Pierre and Miquelon + /// * `VC` - Saint Vincent and the Grenadines + /// * `WS` - Samoa + /// * `SM` - San Marino + /// * `ST` - Sao Tome and Principe + /// * `SA` - Saudi Arabia + /// * `SN` - Senegal + /// * `RS` - Serbia + /// * `SC` - Seychelles + /// * `SL` - Sierra Leone + /// * `SG` - Singapore + /// * `SX` - Sint Maarten (Dutch part) + /// * `SK` - Slovakia + /// * `SI` - Slovenia + /// * `SB` - Solomon Islands + /// * `SO` - Somalia + /// * `ZA` - South Africa + /// * `GS` - South Georgia and the South Sandwich Islands + /// * `KR` - South Korea + /// * `SS` - South Sudan + /// * `ES` - Spain + /// * `LK` - Sri Lanka + /// * `SD` - Sudan + /// * `SR` - Suriname + /// * `SJ` - Svalbard and Jan Mayen + /// * `SE` - Sweden + /// * `CH` - Switzerland + /// * `SY` - Syria + /// * `TW` - Taiwan + /// * `TJ` - Tajikistan + /// * `TZ` - Tanzania + /// * `TH` - Thailand + /// * `TL` - Timor-Leste + /// * `TG` - Togo + /// * `TK` - Tokelau + /// * `TO` - Tonga + /// * `TT` - Trinidad and Tobago + /// * `TN` - Tunisia + /// * `TR` - Turkey + /// * `TM` - Turkmenistan + /// * `TC` - Turks and Caicos Islands + /// * `TV` - Tuvalu + /// * `UG` - Uganda + /// * `UA` - Ukraine + /// * `AE` - United Arab Emirates + /// * `GB` - United Kingdom + /// * `UM` - United States Minor Outlying Islands + /// * `US` - United States of America + /// * `UY` - Uruguay + /// * `UZ` - Uzbekistan + /// * `VU` - Vanuatu + /// * `VE` - Venezuela + /// * `VN` - Vietnam + /// * `VG` - Virgin Islands (British) + /// * `VI` - Virgin Islands (U.S.) + /// * `WF` - Wallis and Futuna + /// * `EH` - Western Sahara + /// * `YE` - Yemen + /// * `ZM` - Zambia + /// * `ZW` - Zimbabwe /// [JsonPropertyName("country")] public CountryEnum? Country { get; set; } @@ -327,8 +339,8 @@ public record Location /// /// The location's type. Can be either WORK or HOME /// - /// - `HOME` - HOME - /// - `WORK` - WORK + /// * `HOME` - HOME + /// * `WORK` - WORK /// [JsonPropertyName("location_type")] public LocationTypeEnum? LocationType { get; set; } @@ -336,15 +348,29 @@ public record Location /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/MetaResponse.cs b/src/Merge.Client/Hris/Types/MetaResponse.cs index a83d5a4c..fc28ec83 100644 --- a/src/Merge.Client/Hris/Types/MetaResponse.cs +++ b/src/Merge.Client/Hris/Types/MetaResponse.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -21,6 +22,17 @@ public record MetaResponse [JsonPropertyName("has_required_linked_account_params")] public required bool HasRequiredLinkedAccountParams { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/ModelOperation.cs b/src/Merge.Client/Hris/Types/ModelOperation.cs index 52ca9bd1..357ce4db 100644 --- a/src/Merge.Client/Hris/Types/ModelOperation.cs +++ b/src/Merge.Client/Hris/Types/ModelOperation.cs @@ -1,8 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Hris; +/// +/// # The ModelOperation Object +/// ### Description +/// The `ModelOperation` object is used to represent the operations that are currently supported for a given model. +/// +/// ### Usage Example +/// View what operations are supported for the `Candidate` endpoint. +/// public record ModelOperation { [JsonPropertyName("model_name")] @@ -17,6 +26,17 @@ public record ModelOperation [JsonPropertyName("supported_fields")] public IEnumerable SupportedFields { get; set; } = new List(); + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/ModelPermissionDeserializer.cs b/src/Merge.Client/Hris/Types/ModelPermissionDeserializer.cs index e7aee036..2c60cf93 100644 --- a/src/Merge.Client/Hris/Types/ModelPermissionDeserializer.cs +++ b/src/Merge.Client/Hris/Types/ModelPermissionDeserializer.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -8,6 +9,17 @@ public record ModelPermissionDeserializer [JsonPropertyName("is_enabled")] public bool? IsEnabled { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/ModelPermissionDeserializerRequest.cs b/src/Merge.Client/Hris/Types/ModelPermissionDeserializerRequest.cs index 70f7b7bf..91a6d9e4 100644 --- a/src/Merge.Client/Hris/Types/ModelPermissionDeserializerRequest.cs +++ b/src/Merge.Client/Hris/Types/ModelPermissionDeserializerRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -8,6 +9,17 @@ public record ModelPermissionDeserializerRequest [JsonPropertyName("is_enabled")] public bool? IsEnabled { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/MultipartFormFieldRequest.cs b/src/Merge.Client/Hris/Types/MultipartFormFieldRequest.cs index 61496b00..6991ad23 100644 --- a/src/Merge.Client/Hris/Types/MultipartFormFieldRequest.cs +++ b/src/Merge.Client/Hris/Types/MultipartFormFieldRequest.cs @@ -1,8 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Hris; +/// +/// # The MultipartFormField Object +/// ### Description +/// The `MultipartFormField` object is used to represent fields in an HTTP request using `multipart/form-data`. +/// +/// ### Usage Example +/// Create a `MultipartFormField` to define a multipart form entry. +/// public record MultipartFormFieldRequest { /// @@ -20,9 +29,9 @@ public record MultipartFormFieldRequest /// /// The encoding of the value of `data`. Defaults to `RAW` if not defined. /// - /// - `RAW` - RAW - /// - `BASE64` - BASE64 - /// - `GZIP_BASE64` - GZIP_BASE64 + /// * `RAW` - RAW + /// * `BASE64` - BASE64 + /// * `GZIP_BASE64` - GZIP_BASE64 /// [JsonPropertyName("encoding")] public EncodingEnum? Encoding { get; set; } @@ -39,6 +48,17 @@ public record MultipartFormFieldRequest [JsonPropertyName("content_type")] public string? ContentType { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/PaginatedAccountDetailsAndActionsList.cs b/src/Merge.Client/Hris/Types/PaginatedAccountDetailsAndActionsList.cs index 83218a9b..6e92210e 100644 --- a/src/Merge.Client/Hris/Types/PaginatedAccountDetailsAndActionsList.cs +++ b/src/Merge.Client/Hris/Types/PaginatedAccountDetailsAndActionsList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedAccountDetailsAndActionsList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/PaginatedAuditLogEventList.cs b/src/Merge.Client/Hris/Types/PaginatedAuditLogEventList.cs index 60fa78f1..c01b9537 100644 --- a/src/Merge.Client/Hris/Types/PaginatedAuditLogEventList.cs +++ b/src/Merge.Client/Hris/Types/PaginatedAuditLogEventList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedAuditLogEventList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/PaginatedBankInfoList.cs b/src/Merge.Client/Hris/Types/PaginatedBankInfoList.cs index 4d351be3..cb6930d2 100644 --- a/src/Merge.Client/Hris/Types/PaginatedBankInfoList.cs +++ b/src/Merge.Client/Hris/Types/PaginatedBankInfoList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedBankInfoList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/PaginatedBenefitList.cs b/src/Merge.Client/Hris/Types/PaginatedBenefitList.cs index 71ab358e..b42904f9 100644 --- a/src/Merge.Client/Hris/Types/PaginatedBenefitList.cs +++ b/src/Merge.Client/Hris/Types/PaginatedBenefitList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedBenefitList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/PaginatedCompanyList.cs b/src/Merge.Client/Hris/Types/PaginatedCompanyList.cs index de7edadf..443447d0 100644 --- a/src/Merge.Client/Hris/Types/PaginatedCompanyList.cs +++ b/src/Merge.Client/Hris/Types/PaginatedCompanyList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedCompanyList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/PaginatedDependentList.cs b/src/Merge.Client/Hris/Types/PaginatedDependentList.cs index 27532a57..34d3c373 100644 --- a/src/Merge.Client/Hris/Types/PaginatedDependentList.cs +++ b/src/Merge.Client/Hris/Types/PaginatedDependentList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedDependentList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/PaginatedEmployeeList.cs b/src/Merge.Client/Hris/Types/PaginatedEmployeeList.cs index 0bea2dfb..f5018962 100644 --- a/src/Merge.Client/Hris/Types/PaginatedEmployeeList.cs +++ b/src/Merge.Client/Hris/Types/PaginatedEmployeeList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedEmployeeList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/PaginatedEmployeePayrollRunList.cs b/src/Merge.Client/Hris/Types/PaginatedEmployeePayrollRunList.cs index 12de6ed7..6eced244 100644 --- a/src/Merge.Client/Hris/Types/PaginatedEmployeePayrollRunList.cs +++ b/src/Merge.Client/Hris/Types/PaginatedEmployeePayrollRunList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedEmployeePayrollRunList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/PaginatedEmployerBenefitList.cs b/src/Merge.Client/Hris/Types/PaginatedEmployerBenefitList.cs index d3b2ddd9..4aa35b41 100644 --- a/src/Merge.Client/Hris/Types/PaginatedEmployerBenefitList.cs +++ b/src/Merge.Client/Hris/Types/PaginatedEmployerBenefitList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedEmployerBenefitList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/PaginatedEmploymentList.cs b/src/Merge.Client/Hris/Types/PaginatedEmploymentList.cs index dfe77d68..107c7473 100644 --- a/src/Merge.Client/Hris/Types/PaginatedEmploymentList.cs +++ b/src/Merge.Client/Hris/Types/PaginatedEmploymentList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedEmploymentList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/PaginatedGroupList.cs b/src/Merge.Client/Hris/Types/PaginatedGroupList.cs index 48751e22..ce604f33 100644 --- a/src/Merge.Client/Hris/Types/PaginatedGroupList.cs +++ b/src/Merge.Client/Hris/Types/PaginatedGroupList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedGroupList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/PaginatedIssueList.cs b/src/Merge.Client/Hris/Types/PaginatedIssueList.cs index 1fb5a8e6..c0287081 100644 --- a/src/Merge.Client/Hris/Types/PaginatedIssueList.cs +++ b/src/Merge.Client/Hris/Types/PaginatedIssueList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedIssueList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/PaginatedLocationList.cs b/src/Merge.Client/Hris/Types/PaginatedLocationList.cs index d0eafe3a..c7a73911 100644 --- a/src/Merge.Client/Hris/Types/PaginatedLocationList.cs +++ b/src/Merge.Client/Hris/Types/PaginatedLocationList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedLocationList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/PaginatedPayGroupList.cs b/src/Merge.Client/Hris/Types/PaginatedPayGroupList.cs index 47819117..ab4973a8 100644 --- a/src/Merge.Client/Hris/Types/PaginatedPayGroupList.cs +++ b/src/Merge.Client/Hris/Types/PaginatedPayGroupList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedPayGroupList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/PaginatedPayrollRunList.cs b/src/Merge.Client/Hris/Types/PaginatedPayrollRunList.cs index 8601ed66..04c3c377 100644 --- a/src/Merge.Client/Hris/Types/PaginatedPayrollRunList.cs +++ b/src/Merge.Client/Hris/Types/PaginatedPayrollRunList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedPayrollRunList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/PaginatedSyncStatusList.cs b/src/Merge.Client/Hris/Types/PaginatedSyncStatusList.cs index 2f2ad82f..1750a2d8 100644 --- a/src/Merge.Client/Hris/Types/PaginatedSyncStatusList.cs +++ b/src/Merge.Client/Hris/Types/PaginatedSyncStatusList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedSyncStatusList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/PaginatedTeamList.cs b/src/Merge.Client/Hris/Types/PaginatedTeamList.cs index c1967137..591c1e43 100644 --- a/src/Merge.Client/Hris/Types/PaginatedTeamList.cs +++ b/src/Merge.Client/Hris/Types/PaginatedTeamList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedTeamList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/PaginatedTimeOffBalanceList.cs b/src/Merge.Client/Hris/Types/PaginatedTimeOffBalanceList.cs index bbe14de9..411f8cb0 100644 --- a/src/Merge.Client/Hris/Types/PaginatedTimeOffBalanceList.cs +++ b/src/Merge.Client/Hris/Types/PaginatedTimeOffBalanceList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedTimeOffBalanceList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/PaginatedTimeOffList.cs b/src/Merge.Client/Hris/Types/PaginatedTimeOffList.cs index 134dc909..730a490d 100644 --- a/src/Merge.Client/Hris/Types/PaginatedTimeOffList.cs +++ b/src/Merge.Client/Hris/Types/PaginatedTimeOffList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedTimeOffList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/PaginatedTimesheetEntryList.cs b/src/Merge.Client/Hris/Types/PaginatedTimesheetEntryList.cs index cab1db3e..03759733 100644 --- a/src/Merge.Client/Hris/Types/PaginatedTimesheetEntryList.cs +++ b/src/Merge.Client/Hris/Types/PaginatedTimesheetEntryList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedTimesheetEntryList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/PayGroup.cs b/src/Merge.Client/Hris/Types/PayGroup.cs index fc8dbb09..bcb46ceb 100644 --- a/src/Merge.Client/Hris/Types/PayGroup.cs +++ b/src/Merge.Client/Hris/Types/PayGroup.cs @@ -1,10 +1,20 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Hris; +/// +/// # The PayGroup Object +/// ### Description +/// The `PayGroup` object is used to represent a subset of employees that are put together for payroll processing purposes. +/// +/// ### Usage Example +/// Fetch from the `LIST PayGroup` endpoint and filter by `ID` to show all pay group information. +/// public record PayGroup { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -17,12 +27,14 @@ public record PayGroup /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -35,15 +47,29 @@ public record PayGroup /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/PayrollRun.cs b/src/Merge.Client/Hris/Types/PayrollRun.cs index 5984b042..fb847699 100644 --- a/src/Merge.Client/Hris/Types/PayrollRun.cs +++ b/src/Merge.Client/Hris/Types/PayrollRun.cs @@ -1,10 +1,20 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Hris; +/// +/// # The PayrollRun Object +/// ### Description +/// The `PayrollRun` object is used to represent a group of pay statements for a specific pay schedule. +/// +/// ### Usage Example +/// Fetch from the `LIST PayrollRuns` endpoint and filter by `ID` to show all payroll runs. +/// public record PayrollRun { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -17,23 +27,25 @@ public record PayrollRun /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } /// /// The state of the payroll run /// - /// - `PAID` - PAID - /// - `DRAFT` - DRAFT - /// - `APPROVED` - APPROVED - /// - `FAILED` - FAILED - /// - `CLOSED` - CLOSED + /// * `PAID` - PAID + /// * `DRAFT` - DRAFT + /// * `APPROVED` - APPROVED + /// * `FAILED` - FAILED + /// * `CLOSED` - CLOSED /// [JsonPropertyName("run_state")] public RunStateEnum? RunState { get; set; } @@ -41,11 +53,11 @@ public record PayrollRun /// /// The type of the payroll run /// - /// - `REGULAR` - REGULAR - /// - `OFF_CYCLE` - OFF_CYCLE - /// - `CORRECTION` - CORRECTION - /// - `TERMINATION` - TERMINATION - /// - `SIGN_ON_BONUS` - SIGN_ON_BONUS + /// * `REGULAR` - REGULAR + /// * `OFF_CYCLE` - OFF_CYCLE + /// * `CORRECTION` - CORRECTION + /// * `TERMINATION` - TERMINATION + /// * `SIGN_ON_BONUS` - SIGN_ON_BONUS /// [JsonPropertyName("run_type")] public RunTypeEnum? RunType { get; set; } @@ -71,15 +83,29 @@ public record PayrollRun /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/RemoteData.cs b/src/Merge.Client/Hris/Types/RemoteData.cs index 1df174a3..5f8ca3d5 100644 --- a/src/Merge.Client/Hris/Types/RemoteData.cs +++ b/src/Merge.Client/Hris/Types/RemoteData.cs @@ -1,8 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Hris; +/// +/// # The RemoteData Object +/// ### Description +/// The `RemoteData` object is used to represent the full data pulled from the third-party API for an object. +/// +/// ### Usage Example +/// TODO +/// public record RemoteData { /// @@ -11,9 +20,21 @@ public record RemoteData [JsonPropertyName("path")] public required string Path { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("data")] public object? Data { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/RemoteEndpointInfo.cs b/src/Merge.Client/Hris/Types/RemoteEndpointInfo.cs index 7dc1f537..64c41baa 100644 --- a/src/Merge.Client/Hris/Types/RemoteEndpointInfo.cs +++ b/src/Merge.Client/Hris/Types/RemoteEndpointInfo.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record RemoteEndpointInfo [JsonPropertyName("field_traversal_path")] public IEnumerable FieldTraversalPath { get; set; } = new List(); + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/RemoteFieldApi.cs b/src/Merge.Client/Hris/Types/RemoteFieldApi.cs index c6b393e4..a8031de9 100644 --- a/src/Merge.Client/Hris/Types/RemoteFieldApi.cs +++ b/src/Merge.Client/Hris/Types/RemoteFieldApi.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; @@ -21,9 +22,21 @@ public record RemoteFieldApi [JsonPropertyName("advanced_metadata")] public AdvancedMetadata? AdvancedMetadata { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("coverage")] public OneOf? Coverage { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/RemoteFieldApiResponse.cs b/src/Merge.Client/Hris/Types/RemoteFieldApiResponse.cs index 9045b59b..83af98ac 100644 --- a/src/Merge.Client/Hris/Types/RemoteFieldApiResponse.cs +++ b/src/Merge.Client/Hris/Types/RemoteFieldApiResponse.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -53,6 +54,17 @@ public record RemoteFieldApiResponse [JsonPropertyName("TimesheetEntry")] public IEnumerable? TimesheetEntry { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/RemoteKey.cs b/src/Merge.Client/Hris/Types/RemoteKey.cs index bf87f691..b39f4b50 100644 --- a/src/Merge.Client/Hris/Types/RemoteKey.cs +++ b/src/Merge.Client/Hris/Types/RemoteKey.cs @@ -1,8 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Hris; +/// +/// # The RemoteKey Object +/// ### Description +/// The `RemoteKey` object is used to represent a request for a new remote key. +/// +/// ### Usage Example +/// Post a `GenerateRemoteKey` to receive a new `RemoteKey`. +/// public record RemoteKey { [JsonPropertyName("name")] @@ -11,6 +20,17 @@ public record RemoteKey [JsonPropertyName("key")] public required string Key { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/RemoteResponse.cs b/src/Merge.Client/Hris/Types/RemoteResponse.cs index 01f48ae7..632e5e25 100644 --- a/src/Merge.Client/Hris/Types/RemoteResponse.cs +++ b/src/Merge.Client/Hris/Types/RemoteResponse.cs @@ -1,8 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Hris; +/// +/// # The RemoteResponse Object +/// ### Description +/// The `RemoteResponse` object is used to represent information returned from a third-party endpoint. +/// +/// ### Usage Example +/// View the `RemoteResponse` returned from your `DataPassthrough`. +/// public record RemoteResponse { [JsonPropertyName("method")] @@ -26,6 +35,17 @@ public record RemoteResponse [JsonPropertyName("headers")] public Dictionary? Headers { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/StatusFd5Enum.cs b/src/Merge.Client/Hris/Types/StatusFd5Enum.cs new file mode 100644 index 00000000..ec7d9f87 --- /dev/null +++ b/src/Merge.Client/Hris/Types/StatusFd5Enum.cs @@ -0,0 +1,27 @@ +using System.Runtime.Serialization; +using System.Text.Json.Serialization; +using Merge.Client.Core; + +namespace Merge.Client.Hris; + +[JsonConverter(typeof(EnumSerializer))] +public enum StatusFd5Enum +{ + [EnumMember(Value = "SYNCING")] + Syncing, + + [EnumMember(Value = "DONE")] + Done, + + [EnumMember(Value = "FAILED")] + Failed, + + [EnumMember(Value = "DISABLED")] + Disabled, + + [EnumMember(Value = "PAUSED")] + Paused, + + [EnumMember(Value = "PARTIALLY_SYNCED")] + PartiallySynced, +} diff --git a/src/Merge.Client/Hris/Types/SyncStatus.cs b/src/Merge.Client/Hris/Types/SyncStatus.cs index 073cfe2a..3298fd10 100644 --- a/src/Merge.Client/Hris/Types/SyncStatus.cs +++ b/src/Merge.Client/Hris/Types/SyncStatus.cs @@ -1,8 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Hris; +/// +/// # The SyncStatus Object +/// ### Description +/// The `SyncStatus` object is used to represent the syncing state of an account +/// +/// ### Usage Example +/// View the `SyncStatus` for an account to see how recently its models were synced. +/// public record SyncStatus { [JsonPropertyName("model_name")] @@ -17,8 +26,14 @@ public record SyncStatus [JsonPropertyName("next_sync_start")] public DateTime? NextSyncStart { get; set; } + [JsonPropertyName("last_sync_result")] + public LastSyncResultEnum? LastSyncResult { get; set; } + + [JsonPropertyName("last_sync_finished")] + public DateTime? LastSyncFinished { get; set; } + [JsonPropertyName("status")] - public required SyncStatusStatusEnum Status { get; set; } + public required StatusFd5Enum Status { get; set; } [JsonPropertyName("is_initial_sync")] public required bool IsInitialSync { get; set; } @@ -26,6 +41,17 @@ public record SyncStatus [JsonPropertyName("selective_sync_configurations_usage")] public SelectiveSyncConfigurationsUsageEnum? SelectiveSyncConfigurationsUsage { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/Tax.cs b/src/Merge.Client/Hris/Types/Tax.cs index 0a439c8a..4987767b 100644 --- a/src/Merge.Client/Hris/Types/Tax.cs +++ b/src/Merge.Client/Hris/Types/Tax.cs @@ -1,10 +1,20 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Hris; +/// +/// # The Tax Object +/// ### Description +/// The `Tax` object is used to represent an array of the tax deductions for a given employee's payroll run. +/// +/// ### Usage Example +/// Fetch from the `LIST Taxes` endpoint and filter by `ID` to show all taxes. +/// public record Tax { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -17,12 +27,14 @@ public record Tax /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -53,12 +65,25 @@ public record Tax [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/Team.cs b/src/Merge.Client/Hris/Types/Team.cs index 45aa7c40..49ac3e11 100644 --- a/src/Merge.Client/Hris/Types/Team.cs +++ b/src/Merge.Client/Hris/Types/Team.cs @@ -1,11 +1,21 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Hris; +/// +/// # The Team Object +/// ### Description +/// The `Team` object is used to represent a subdivision of the company, usually a department. Each employee will be grouped into one specific Team. +/// +/// ### Usage Example +/// If you're building a way to filter by `Team`, you'd hit the `GET Teams` endpoint to fetch the `Teams`, and then use the `ID` of the team your user selects to filter the `GET Employees` endpoint. +/// public record Team { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -18,12 +28,14 @@ public record Team /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -42,15 +54,29 @@ public record Team /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/TimeOff.cs b/src/Merge.Client/Hris/Types/TimeOff.cs index eba93272..c2cf5c79 100644 --- a/src/Merge.Client/Hris/Types/TimeOff.cs +++ b/src/Merge.Client/Hris/Types/TimeOff.cs @@ -1,11 +1,21 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Hris; +/// +/// # The TimeOff Object +/// ### Description +/// The `TimeOff` object is used to represent all employees' Time Off entries. +/// +/// ### Usage Example +/// Fetch from the `LIST TimeOffs` endpoint and filter by `ID` to show all time off requests. +/// public record TimeOff { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -18,12 +28,14 @@ public record TimeOff /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -42,11 +54,11 @@ public record TimeOff /// /// The status of this time off request. /// - /// - `REQUESTED` - REQUESTED - /// - `APPROVED` - APPROVED - /// - `DECLINED` - DECLINED - /// - `CANCELLED` - CANCELLED - /// - `DELETED` - DELETED + /// * `REQUESTED` - REQUESTED + /// * `APPROVED` - APPROVED + /// * `DECLINED` - DECLINED + /// * `CANCELLED` - CANCELLED + /// * `DELETED` - DELETED /// [JsonPropertyName("status")] public TimeOffStatusEnum? Status { get; set; } @@ -60,8 +72,8 @@ public record TimeOff /// /// The measurement that the third-party integration uses to count time requested. /// - /// - `HOURS` - HOURS - /// - `DAYS` - DAYS + /// * `HOURS` - HOURS + /// * `DAYS` - DAYS /// [JsonPropertyName("units")] public UnitsEnum? Units { get; set; } @@ -75,12 +87,12 @@ public record TimeOff /// /// The type of time off request. /// - /// - `VACATION` - VACATION - /// - `SICK` - SICK - /// - `PERSONAL` - PERSONAL - /// - `JURY_DUTY` - JURY_DUTY - /// - `VOLUNTEER` - VOLUNTEER - /// - `BEREAVEMENT` - BEREAVEMENT + /// * `VACATION` - VACATION + /// * `SICK` - SICK + /// * `PERSONAL` - PERSONAL + /// * `JURY_DUTY` - JURY_DUTY + /// * `VOLUNTEER` - VOLUNTEER + /// * `BEREAVEMENT` - BEREAVEMENT /// [JsonPropertyName("request_type")] public RequestTypeEnum? RequestType { get; set; } @@ -100,15 +112,29 @@ public record TimeOff /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/TimeOffBalance.cs b/src/Merge.Client/Hris/Types/TimeOffBalance.cs index 22cfd56a..738d87f9 100644 --- a/src/Merge.Client/Hris/Types/TimeOffBalance.cs +++ b/src/Merge.Client/Hris/Types/TimeOffBalance.cs @@ -1,11 +1,21 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Hris; +/// +/// # The TimeOffBalance Object +/// ### Description +/// The `TimeOffBalance` object is used to represent current balances for an employee's Time Off plan. +/// +/// ### Usage Example +/// Fetch from the `LIST TimeOffBalances` endpoint and filter by `ID` to show all time off balances. +/// public record TimeOffBalance { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -18,12 +28,14 @@ public record TimeOffBalance /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -48,12 +60,12 @@ public record TimeOffBalance /// /// The policy type of this time off balance. /// - /// - `VACATION` - VACATION - /// - `SICK` - SICK - /// - `PERSONAL` - PERSONAL - /// - `JURY_DUTY` - JURY_DUTY - /// - `VOLUNTEER` - VOLUNTEER - /// - `BEREAVEMENT` - BEREAVEMENT + /// * `VACATION` - VACATION + /// * `SICK` - SICK + /// * `PERSONAL` - PERSONAL + /// * `JURY_DUTY` - JURY_DUTY + /// * `VOLUNTEER` - VOLUNTEER + /// * `BEREAVEMENT` - BEREAVEMENT /// [JsonPropertyName("policy_type")] public PolicyTypeEnum? PolicyType { get; set; } @@ -61,15 +73,29 @@ public record TimeOffBalance /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/TimeOffRequest.cs b/src/Merge.Client/Hris/Types/TimeOffRequest.cs index 57f7ca4c..8cf591d1 100644 --- a/src/Merge.Client/Hris/Types/TimeOffRequest.cs +++ b/src/Merge.Client/Hris/Types/TimeOffRequest.cs @@ -1,9 +1,18 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Hris; +/// +/// # The TimeOff Object +/// ### Description +/// The `TimeOff` object is used to represent all employees' Time Off entries. +/// +/// ### Usage Example +/// Fetch from the `LIST TimeOffs` endpoint and filter by `ID` to show all time off requests. +/// public record TimeOffRequest { /// @@ -21,11 +30,11 @@ public record TimeOffRequest /// /// The status of this time off request. /// - /// - `REQUESTED` - REQUESTED - /// - `APPROVED` - APPROVED - /// - `DECLINED` - DECLINED - /// - `CANCELLED` - CANCELLED - /// - `DELETED` - DELETED + /// * `REQUESTED` - REQUESTED + /// * `APPROVED` - APPROVED + /// * `DECLINED` - DECLINED + /// * `CANCELLED` - CANCELLED + /// * `DELETED` - DELETED /// [JsonPropertyName("status")] public TimeOffStatusEnum? Status { get; set; } @@ -39,8 +48,8 @@ public record TimeOffRequest /// /// The measurement that the third-party integration uses to count time requested. /// - /// - `HOURS` - HOURS - /// - `DAYS` - DAYS + /// * `HOURS` - HOURS + /// * `DAYS` - DAYS /// [JsonPropertyName("units")] public UnitsEnum? Units { get; set; } @@ -54,12 +63,12 @@ public record TimeOffRequest /// /// The type of time off request. /// - /// - `VACATION` - VACATION - /// - `SICK` - SICK - /// - `PERSONAL` - PERSONAL - /// - `JURY_DUTY` - JURY_DUTY - /// - `VOLUNTEER` - VOLUNTEER - /// - `BEREAVEMENT` - BEREAVEMENT + /// * `VACATION` - VACATION + /// * `SICK` - SICK + /// * `PERSONAL` - PERSONAL + /// * `JURY_DUTY` - JURY_DUTY + /// * `VOLUNTEER` - VOLUNTEER + /// * `BEREAVEMENT` - BEREAVEMENT /// [JsonPropertyName("request_type")] public RequestTypeEnum? RequestType { get; set; } @@ -76,12 +85,25 @@ public record TimeOffRequest [JsonPropertyName("end_time")] public DateTime? EndTime { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("integration_params")] public Dictionary? IntegrationParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("linked_account_params")] public Dictionary? LinkedAccountParams { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/TimeOffResponse.cs b/src/Merge.Client/Hris/Types/TimeOffResponse.cs index 635594b5..e1c04bb4 100644 --- a/src/Merge.Client/Hris/Types/TimeOffResponse.cs +++ b/src/Merge.Client/Hris/Types/TimeOffResponse.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -19,6 +20,17 @@ public record TimeOffResponse [JsonPropertyName("logs")] public IEnumerable? Logs { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/TimesheetEntry.cs b/src/Merge.Client/Hris/Types/TimesheetEntry.cs index 520e65e6..4066a953 100644 --- a/src/Merge.Client/Hris/Types/TimesheetEntry.cs +++ b/src/Merge.Client/Hris/Types/TimesheetEntry.cs @@ -1,11 +1,22 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Hris; +/// +/// # The Timesheet Entry Object +/// ### Description +/// The `Timesheet Entry` object is used to track coverage for hours worked by an 'Employee'. +/// +/// +/// ### Usage Example +/// GET and POST Timesheet Entries +/// public record TimesheetEntry { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -18,12 +29,14 @@ public record TimesheetEntry /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -54,15 +67,29 @@ public record TimesheetEntry /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/TimesheetEntryRequest.cs b/src/Merge.Client/Hris/Types/TimesheetEntryRequest.cs index 9f0fa1bb..60485a94 100644 --- a/src/Merge.Client/Hris/Types/TimesheetEntryRequest.cs +++ b/src/Merge.Client/Hris/Types/TimesheetEntryRequest.cs @@ -1,9 +1,19 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Hris; +/// +/// # The Timesheet Entry Object +/// ### Description +/// The `Timesheet Entry` object is used to track coverage for hours worked by an 'Employee'. +/// +/// +/// ### Usage Example +/// GET and POST Timesheet Entries +/// public record TimesheetEntryRequest { /// @@ -30,12 +40,25 @@ public record TimesheetEntryRequest [JsonPropertyName("end_time")] public DateTime? EndTime { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("integration_params")] public Dictionary? IntegrationParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("linked_account_params")] public Dictionary? LinkedAccountParams { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/TimesheetEntryResponse.cs b/src/Merge.Client/Hris/Types/TimesheetEntryResponse.cs index ac199605..9b0a85ff 100644 --- a/src/Merge.Client/Hris/Types/TimesheetEntryResponse.cs +++ b/src/Merge.Client/Hris/Types/TimesheetEntryResponse.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -19,6 +20,17 @@ public record TimesheetEntryResponse [JsonPropertyName("logs")] public IEnumerable? Logs { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/ValidationProblemSource.cs b/src/Merge.Client/Hris/Types/ValidationProblemSource.cs index 45b845e1..cc1cf0d6 100644 --- a/src/Merge.Client/Hris/Types/ValidationProblemSource.cs +++ b/src/Merge.Client/Hris/Types/ValidationProblemSource.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -8,6 +9,17 @@ public record ValidationProblemSource [JsonPropertyName("pointer")] public required string Pointer { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/WarningValidationProblem.cs b/src/Merge.Client/Hris/Types/WarningValidationProblem.cs index 8e96872f..3ba46708 100644 --- a/src/Merge.Client/Hris/Types/WarningValidationProblem.cs +++ b/src/Merge.Client/Hris/Types/WarningValidationProblem.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -17,6 +18,17 @@ public record WarningValidationProblem [JsonPropertyName("problem_type")] public required string ProblemType { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/Types/WebhookReceiver.cs b/src/Merge.Client/Hris/Types/WebhookReceiver.cs index c731f29b..be8a364f 100644 --- a/src/Merge.Client/Hris/Types/WebhookReceiver.cs +++ b/src/Merge.Client/Hris/Types/WebhookReceiver.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record WebhookReceiver [JsonPropertyName("key")] public string? Key { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/WebhookReceivers/Requests/WebhookReceiverRequest.cs b/src/Merge.Client/Hris/WebhookReceivers/Requests/WebhookReceiverRequest.cs index 0bf1beb1..5813c59c 100644 --- a/src/Merge.Client/Hris/WebhookReceivers/Requests/WebhookReceiverRequest.cs +++ b/src/Merge.Client/Hris/WebhookReceivers/Requests/WebhookReceiverRequest.cs @@ -14,6 +14,7 @@ public record WebhookReceiverRequest [JsonPropertyName("key")] public string? Key { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Hris/WebhookReceivers/WebhookReceiversClient.cs b/src/Merge.Client/Hris/WebhookReceivers/WebhookReceiversClient.cs index 18508684..5ae4cd9c 100644 --- a/src/Merge.Client/Hris/WebhookReceivers/WebhookReceiversClient.cs +++ b/src/Merge.Client/Hris/WebhookReceivers/WebhookReceiversClient.cs @@ -17,19 +17,17 @@ internal WebhookReceiversClient(RawClient client) /// /// Returns a list of `WebhookReceiver` objects. /// - /// - /// + /// /// await client.Hris.WebhookReceivers.ListAsync(); - /// - /// - public async System.Threading.Tasks.Task> ListAsync( + /// + public async Task> ListAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -39,45 +37,46 @@ public async System.Threading.Tasks.Task> ListAsync cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize>(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Creates a `WebhookReceiver` object with the given values. /// - /// - /// + /// /// await client.Hris.WebhookReceivers.CreateAsync( /// new WebhookReceiverRequest { Event = "event", IsActive = true } /// ); - /// - /// - public async System.Threading.Tasks.Task CreateAsync( + /// + public async Task CreateAsync( WebhookReceiverRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, @@ -89,23 +88,26 @@ public async System.Threading.Tasks.Task CreateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Merge.Client.csproj b/src/Merge.Client/Merge.Client.csproj index e743f9cd..0d0e64c6 100644 --- a/src/Merge.Client/Merge.Client.csproj +++ b/src/Merge.Client/Merge.Client.csproj @@ -1,12 +1,11 @@ - net462;net8.0;net7.0;net6.0;netstandard2.0 enable 12 enable - 1.0.2 + 1.1.0 $(Version) $(Version) README.md @@ -15,9 +14,19 @@ true - + + false + + + $(DefineConstants);USE_PORTABLE_DATE_ONLY + true + + + + + diff --git a/src/Merge.Client/Ticketing/AccountDetails/AccountDetailsClient.cs b/src/Merge.Client/Ticketing/AccountDetails/AccountDetailsClient.cs index 46e9e2b3..b3a2787d 100644 --- a/src/Merge.Client/Ticketing/AccountDetails/AccountDetailsClient.cs +++ b/src/Merge.Client/Ticketing/AccountDetails/AccountDetailsClient.cs @@ -17,19 +17,17 @@ internal AccountDetailsClient(RawClient client) /// /// Get details for a linked account. /// - /// - /// + /// /// await client.Ticketing.AccountDetails.RetrieveAsync(); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -39,23 +37,26 @@ public async System.Threading.Tasks.Task RetrieveAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Ticketing/AccountToken/AccountTokenClient.cs b/src/Merge.Client/Ticketing/AccountToken/AccountTokenClient.cs index 554001ab..8bcb1752 100644 --- a/src/Merge.Client/Ticketing/AccountToken/AccountTokenClient.cs +++ b/src/Merge.Client/Ticketing/AccountToken/AccountTokenClient.cs @@ -17,46 +17,50 @@ internal AccountTokenClient(RawClient client) /// /// Returns the account token for the end user with the provided public token. /// - /// - /// + /// /// await client.Ticketing.AccountToken.RetrieveAsync("public_token"); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string publicToken, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"ticketing/v1/account-token/{publicToken}", + Path = string.Format( + "ticketing/v1/account-token/{0}", + ValueConvert.ToPathParameterString(publicToken) + ), Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Ticketing/Accounts/AccountsClient.cs b/src/Merge.Client/Ticketing/Accounts/AccountsClient.cs index f8d38173..bd142015 100644 --- a/src/Merge.Client/Ticketing/Accounts/AccountsClient.cs +++ b/src/Merge.Client/Ticketing/Accounts/AccountsClient.cs @@ -17,12 +17,10 @@ internal AccountsClient(RawClient client) /// /// Returns a list of `Account` objects. /// - /// - /// + /// /// await client.Ticketing.Accounts.ListAsync(new AccountsListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( AccountsListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -76,8 +74,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["remote_id"] = request.RemoteId; } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -88,35 +86,36 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns an `Account` object with the given `id`. /// - /// - /// + /// /// await client.Ticketing.Accounts.RetrieveAsync("id", new AccountsRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, AccountsRetrieveRequest request, RequestOptions? options = null, @@ -128,36 +127,46 @@ public async System.Threading.Tasks.Task RetrieveAsync( { _query["include_remote_data"] = JsonUtils.Serialize(request.IncludeRemoteData.Value); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"ticketing/v1/accounts/{id}", + Path = string.Format( + "ticketing/v1/accounts/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Ticketing/Accounts/Requests/AccountsListRequest.cs b/src/Merge.Client/Ticketing/Accounts/Requests/AccountsListRequest.cs index ac4c3a5d..f630bc9a 100644 --- a/src/Merge.Client/Ticketing/Accounts/Requests/AccountsListRequest.cs +++ b/src/Merge.Client/Ticketing/Accounts/Requests/AccountsListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ticketing; @@ -7,53 +8,64 @@ public record AccountsListRequest /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Accounts/Requests/AccountsRetrieveRequest.cs b/src/Merge.Client/Ticketing/Accounts/Requests/AccountsRetrieveRequest.cs index e2b2ed48..6b30bdea 100644 --- a/src/Merge.Client/Ticketing/Accounts/Requests/AccountsRetrieveRequest.cs +++ b/src/Merge.Client/Ticketing/Accounts/Requests/AccountsRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ticketing; @@ -7,8 +8,16 @@ public record AccountsRetrieveRequest /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/AsyncPassthrough/AsyncPassthroughClient.cs b/src/Merge.Client/Ticketing/AsyncPassthrough/AsyncPassthroughClient.cs index e082246b..9acb64b9 100644 --- a/src/Merge.Client/Ticketing/AsyncPassthrough/AsyncPassthroughClient.cs +++ b/src/Merge.Client/Ticketing/AsyncPassthrough/AsyncPassthroughClient.cs @@ -18,8 +18,7 @@ internal AsyncPassthroughClient(RawClient client) /// /// Asynchronously pull data from an endpoint not currently supported by Merge. /// - /// - /// + /// /// await client.Ticketing.AsyncPassthrough.CreateAsync( /// new Merge.Client.Ticketing.DataPassthroughRequest /// { @@ -27,17 +26,16 @@ internal AsyncPassthroughClient(RawClient client) /// Path = "/scooters", /// } /// ); - /// - /// - public async System.Threading.Tasks.Task CreateAsync( + /// + public async Task CreateAsync( DataPassthroughRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, @@ -49,69 +47,76 @@ public async System.Threading.Tasks.Task CreateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Retrieves data from earlier async-passthrough POST request /// - /// - /// + /// /// await client.Ticketing.AsyncPassthrough.RetrieveAsync("async_passthrough_receipt_id"); - /// - /// - public async System.Threading.Tasks.Task> RetrieveAsync( + /// + public async Task> RetrieveAsync( string asyncPassthroughReceiptId, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"ticketing/v1/async-passthrough/{asyncPassthroughReceiptId}", + Path = string.Format( + "ticketing/v1/async-passthrough/{0}", + ValueConvert.ToPathParameterString(asyncPassthroughReceiptId) + ), Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize>(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Ticketing/Attachments/AttachmentsClient.cs b/src/Merge.Client/Ticketing/Attachments/AttachmentsClient.cs index a34b5901..029ec7db 100644 --- a/src/Merge.Client/Ticketing/Attachments/AttachmentsClient.cs +++ b/src/Merge.Client/Ticketing/Attachments/AttachmentsClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using global::System.Threading.Tasks; using Merge.Client.Core; namespace Merge.Client.Ticketing; @@ -17,12 +18,10 @@ internal AttachmentsClient(RawClient client) /// /// Returns a list of `Attachment` objects. /// - /// - /// + /// /// await client.Ticketing.Attachments.ListAsync(new AttachmentsListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( AttachmentsListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -90,8 +89,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["ticket_id"] = request.TicketId; } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -102,40 +101,41 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Creates an `Attachment` object with the given values. /// - /// - /// + /// /// await client.Ticketing.Attachments.CreateAsync( /// new TicketingAttachmentEndpointRequest /// { /// Model = new Merge.Client.Ticketing.AttachmentRequest(), /// } /// ); - /// - /// - public async System.Threading.Tasks.Task CreateAsync( + /// + public async Task CreateAsync( TicketingAttachmentEndpointRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -150,15 +150,14 @@ public async System.Threading.Tasks.Task CreateAsyn { _query["run_async"] = JsonUtils.Serialize(request.RunAsync.Value); } - var requestBody = new Dictionary() { { "model", request.Model } }; var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, Path = "ticketing/v1/attachments", - Body = requestBody, + Body = request, Query = _query, ContentType = "application/json", Options = options, @@ -166,35 +165,36 @@ public async System.Threading.Tasks.Task CreateAsyn cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns an `Attachment` object with the given `id`. /// - /// - /// + /// /// await client.Ticketing.Attachments.RetrieveAsync("id", new AttachmentsRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, AttachmentsRetrieveRequest request, RequestOptions? options = null, @@ -210,51 +210,53 @@ public async System.Threading.Tasks.Task RetrieveAsync( { _query["include_remote_data"] = JsonUtils.Serialize(request.IncludeRemoteData.Value); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"ticketing/v1/attachments/{id}", + Path = string.Format( + "ticketing/v1/attachments/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns the `File` content with the given `id` as a stream of bytes. /// - /// - /// - /// await client.Ticketing.Attachments.DownloadRetrieveAsync( - /// "string", - /// new AttachmentsDownloadRetrieveRequest { MimeType = "string" } - /// ); - /// - /// - public async System.Threading.Tasks.Task DownloadRetrieveAsync( + public async global::System.Threading.Tasks.Task DownloadRetrieveAsync( string id, AttachmentsDownloadRetrieveRequest request, RequestOptions? options = null, @@ -262,47 +264,54 @@ public async System.Threading.Tasks.Task DownloadRetrieveAsync( ) { var _query = new Dictionary(); + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } if (request.MimeType != null) { _query["mime_type"] = request.MimeType; } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"ticketing/v1/attachments/{id}/download", + Path = string.Format( + "ticketing/v1/attachments/{0}/download", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns metadata for `TicketingAttachment` POSTs. /// - /// - /// + /// /// await client.Ticketing.Attachments.MetaPostRetrieveAsync(); - /// - /// - public async System.Threading.Tasks.Task MetaPostRetrieveAsync( + /// + public async Task MetaPostRetrieveAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -312,23 +321,26 @@ public async System.Threading.Tasks.Task MetaPostRetrieveAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Ticketing/Attachments/Requests/AttachmentsDownloadRetrieveRequest.cs b/src/Merge.Client/Ticketing/Attachments/Requests/AttachmentsDownloadRetrieveRequest.cs index 8f3160b4..c10415f3 100644 --- a/src/Merge.Client/Ticketing/Attachments/Requests/AttachmentsDownloadRetrieveRequest.cs +++ b/src/Merge.Client/Ticketing/Attachments/Requests/AttachmentsDownloadRetrieveRequest.cs @@ -1,14 +1,23 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ticketing; public record AttachmentsDownloadRetrieveRequest { + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + /// /// If provided, specifies the export format of the file to be downloaded. For information on supported export formats, please refer to our <a href='https://help.merge.dev/en/articles/8615316-file-export-and-download-specification' target='_blank'>export format help center article</a>. /// + [JsonIgnore] public string? MimeType { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Attachments/Requests/AttachmentsListRequest.cs b/src/Merge.Client/Ticketing/Attachments/Requests/AttachmentsListRequest.cs index 42b39695..e6a97fef 100644 --- a/src/Merge.Client/Ticketing/Attachments/Requests/AttachmentsListRequest.cs +++ b/src/Merge.Client/Ticketing/Attachments/Requests/AttachmentsListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ticketing; @@ -7,68 +8,82 @@ public record AttachmentsListRequest /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public string? Expand { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// If provided, will only return attachments created in the third party platform after this datetime. /// + [JsonIgnore] public DateTime? RemoteCreatedAfter { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } /// /// If provided, will only return comments for this ticket. /// + [JsonIgnore] public string? TicketId { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Attachments/Requests/AttachmentsRetrieveRequest.cs b/src/Merge.Client/Ticketing/Attachments/Requests/AttachmentsRetrieveRequest.cs index 9dd26d15..60f22397 100644 --- a/src/Merge.Client/Ticketing/Attachments/Requests/AttachmentsRetrieveRequest.cs +++ b/src/Merge.Client/Ticketing/Attachments/Requests/AttachmentsRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ticketing; @@ -7,13 +8,22 @@ public record AttachmentsRetrieveRequest /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public string? Expand { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Attachments/Requests/TicketingAttachmentEndpointRequest.cs b/src/Merge.Client/Ticketing/Attachments/Requests/TicketingAttachmentEndpointRequest.cs index f716f4aa..23c2acde 100644 --- a/src/Merge.Client/Ticketing/Attachments/Requests/TicketingAttachmentEndpointRequest.cs +++ b/src/Merge.Client/Ticketing/Attachments/Requests/TicketingAttachmentEndpointRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ticketing; @@ -7,15 +8,19 @@ public record TicketingAttachmentEndpointRequest /// /// Whether to include debug fields (such as log file links) in the response. /// + [JsonIgnore] public bool? IsDebugMode { get; set; } /// /// Whether or not third-party updates should be run asynchronously. /// + [JsonIgnore] public bool? RunAsync { get; set; } + [JsonPropertyName("model")] public required AttachmentRequest Model { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/AuditTrail/AuditTrailClient.cs b/src/Merge.Client/Ticketing/AuditTrail/AuditTrailClient.cs index 3f721a14..5612d839 100644 --- a/src/Merge.Client/Ticketing/AuditTrail/AuditTrailClient.cs +++ b/src/Merge.Client/Ticketing/AuditTrail/AuditTrailClient.cs @@ -17,12 +17,10 @@ internal AuditTrailClient(RawClient client) /// /// Gets a list of audit trail events. /// - /// - /// + /// /// await client.Ticketing.AuditTrail.ListAsync(new AuditTrailListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( AuditTrailListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -54,8 +52,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["user_email"] = request.UserEmail; } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -66,23 +64,26 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Ticketing/AuditTrail/Requests/AuditTrailListRequest.cs b/src/Merge.Client/Ticketing/AuditTrail/Requests/AuditTrailListRequest.cs index 147d4939..4573efac 100644 --- a/src/Merge.Client/Ticketing/AuditTrail/Requests/AuditTrailListRequest.cs +++ b/src/Merge.Client/Ticketing/AuditTrail/Requests/AuditTrailListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ticketing; @@ -7,33 +8,40 @@ public record AuditTrailListRequest /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// If included, will only include audit trail events that occurred before this time /// + [JsonIgnore] public string? EndDate { get; set; } /// - /// If included, will only include events with the given event type. Possible values include: `CREATED_REMOTE_PRODUCTION_API_KEY`, `DELETED_REMOTE_PRODUCTION_API_KEY`, `CREATED_TEST_API_KEY`, `DELETED_TEST_API_KEY`, `REGENERATED_PRODUCTION_API_KEY`, `INVITED_USER`, `TWO_FACTOR_AUTH_ENABLED`, `TWO_FACTOR_AUTH_DISABLED`, `DELETED_LINKED_ACCOUNT`, `CREATED_DESTINATION`, `DELETED_DESTINATION`, `CHANGED_DESTINATION`, `CHANGED_SCOPES`, `CHANGED_PERSONAL_INFORMATION`, `CHANGED_ORGANIZATION_SETTINGS`, `ENABLED_INTEGRATION`, `DISABLED_INTEGRATION`, `ENABLED_CATEGORY`, `DISABLED_CATEGORY`, `CHANGED_PASSWORD`, `RESET_PASSWORD`, `ENABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION`, `ENABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT`, `DISABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION`, `DISABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT`, `CREATED_INTEGRATION_WIDE_FIELD_MAPPING`, `CREATED_LINKED_ACCOUNT_FIELD_MAPPING`, `CHANGED_INTEGRATION_WIDE_FIELD_MAPPING`, `CHANGED_LINKED_ACCOUNT_FIELD_MAPPING`, `DELETED_INTEGRATION_WIDE_FIELD_MAPPING`, `DELETED_LINKED_ACCOUNT_FIELD_MAPPING`, `CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE`, `CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE`, `DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE`, `FORCED_LINKED_ACCOUNT_RESYNC`, `MUTED_ISSUE`, `GENERATED_MAGIC_LINK`, `ENABLED_MERGE_WEBHOOK`, `DISABLED_MERGE_WEBHOOK`, `MERGE_WEBHOOK_TARGET_CHANGED`, `END_USER_CREDENTIALS_ACCESSED` + /// If included, will only include events with the given event type. Possible values include: `CREATED_REMOTE_PRODUCTION_API_KEY`, `DELETED_REMOTE_PRODUCTION_API_KEY`, `CREATED_TEST_API_KEY`, `DELETED_TEST_API_KEY`, `REGENERATED_PRODUCTION_API_KEY`, `INVITED_USER`, `TWO_FACTOR_AUTH_ENABLED`, `TWO_FACTOR_AUTH_DISABLED`, `DELETED_LINKED_ACCOUNT`, `DELETED_ALL_COMMON_MODELS_FOR_LINKED_ACCOUNT`, `CREATED_DESTINATION`, `DELETED_DESTINATION`, `CHANGED_DESTINATION`, `CHANGED_SCOPES`, `CHANGED_PERSONAL_INFORMATION`, `CHANGED_ORGANIZATION_SETTINGS`, `ENABLED_INTEGRATION`, `DISABLED_INTEGRATION`, `ENABLED_CATEGORY`, `DISABLED_CATEGORY`, `CHANGED_PASSWORD`, `RESET_PASSWORD`, `ENABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION`, `ENABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT`, `DISABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION`, `DISABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT`, `CREATED_INTEGRATION_WIDE_FIELD_MAPPING`, `CREATED_LINKED_ACCOUNT_FIELD_MAPPING`, `CHANGED_INTEGRATION_WIDE_FIELD_MAPPING`, `CHANGED_LINKED_ACCOUNT_FIELD_MAPPING`, `DELETED_INTEGRATION_WIDE_FIELD_MAPPING`, `DELETED_LINKED_ACCOUNT_FIELD_MAPPING`, `CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE`, `CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE`, `DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE`, `FORCED_LINKED_ACCOUNT_RESYNC`, `MUTED_ISSUE`, `GENERATED_MAGIC_LINK`, `ENABLED_MERGE_WEBHOOK`, `DISABLED_MERGE_WEBHOOK`, `MERGE_WEBHOOK_TARGET_CHANGED`, `END_USER_CREDENTIALS_ACCESSED` /// + [JsonIgnore] public string? EventType { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// If included, will only include audit trail events that occurred after this time /// + [JsonIgnore] public string? StartDate { get; set; } /// /// If provided, this will return events associated with the specified user email. Please note that the email address reflects the user's email at the time of the event, and may not be their current email. /// + [JsonIgnore] public string? UserEmail { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/AvailableActions/AvailableActionsClient.cs b/src/Merge.Client/Ticketing/AvailableActions/AvailableActionsClient.cs index 07541d3f..0bca72f9 100644 --- a/src/Merge.Client/Ticketing/AvailableActions/AvailableActionsClient.cs +++ b/src/Merge.Client/Ticketing/AvailableActions/AvailableActionsClient.cs @@ -17,19 +17,17 @@ internal AvailableActionsClient(RawClient client) /// /// Returns a list of models and actions available for an account. /// - /// - /// + /// /// await client.Ticketing.AvailableActions.RetrieveAsync(); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -39,23 +37,26 @@ public async System.Threading.Tasks.Task RetrieveAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Ticketing/Collections/CollectionsClient.cs b/src/Merge.Client/Ticketing/Collections/CollectionsClient.cs index c4ce3942..827ce821 100644 --- a/src/Merge.Client/Ticketing/Collections/CollectionsClient.cs +++ b/src/Merge.Client/Ticketing/Collections/CollectionsClient.cs @@ -17,12 +17,10 @@ internal CollectionsClient(RawClient client) /// /// Returns a list of `Collection` objects. /// - /// - /// + /// /// await client.Ticketing.Collections.ListAsync(new CollectionsListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( CollectionsListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -49,7 +47,7 @@ public async System.Threading.Tasks.Task ListAsync( } if (request.Expand != null) { - _query["expand"] = request.Expand.Value.Stringify(); + _query["expand"] = request.Expand.ToString(); } if (request.IncludeDeletedData != null) { @@ -96,8 +94,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["show_enum_origins"] = request.ShowEnumOrigins.ToString(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -108,35 +106,116 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); + } + } + + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } + } + + /// + /// Returns a list of `Viewer` objects that point to a User id or Team id that is either an assignee or viewer on a `Collection` with the given id. [Learn more.](https://help.merge.dev/en/articles/10333658-ticketing-access-control-list-acls) + /// + /// + /// await client.Ticketing.Collections.ViewersListAsync( + /// "collection_id", + /// new CollectionsViewersListRequest() + /// ); + /// + public async Task ViewersListAsync( + string collectionId, + CollectionsViewersListRequest request, + RequestOptions? options = null, + CancellationToken cancellationToken = default + ) + { + var _query = new Dictionary(); + if (request.Cursor != null) + { + _query["cursor"] = request.Cursor; + } + if (request.Expand != null) + { + _query["expand"] = request.Expand.Value.Stringify(); + } + if (request.IncludeDeletedData != null) + { + _query["include_deleted_data"] = JsonUtils.Serialize(request.IncludeDeletedData.Value); + } + if (request.IncludeRemoteData != null) + { + _query["include_remote_data"] = JsonUtils.Serialize(request.IncludeRemoteData.Value); + } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } + if (request.PageSize != null) + { + _query["page_size"] = request.PageSize.Value.ToString(); + } + var response = await _client + .SendRequestAsync( + new JsonRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = string.Format( + "ticketing/v1/collections/{0}/viewers", + ValueConvert.ToPathParameterString(collectionId) + ), + Query = _query, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); + if (response.StatusCode is >= 200 and < 400) + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + try + { + return JsonUtils.Deserialize(responseBody)!; + } + catch (JsonException e) + { + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a `Collection` object with the given `id`. /// - /// - /// + /// /// await client.Ticketing.Collections.RetrieveAsync("id", new CollectionsRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, CollectionsRetrieveRequest request, RequestOptions? options = null, @@ -146,12 +225,16 @@ public async System.Threading.Tasks.Task RetrieveAsync( var _query = new Dictionary(); if (request.Expand != null) { - _query["expand"] = request.Expand.Value.Stringify(); + _query["expand"] = request.Expand.ToString(); } if (request.IncludeRemoteData != null) { _query["include_remote_data"] = JsonUtils.Serialize(request.IncludeRemoteData.Value); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } if (request.RemoteFields != null) { _query["remote_fields"] = request.RemoteFields.ToString(); @@ -161,35 +244,41 @@ public async System.Threading.Tasks.Task RetrieveAsync( _query["show_enum_origins"] = request.ShowEnumOrigins.ToString(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"ticketing/v1/collections/{id}", + Path = string.Format( + "ticketing/v1/collections/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Ticketing/Collections/Requests/CollectionsListRequest.cs b/src/Merge.Client/Ticketing/Collections/Requests/CollectionsListRequest.cs index dc851568..74fcc58c 100644 --- a/src/Merge.Client/Ticketing/Collections/Requests/CollectionsListRequest.cs +++ b/src/Merge.Client/Ticketing/Collections/Requests/CollectionsListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ticketing; @@ -7,78 +8,94 @@ public record CollectionsListRequest /// /// If provided, will only return collections of the given type. /// + [JsonIgnore] public string? CollectionType { get; set; } /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// - public CollectionsListRequestExpand? Expand { get; set; } + [JsonIgnore] + public string? Expand { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// If provided, will only return collections whose parent collection matches the given id. /// + [JsonIgnore] public string? ParentCollectionId { get; set; } /// /// Deprecated. Use show_enum_origins. /// + [JsonIgnore] public string? RemoteFields { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } /// /// A comma separated list of enum field names for which you'd like the original values to be returned, instead of Merge's normalized enum values. [Learn more](https://help.merge.dev/en/articles/8950958-show_enum_origins-query-parameter) /// + [JsonIgnore] public string? ShowEnumOrigins { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Collections/Requests/CollectionsRetrieveRequest.cs b/src/Merge.Client/Ticketing/Collections/Requests/CollectionsRetrieveRequest.cs index 4320898a..d2e40386 100644 --- a/src/Merge.Client/Ticketing/Collections/Requests/CollectionsRetrieveRequest.cs +++ b/src/Merge.Client/Ticketing/Collections/Requests/CollectionsRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ticketing; @@ -7,23 +8,34 @@ public record CollectionsRetrieveRequest /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// - public CollectionsRetrieveRequestExpand? Expand { get; set; } + [JsonIgnore] + public string? Expand { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + /// /// Deprecated. Use show_enum_origins. /// + [JsonIgnore] public string? RemoteFields { get; set; } /// /// A comma separated list of enum field names for which you'd like the original values to be returned, instead of Merge's normalized enum values. [Learn more](https://help.merge.dev/en/articles/8950958-show_enum_origins-query-parameter) /// + [JsonIgnore] public string? ShowEnumOrigins { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Collections/Requests/CollectionsViewersListRequest.cs b/src/Merge.Client/Ticketing/Collections/Requests/CollectionsViewersListRequest.cs new file mode 100644 index 00000000..7b8399b6 --- /dev/null +++ b/src/Merge.Client/Ticketing/Collections/Requests/CollectionsViewersListRequest.cs @@ -0,0 +1,49 @@ +using System.Text.Json.Serialization; +using Merge.Client.Core; + +namespace Merge.Client.Ticketing; + +public record CollectionsViewersListRequest +{ + /// + /// The pagination cursor value. + /// + [JsonIgnore] + public string? Cursor { get; set; } + + /// + /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. + /// + [JsonIgnore] + public CollectionsViewersListRequestExpand? Expand { get; set; } + + /// + /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). + /// + [JsonIgnore] + public bool? IncludeDeletedData { get; set; } + + /// + /// Whether to include the original data Merge fetched from the third-party to produce these models. + /// + [JsonIgnore] + public bool? IncludeRemoteData { get; set; } + + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + + /// + /// Number of results to return per page. + /// + [JsonIgnore] + public int? PageSize { get; set; } + + /// + public override string ToString() + { + return JsonUtils.Serialize(this); + } +} diff --git a/src/Merge.Client/Ticketing/Collections/Types/CollectionsListRequestExpand.cs b/src/Merge.Client/Ticketing/Collections/Types/CollectionsListRequestExpand.cs deleted file mode 100644 index b3543755..00000000 --- a/src/Merge.Client/Ticketing/Collections/Types/CollectionsListRequestExpand.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System.Runtime.Serialization; -using System.Text.Json.Serialization; -using Merge.Client.Core; - -namespace Merge.Client.Ticketing; - -[JsonConverter(typeof(EnumSerializer))] -public enum CollectionsListRequestExpand -{ - [EnumMember(Value = "parent_collection")] - ParentCollection, - - [EnumMember(Value = "teams")] - Teams, - - [EnumMember(Value = "teams,parent_collection")] - TeamsParentCollection, -} diff --git a/src/Merge.Client/Ticketing/Collections/Types/CollectionsRetrieveRequestExpand.cs b/src/Merge.Client/Ticketing/Collections/Types/CollectionsRetrieveRequestExpand.cs deleted file mode 100644 index d46d0f91..00000000 --- a/src/Merge.Client/Ticketing/Collections/Types/CollectionsRetrieveRequestExpand.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System.Runtime.Serialization; -using System.Text.Json.Serialization; -using Merge.Client.Core; - -namespace Merge.Client.Ticketing; - -[JsonConverter(typeof(EnumSerializer))] -public enum CollectionsRetrieveRequestExpand -{ - [EnumMember(Value = "parent_collection")] - ParentCollection, - - [EnumMember(Value = "teams")] - Teams, - - [EnumMember(Value = "teams,parent_collection")] - TeamsParentCollection, -} diff --git a/src/Merge.Client/Ticketing/Collections/Types/CollectionsViewersListRequestExpand.cs b/src/Merge.Client/Ticketing/Collections/Types/CollectionsViewersListRequestExpand.cs new file mode 100644 index 00000000..aa167982 --- /dev/null +++ b/src/Merge.Client/Ticketing/Collections/Types/CollectionsViewersListRequestExpand.cs @@ -0,0 +1,18 @@ +using System.Runtime.Serialization; +using System.Text.Json.Serialization; +using Merge.Client.Core; + +namespace Merge.Client.Ticketing; + +[JsonConverter(typeof(EnumSerializer))] +public enum CollectionsViewersListRequestExpand +{ + [EnumMember(Value = "team")] + Team, + + [EnumMember(Value = "user")] + User, + + [EnumMember(Value = "user,team")] + UserTeam, +} diff --git a/src/Merge.Client/Ticketing/Comments/CommentsClient.cs b/src/Merge.Client/Ticketing/Comments/CommentsClient.cs index 89284858..17d4a64c 100644 --- a/src/Merge.Client/Ticketing/Comments/CommentsClient.cs +++ b/src/Merge.Client/Ticketing/Comments/CommentsClient.cs @@ -17,12 +17,10 @@ internal CommentsClient(RawClient client) /// /// Returns a list of `Comment` objects. /// - /// - /// + /// /// await client.Ticketing.Comments.ListAsync(new CommentsListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( CommentsListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -90,8 +88,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["ticket_id"] = request.TicketId; } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -102,37 +100,38 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Creates a `Comment` object with the given values. /// - /// - /// + /// /// await client.Ticketing.Comments.CreateAsync( /// new CommentEndpointRequest { Model = new CommentRequest() } /// ); - /// - /// - public async System.Threading.Tasks.Task CreateAsync( + /// + public async Task CreateAsync( CommentEndpointRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -147,15 +146,14 @@ public async System.Threading.Tasks.Task CreateAsync( { _query["run_async"] = JsonUtils.Serialize(request.RunAsync.Value); } - var requestBody = new Dictionary() { { "model", request.Model } }; var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, Path = "ticketing/v1/comments", - Body = requestBody, + Body = request, Query = _query, ContentType = "application/json", Options = options, @@ -163,35 +161,36 @@ public async System.Threading.Tasks.Task CreateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a `Comment` object with the given `id`. /// - /// - /// + /// /// await client.Ticketing.Comments.RetrieveAsync("id", new CommentsRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, CommentsRetrieveRequest request, RequestOptions? options = null, @@ -207,55 +206,63 @@ public async System.Threading.Tasks.Task RetrieveAsync( { _query["include_remote_data"] = JsonUtils.Serialize(request.IncludeRemoteData.Value); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"ticketing/v1/comments/{id}", + Path = string.Format( + "ticketing/v1/comments/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns metadata for `Comment` POSTs. /// - /// - /// + /// /// await client.Ticketing.Comments.MetaPostRetrieveAsync(); - /// - /// - public async System.Threading.Tasks.Task MetaPostRetrieveAsync( + /// + public async Task MetaPostRetrieveAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -265,23 +272,26 @@ public async System.Threading.Tasks.Task MetaPostRetrieveAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Ticketing/Comments/Requests/CommentEndpointRequest.cs b/src/Merge.Client/Ticketing/Comments/Requests/CommentEndpointRequest.cs index 199719c5..ae4c9505 100644 --- a/src/Merge.Client/Ticketing/Comments/Requests/CommentEndpointRequest.cs +++ b/src/Merge.Client/Ticketing/Comments/Requests/CommentEndpointRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ticketing; @@ -7,15 +8,19 @@ public record CommentEndpointRequest /// /// Whether to include debug fields (such as log file links) in the response. /// + [JsonIgnore] public bool? IsDebugMode { get; set; } /// /// Whether or not third-party updates should be run asynchronously. /// + [JsonIgnore] public bool? RunAsync { get; set; } + [JsonPropertyName("model")] public required CommentRequest Model { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Comments/Requests/CommentsListRequest.cs b/src/Merge.Client/Ticketing/Comments/Requests/CommentsListRequest.cs index 61f0f14e..e861b81a 100644 --- a/src/Merge.Client/Ticketing/Comments/Requests/CommentsListRequest.cs +++ b/src/Merge.Client/Ticketing/Comments/Requests/CommentsListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ticketing; @@ -7,68 +8,82 @@ public record CommentsListRequest /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public CommentsListRequestExpand? Expand { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// If provided, will only return Comments created in the third party platform after this datetime. /// + [JsonIgnore] public DateTime? RemoteCreatedAfter { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } /// /// If provided, will only return comments for this ticket. /// + [JsonIgnore] public string? TicketId { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Comments/Requests/CommentsRetrieveRequest.cs b/src/Merge.Client/Ticketing/Comments/Requests/CommentsRetrieveRequest.cs index db9e8f7e..438d077c 100644 --- a/src/Merge.Client/Ticketing/Comments/Requests/CommentsRetrieveRequest.cs +++ b/src/Merge.Client/Ticketing/Comments/Requests/CommentsRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ticketing; @@ -7,13 +8,22 @@ public record CommentsRetrieveRequest /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public CommentsRetrieveRequestExpand? Expand { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Contacts/ContactsClient.cs b/src/Merge.Client/Ticketing/Contacts/ContactsClient.cs index 6be67e1d..33f01a0f 100644 --- a/src/Merge.Client/Ticketing/Contacts/ContactsClient.cs +++ b/src/Merge.Client/Ticketing/Contacts/ContactsClient.cs @@ -17,12 +17,10 @@ internal ContactsClient(RawClient client) /// /// Returns a list of `Contact` objects. /// - /// - /// + /// /// await client.Ticketing.Contacts.ListAsync(new ContactsListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( ContactsListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -80,8 +78,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["remote_id"] = request.RemoteId; } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -92,37 +90,38 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Creates a `Contact` object with the given values. /// - /// - /// + /// /// await client.Ticketing.Contacts.CreateAsync( /// new TicketingContactEndpointRequest { Model = new Merge.Client.Ticketing.ContactRequest() } /// ); - /// - /// - public async System.Threading.Tasks.Task CreateAsync( + /// + public async Task CreateAsync( TicketingContactEndpointRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -137,15 +136,14 @@ public async System.Threading.Tasks.Task CreateAsync( { _query["run_async"] = JsonUtils.Serialize(request.RunAsync.Value); } - var requestBody = new Dictionary() { { "model", request.Model } }; var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, Path = "ticketing/v1/contacts", - Body = requestBody, + Body = request, Query = _query, ContentType = "application/json", Options = options, @@ -153,35 +151,36 @@ public async System.Threading.Tasks.Task CreateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a `Contact` object with the given `id`. /// - /// - /// + /// /// await client.Ticketing.Contacts.RetrieveAsync("id", new ContactsRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, ContactsRetrieveRequest request, RequestOptions? options = null, @@ -197,55 +196,63 @@ public async System.Threading.Tasks.Task RetrieveAsync( { _query["include_remote_data"] = JsonUtils.Serialize(request.IncludeRemoteData.Value); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"ticketing/v1/contacts/{id}", + Path = string.Format( + "ticketing/v1/contacts/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns metadata for `TicketingContact` POSTs. /// - /// - /// + /// /// await client.Ticketing.Contacts.MetaPostRetrieveAsync(); - /// - /// - public async System.Threading.Tasks.Task MetaPostRetrieveAsync( + /// + public async Task MetaPostRetrieveAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -255,23 +262,26 @@ public async System.Threading.Tasks.Task MetaPostRetrieveAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Ticketing/Contacts/Requests/ContactsListRequest.cs b/src/Merge.Client/Ticketing/Contacts/Requests/ContactsListRequest.cs index a0568246..9b6c1d3b 100644 --- a/src/Merge.Client/Ticketing/Contacts/Requests/ContactsListRequest.cs +++ b/src/Merge.Client/Ticketing/Contacts/Requests/ContactsListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ticketing; @@ -7,58 +8,70 @@ public record ContactsListRequest /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public string? Expand { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Contacts/Requests/ContactsRetrieveRequest.cs b/src/Merge.Client/Ticketing/Contacts/Requests/ContactsRetrieveRequest.cs index 0bb9dd43..d4a7b8a0 100644 --- a/src/Merge.Client/Ticketing/Contacts/Requests/ContactsRetrieveRequest.cs +++ b/src/Merge.Client/Ticketing/Contacts/Requests/ContactsRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ticketing; @@ -7,13 +8,22 @@ public record ContactsRetrieveRequest /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public string? Expand { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Contacts/Requests/TicketingContactEndpointRequest.cs b/src/Merge.Client/Ticketing/Contacts/Requests/TicketingContactEndpointRequest.cs index cc422829..308f68c9 100644 --- a/src/Merge.Client/Ticketing/Contacts/Requests/TicketingContactEndpointRequest.cs +++ b/src/Merge.Client/Ticketing/Contacts/Requests/TicketingContactEndpointRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ticketing; @@ -7,15 +8,19 @@ public record TicketingContactEndpointRequest /// /// Whether to include debug fields (such as log file links) in the response. /// + [JsonIgnore] public bool? IsDebugMode { get; set; } /// /// Whether or not third-party updates should be run asynchronously. /// + [JsonIgnore] public bool? RunAsync { get; set; } + [JsonPropertyName("model")] public required ContactRequest Model { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/DeleteAccount/DeleteAccountClient.cs b/src/Merge.Client/Ticketing/DeleteAccount/DeleteAccountClient.cs index e16ccd70..55256f63 100644 --- a/src/Merge.Client/Ticketing/DeleteAccount/DeleteAccountClient.cs +++ b/src/Merge.Client/Ticketing/DeleteAccount/DeleteAccountClient.cs @@ -1,5 +1,6 @@ using System.Net.Http; using System.Threading; +using global::System.Threading.Tasks; using Merge.Client.Core; namespace Merge.Client.Ticketing; @@ -16,19 +17,17 @@ internal DeleteAccountClient(RawClient client) /// /// Delete a linked account. /// - /// - /// + /// /// await client.Ticketing.DeleteAccount.DeleteAsync(); - /// - /// - public async System.Threading.Tasks.Task DeleteAsync( + /// + public async global::System.Threading.Tasks.Task DeleteAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, @@ -42,11 +41,13 @@ public async System.Threading.Tasks.Task DeleteAsync( { return; } - var responseBody = await response.Raw.Content.ReadAsStringAsync(); - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Ticketing/FieldMapping/FieldMappingClient.cs b/src/Merge.Client/Ticketing/FieldMapping/FieldMappingClient.cs index 4e524e64..91cabeaa 100644 --- a/src/Merge.Client/Ticketing/FieldMapping/FieldMappingClient.cs +++ b/src/Merge.Client/Ticketing/FieldMapping/FieldMappingClient.cs @@ -17,12 +17,10 @@ internal FieldMappingClient(RawClient client) /// /// Get all Field Mappings for this Linked Account. Field Mappings are mappings between third-party Remote Fields and user defined Merge fields. [Learn more](https://docs.merge.dev/supplemental-data/field-mappings/overview/). /// - /// - /// + /// /// await client.Ticketing.FieldMapping.FieldMappingsRetrieveAsync(new FieldMappingsRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task FieldMappingsRetrieveAsync( + /// + public async Task FieldMappingsRetrieveAsync( FieldMappingsRetrieveRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -36,8 +34,8 @@ public async System.Threading.Tasks.Task FieldM ); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -48,31 +46,33 @@ public async System.Threading.Tasks.Task FieldM cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Create new Field Mappings that will be available after the next scheduled sync. This will cause the next sync for this Linked Account to sync **ALL** data from start. /// - /// - /// + /// /// await client.Ticketing.FieldMapping.FieldMappingsCreateAsync( /// new CreateFieldMappingRequest /// { @@ -84,9 +84,8 @@ public async System.Threading.Tasks.Task FieldM /// CommonModelName = "ExampleCommonModel", /// } /// ); - /// - /// - public async System.Threading.Tasks.Task FieldMappingsCreateAsync( + /// + public async Task FieldMappingsCreateAsync( CreateFieldMappingRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -99,23 +98,14 @@ public async System.Threading.Tasks.Task FieldMapp request.ExcludeRemoteFieldMetadata.Value ); } - var requestBody = new Dictionary() - { - { "target_field_name", request.TargetFieldName }, - { "target_field_description", request.TargetFieldDescription }, - { "remote_field_traversal_path", request.RemoteFieldTraversalPath }, - { "remote_method", request.RemoteMethod }, - { "remote_url_path", request.RemoteUrlPath }, - { "common_model_name", request.CommonModelName }, - }; var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, Path = "ticketing/v1/field-mappings", - Body = requestBody, + Body = request, Query = _query, ContentType = "application/json", Options = options, @@ -123,84 +113,89 @@ public async System.Threading.Tasks.Task FieldMapp cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Deletes Field Mappings for a Linked Account. All data related to this Field Mapping will be deleted and these changes will be reflected after the next scheduled sync. This will cause the next sync for this Linked Account to sync **ALL** data from start. /// - /// - /// + /// /// await client.Ticketing.FieldMapping.FieldMappingsDestroyAsync("field_mapping_id"); - /// - /// - public async System.Threading.Tasks.Task FieldMappingsDestroyAsync( + /// + public async Task FieldMappingsDestroyAsync( string fieldMappingId, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Delete, - Path = $"ticketing/v1/field-mappings/{fieldMappingId}", + Path = string.Format( + "ticketing/v1/field-mappings/{0}", + ValueConvert.ToPathParameterString(fieldMappingId) + ), Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Create or update existing Field Mappings for a Linked Account. Changes will be reflected after the next scheduled sync. This will cause the next sync for this Linked Account to sync **ALL** data from start. /// - /// - /// + /// /// await client.Ticketing.FieldMapping.FieldMappingsPartialUpdateAsync( /// "field_mapping_id", /// new PatchedEditFieldMappingRequest() /// ); - /// - /// - public async System.Threading.Tasks.Task FieldMappingsPartialUpdateAsync( + /// + public async Task FieldMappingsPartialUpdateAsync( string fieldMappingId, PatchedEditFieldMappingRequest request, RequestOptions? options = null, @@ -208,12 +203,15 @@ public async System.Threading.Tasks.Task FieldMapp ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethodExtensions.Patch, - Path = $"ticketing/v1/field-mappings/{fieldMappingId}", + Path = string.Format( + "ticketing/v1/field-mappings/{0}", + ValueConvert.ToPathParameterString(fieldMappingId) + ), Body = request, ContentType = "application/json", Options = options, @@ -221,35 +219,36 @@ public async System.Threading.Tasks.Task FieldMapp cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Get all remote fields for a Linked Account. Remote fields are third-party fields that are accessible after initial sync if remote_data is enabled. You can use remote fields to override existing Merge fields or map a new Merge field. [Learn more](https://docs.merge.dev/supplemental-data/field-mappings/overview/). /// - /// - /// + /// /// await client.Ticketing.FieldMapping.RemoteFieldsRetrieveAsync(new RemoteFieldsRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RemoteFieldsRetrieveAsync( + /// + public async Task RemoteFieldsRetrieveAsync( RemoteFieldsRetrieveRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -265,8 +264,8 @@ public async System.Threading.Tasks.Task RemoteFieldsRet _query["include_example_values"] = request.IncludeExampleValues; } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -277,42 +276,43 @@ public async System.Threading.Tasks.Task RemoteFieldsRet cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Get all organization-wide Target Fields, this will not include any Linked Account specific Target Fields. Organization-wide Target Fields are additional fields appended to the Merge Common Model for all Linked Accounts in a category. [Learn more](https://docs.merge.dev/supplemental-data/field-mappings/target-fields/). /// - /// - /// + /// /// await client.Ticketing.FieldMapping.TargetFieldsRetrieveAsync(); - /// - /// - public async System.Threading.Tasks.Task TargetFieldsRetrieveAsync( + /// + public async Task TargetFieldsRetrieveAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -322,23 +322,26 @@ public async System.Threading.Tasks.Task TargetF cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Ticketing/FieldMapping/Requests/CreateFieldMappingRequest.cs b/src/Merge.Client/Ticketing/FieldMapping/Requests/CreateFieldMappingRequest.cs index 4c38fe49..59bf1ec1 100644 --- a/src/Merge.Client/Ticketing/FieldMapping/Requests/CreateFieldMappingRequest.cs +++ b/src/Merge.Client/Ticketing/FieldMapping/Requests/CreateFieldMappingRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ticketing; @@ -7,38 +8,46 @@ public record CreateFieldMappingRequest /// /// If `true`, remote fields metadata is excluded from each field mapping instance (i.e. `remote_fields.remote_key_name` and `remote_fields.schema` will be null). This will increase the speed of the request since these fields require some calculations. /// + [JsonIgnore] public bool? ExcludeRemoteFieldMetadata { get; set; } /// /// The name of the target field you want this remote field to map to. /// + [JsonPropertyName("target_field_name")] public required string TargetFieldName { get; set; } /// /// The description of the target field you want this remote field to map to. /// + [JsonPropertyName("target_field_description")] public required string TargetFieldDescription { get; set; } /// /// The field traversal path of the remote field listed when you hit the GET /remote-fields endpoint. /// + [JsonPropertyName("remote_field_traversal_path")] public IEnumerable RemoteFieldTraversalPath { get; set; } = new List(); /// /// The method of the remote endpoint where the remote field is coming from. /// + [JsonPropertyName("remote_method")] public required string RemoteMethod { get; set; } /// /// The path of the remote endpoint where the remote field is coming from. /// + [JsonPropertyName("remote_url_path")] public required string RemoteUrlPath { get; set; } /// /// The name of the Common Model that the remote field corresponds to in a given category. /// + [JsonPropertyName("common_model_name")] public required string CommonModelName { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/FieldMapping/Requests/FieldMappingsRetrieveRequest.cs b/src/Merge.Client/Ticketing/FieldMapping/Requests/FieldMappingsRetrieveRequest.cs index 0d3d45c1..af3658cd 100644 --- a/src/Merge.Client/Ticketing/FieldMapping/Requests/FieldMappingsRetrieveRequest.cs +++ b/src/Merge.Client/Ticketing/FieldMapping/Requests/FieldMappingsRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ticketing; @@ -7,8 +8,10 @@ public record FieldMappingsRetrieveRequest /// /// If `true`, remote fields metadata is excluded from each field mapping instance (i.e. `remote_fields.remote_key_name` and `remote_fields.schema` will be null). This will increase the speed of the request since these fields require some calculations. /// + [JsonIgnore] public bool? ExcludeRemoteFieldMetadata { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/FieldMapping/Requests/PatchedEditFieldMappingRequest.cs b/src/Merge.Client/Ticketing/FieldMapping/Requests/PatchedEditFieldMappingRequest.cs index 52568528..2b1e00a9 100644 --- a/src/Merge.Client/Ticketing/FieldMapping/Requests/PatchedEditFieldMappingRequest.cs +++ b/src/Merge.Client/Ticketing/FieldMapping/Requests/PatchedEditFieldMappingRequest.cs @@ -23,6 +23,7 @@ public record PatchedEditFieldMappingRequest [JsonPropertyName("remote_url_path")] public string? RemoteUrlPath { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/FieldMapping/Requests/RemoteFieldsRetrieveRequest.cs b/src/Merge.Client/Ticketing/FieldMapping/Requests/RemoteFieldsRetrieveRequest.cs index e2156449..66c3eeb2 100644 --- a/src/Merge.Client/Ticketing/FieldMapping/Requests/RemoteFieldsRetrieveRequest.cs +++ b/src/Merge.Client/Ticketing/FieldMapping/Requests/RemoteFieldsRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ticketing; @@ -7,13 +8,16 @@ public record RemoteFieldsRetrieveRequest /// /// A comma seperated list of Common Model names. If included, will only return Remote Fields for those Common Models. /// + [JsonIgnore] public string? CommonModels { get; set; } /// /// If true, will include example values, where available, for remote fields in the 3rd party platform. These examples come from active data from your customers. /// + [JsonIgnore] public string? IncludeExampleValues { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/ForceResync/ForceResyncClient.cs b/src/Merge.Client/Ticketing/ForceResync/ForceResyncClient.cs index c3347761..4165847e 100644 --- a/src/Merge.Client/Ticketing/ForceResync/ForceResyncClient.cs +++ b/src/Merge.Client/Ticketing/ForceResync/ForceResyncClient.cs @@ -15,21 +15,19 @@ internal ForceResyncClient(RawClient client) } /// - /// Force re-sync of all models. This is available for all organizations via the dashboard. Force re-sync is also available programmatically via API for monthly, quarterly, and highest sync frequency customers on the Professional or Enterprise plans. Doing so will consume a sync credit for the relevant linked account. + /// Force re-sync of all models. This endpoint is available for monthly, quarterly, and highest sync frequency customers on the Professional or Enterprise plans. Doing so will consume a sync credit for the relevant linked account. Force re-syncs can also be triggered manually in the Merge Dashboard and is available for all customers. /// - /// - /// + /// /// await client.Ticketing.ForceResync.SyncStatusResyncCreateAsync(); - /// - /// - public async System.Threading.Tasks.Task> SyncStatusResyncCreateAsync( + /// + public async Task> SyncStatusResyncCreateAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, @@ -39,23 +37,26 @@ public async System.Threading.Tasks.Task> SyncStatusResy cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize>(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Ticketing/GenerateKey/GenerateKeyClient.cs b/src/Merge.Client/Ticketing/GenerateKey/GenerateKeyClient.cs index 489f7cbf..7d19b29e 100644 --- a/src/Merge.Client/Ticketing/GenerateKey/GenerateKeyClient.cs +++ b/src/Merge.Client/Ticketing/GenerateKey/GenerateKeyClient.cs @@ -17,22 +17,20 @@ internal GenerateKeyClient(RawClient client) /// /// Create a remote key. /// - /// - /// + /// /// await client.Ticketing.GenerateKey.CreateAsync( /// new GenerateRemoteKeyRequest { Name = "Remote Deployment Key 1" } /// ); - /// - /// - public async System.Threading.Tasks.Task CreateAsync( + /// + public async Task CreateAsync( GenerateRemoteKeyRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, @@ -44,23 +42,26 @@ public async System.Threading.Tasks.Task CreateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Ticketing/GenerateKey/Requests/GenerateRemoteKeyRequest.cs b/src/Merge.Client/Ticketing/GenerateKey/Requests/GenerateRemoteKeyRequest.cs index c6fbd12e..e23d7863 100644 --- a/src/Merge.Client/Ticketing/GenerateKey/Requests/GenerateRemoteKeyRequest.cs +++ b/src/Merge.Client/Ticketing/GenerateKey/Requests/GenerateRemoteKeyRequest.cs @@ -11,6 +11,7 @@ public record GenerateRemoteKeyRequest [JsonPropertyName("name")] public required string Name { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Issues/IssuesClient.cs b/src/Merge.Client/Ticketing/Issues/IssuesClient.cs index e6198c1d..24735816 100644 --- a/src/Merge.Client/Ticketing/Issues/IssuesClient.cs +++ b/src/Merge.Client/Ticketing/Issues/IssuesClient.cs @@ -17,12 +17,10 @@ internal IssuesClient(RawClient client) /// /// Gets all issues for Organization. /// - /// - /// + /// /// await client.Ticketing.Issues.ListAsync(new IssuesListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( IssuesListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -94,8 +92,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["status"] = request.Status.Value.Stringify(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -106,69 +104,76 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Get a specific issue. /// - /// - /// + /// /// await client.Ticketing.Issues.RetrieveAsync("id"); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"ticketing/v1/issues/{id}", + Path = string.Format( + "ticketing/v1/issues/{0}", + ValueConvert.ToPathParameterString(id) + ), Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Ticketing/Issues/Requests/IssuesListRequest.cs b/src/Merge.Client/Ticketing/Issues/Requests/IssuesListRequest.cs index 888efae4..ae1116ac 100644 --- a/src/Merge.Client/Ticketing/Issues/Requests/IssuesListRequest.cs +++ b/src/Merge.Client/Ticketing/Issues/Requests/IssuesListRequest.cs @@ -1,73 +1,89 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ticketing; public record IssuesListRequest { + [JsonIgnore] public string? AccountToken { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// If included, will only include issues whose most recent action occurred before this time /// + [JsonIgnore] public string? EndDate { get; set; } + [JsonIgnore] public string? EndUserOrganizationName { get; set; } /// /// If provided, will only return issues whose first incident time was after this datetime. /// + [JsonIgnore] public DateTime? FirstIncidentTimeAfter { get; set; } /// /// If provided, will only return issues whose first incident time was before this datetime. /// + [JsonIgnore] public DateTime? FirstIncidentTimeBefore { get; set; } /// /// If true, will include muted issues /// + [JsonIgnore] public string? IncludeMuted { get; set; } + [JsonIgnore] public string? IntegrationName { get; set; } /// /// If provided, will only return issues whose last incident time was after this datetime. /// + [JsonIgnore] public DateTime? LastIncidentTimeAfter { get; set; } /// /// If provided, will only return issues whose last incident time was before this datetime. /// + [JsonIgnore] public DateTime? LastIncidentTimeBefore { get; set; } /// /// If provided, will only include issues pertaining to the linked account passed in. /// + [JsonIgnore] public string? LinkedAccountId { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// If included, will only include issues whose most recent action occurred after this time /// + [JsonIgnore] public string? StartDate { get; set; } /// /// Status of the issue. Options: ('ONGOING', 'RESOLVED') /// - /// - `ONGOING` - ONGOING - /// - `RESOLVED` - RESOLVED + /// * `ONGOING` - ONGOING + /// * `RESOLVED` - RESOLVED /// + [JsonIgnore] public IssuesListRequestStatus? Status { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/LinkToken/LinkTokenClient.cs b/src/Merge.Client/Ticketing/LinkToken/LinkTokenClient.cs index e255efbf..74c076b5 100644 --- a/src/Merge.Client/Ticketing/LinkToken/LinkTokenClient.cs +++ b/src/Merge.Client/Ticketing/LinkToken/LinkTokenClient.cs @@ -17,8 +17,7 @@ internal LinkTokenClient(RawClient client) /// /// Creates a link token to be used when linking a new end user. /// - /// - /// + /// /// await client.Ticketing.LinkToken.CreateAsync( /// new EndUserDetailsRequest /// { @@ -32,17 +31,16 @@ internal LinkTokenClient(RawClient client) /// }, /// } /// ); - /// - /// - public async System.Threading.Tasks.Task CreateAsync( + /// + public async Task CreateAsync( EndUserDetailsRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, @@ -54,23 +52,26 @@ public async System.Threading.Tasks.Task CreateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Ticketing/LinkToken/Requests/EndUserDetailsRequest.cs b/src/Merge.Client/Ticketing/LinkToken/Requests/EndUserDetailsRequest.cs index 827c3a5c..632b2c59 100644 --- a/src/Merge.Client/Ticketing/LinkToken/Requests/EndUserDetailsRequest.cs +++ b/src/Merge.Client/Ticketing/LinkToken/Requests/EndUserDetailsRequest.cs @@ -89,6 +89,7 @@ public Dictionary< [JsonPropertyName("integration_specific_config")] public Dictionary? IntegrationSpecificConfig { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/LinkedAccounts/LinkedAccountsClient.cs b/src/Merge.Client/Ticketing/LinkedAccounts/LinkedAccountsClient.cs index a9cc0693..38cfd1f8 100644 --- a/src/Merge.Client/Ticketing/LinkedAccounts/LinkedAccountsClient.cs +++ b/src/Merge.Client/Ticketing/LinkedAccounts/LinkedAccountsClient.cs @@ -17,12 +17,10 @@ internal LinkedAccountsClient(RawClient client) /// /// List linked accounts for your organization. /// - /// - /// + /// /// await client.Ticketing.LinkedAccounts.ListAsync(new LinkedAccountsListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( LinkedAccountsListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -82,8 +80,8 @@ public async System.Threading.Tasks.Task _query["status"] = request.Status; } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -94,23 +92,26 @@ public async System.Threading.Tasks.Task cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Ticketing/LinkedAccounts/Requests/LinkedAccountsListRequest.cs b/src/Merge.Client/Ticketing/LinkedAccounts/Requests/LinkedAccountsListRequest.cs index e8956b06..1fe155b4 100644 --- a/src/Merge.Client/Ticketing/LinkedAccounts/Requests/LinkedAccountsListRequest.cs +++ b/src/Merge.Client/Ticketing/LinkedAccounts/Requests/LinkedAccountsListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ticketing; @@ -7,73 +8,87 @@ public record LinkedAccountsListRequest /// /// Options: `accounting`, `ats`, `crm`, `filestorage`, `hris`, `mktg`, `ticketing` /// - /// - `hris` - hris - /// - `ats` - ats - /// - `accounting` - accounting - /// - `ticketing` - ticketing - /// - `crm` - crm - /// - `mktg` - mktg - /// - `filestorage` - filestorage + /// * `hris` - hris + /// * `ats` - ats + /// * `accounting` - accounting + /// * `ticketing` - ticketing + /// * `crm` - crm + /// * `mktg` - mktg + /// * `filestorage` - filestorage /// + [JsonIgnore] public LinkedAccountsListRequestCategory? Category { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// If provided, will only return linked accounts associated with the given email address. /// + [JsonIgnore] public string? EndUserEmailAddress { get; set; } /// /// If provided, will only return linked accounts associated with the given organization name. /// + [JsonIgnore] public string? EndUserOrganizationName { get; set; } /// /// If provided, will only return linked accounts associated with the given origin ID. /// + [JsonIgnore] public string? EndUserOriginId { get; set; } /// /// Comma-separated list of EndUser origin IDs, making it possible to specify multiple EndUsers at once. /// + [JsonIgnore] public string? EndUserOriginIds { get; set; } + [JsonIgnore] public string? Id { get; set; } /// /// Comma-separated list of LinkedAccount IDs, making it possible to specify multiple LinkedAccounts at once. /// + [JsonIgnore] public string? Ids { get; set; } /// /// If `true`, will include complete production duplicates of the account specified by the `id` query parameter in the response. `id` must be for a complete production linked account. /// + [JsonIgnore] public bool? IncludeDuplicates { get; set; } /// /// If provided, will only return linked accounts associated with the given integration name. /// + [JsonIgnore] public string? IntegrationName { get; set; } /// /// If included, will only include test linked accounts. If not included, will only include non-test linked accounts. /// + [JsonIgnore] public string? IsTestAccount { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// Filter by status. Options: `COMPLETE`, `IDLE`, `INCOMPLETE`, `RELINK_NEEDED` /// + [JsonIgnore] public string? Status { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Passthrough/PassthroughClient.cs b/src/Merge.Client/Ticketing/Passthrough/PassthroughClient.cs index 1089435b..99eb3af5 100644 --- a/src/Merge.Client/Ticketing/Passthrough/PassthroughClient.cs +++ b/src/Merge.Client/Ticketing/Passthrough/PassthroughClient.cs @@ -17,8 +17,7 @@ internal PassthroughClient(RawClient client) /// /// Pull data from an endpoint not currently supported by Merge. /// - /// - /// + /// /// await client.Ticketing.Passthrough.CreateAsync( /// new Merge.Client.Ticketing.DataPassthroughRequest /// { @@ -26,17 +25,16 @@ internal PassthroughClient(RawClient client) /// Path = "/scooters", /// } /// ); - /// - /// - public async System.Threading.Tasks.Task CreateAsync( + /// + public async Task CreateAsync( DataPassthroughRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, @@ -48,23 +46,26 @@ public async System.Threading.Tasks.Task CreateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Ticketing/Projects/ProjectsClient.cs b/src/Merge.Client/Ticketing/Projects/ProjectsClient.cs index 62604365..ee5f8be6 100644 --- a/src/Merge.Client/Ticketing/Projects/ProjectsClient.cs +++ b/src/Merge.Client/Ticketing/Projects/ProjectsClient.cs @@ -17,12 +17,10 @@ internal ProjectsClient(RawClient client) /// /// Returns a list of `Project` objects. /// - /// - /// + /// /// await client.Ticketing.Projects.ListAsync(new ProjectsListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( ProjectsListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -76,8 +74,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["remote_id"] = request.RemoteId; } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -88,35 +86,36 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a `Project` object with the given `id`. /// - /// - /// + /// /// await client.Ticketing.Projects.RetrieveAsync("id", new ProjectsRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, ProjectsRetrieveRequest request, RequestOptions? options = null, @@ -128,48 +127,56 @@ public async System.Threading.Tasks.Task RetrieveAsync( { _query["include_remote_data"] = JsonUtils.Serialize(request.IncludeRemoteData.Value); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"ticketing/v1/projects/{id}", + Path = string.Format( + "ticketing/v1/projects/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a list of `User` objects. /// - /// - /// + /// /// await client.Ticketing.Projects.UsersListAsync("parent_id", new ProjectsUsersListRequest()); - /// - /// - public async System.Threading.Tasks.Task UsersListAsync( + /// + public async Task UsersListAsync( string parentId, ProjectsUsersListRequest request, RequestOptions? options = null, @@ -202,35 +209,41 @@ public async System.Threading.Tasks.Task UsersListAsync( _query["page_size"] = request.PageSize.Value.ToString(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"ticketing/v1/projects/{parentId}/users", + Path = string.Format( + "ticketing/v1/projects/{0}/users", + ValueConvert.ToPathParameterString(parentId) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Ticketing/Projects/Requests/ProjectsListRequest.cs b/src/Merge.Client/Ticketing/Projects/Requests/ProjectsListRequest.cs index b53f76ae..831269d9 100644 --- a/src/Merge.Client/Ticketing/Projects/Requests/ProjectsListRequest.cs +++ b/src/Merge.Client/Ticketing/Projects/Requests/ProjectsListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ticketing; @@ -7,53 +8,64 @@ public record ProjectsListRequest /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Projects/Requests/ProjectsRetrieveRequest.cs b/src/Merge.Client/Ticketing/Projects/Requests/ProjectsRetrieveRequest.cs index 71def03b..714806ac 100644 --- a/src/Merge.Client/Ticketing/Projects/Requests/ProjectsRetrieveRequest.cs +++ b/src/Merge.Client/Ticketing/Projects/Requests/ProjectsRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ticketing; @@ -7,8 +8,16 @@ public record ProjectsRetrieveRequest /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Projects/Requests/ProjectsUsersListRequest.cs b/src/Merge.Client/Ticketing/Projects/Requests/ProjectsUsersListRequest.cs index 9f62c96b..2be35fb4 100644 --- a/src/Merge.Client/Ticketing/Projects/Requests/ProjectsUsersListRequest.cs +++ b/src/Merge.Client/Ticketing/Projects/Requests/ProjectsUsersListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ticketing; @@ -7,33 +8,40 @@ public record ProjectsUsersListRequest /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public ProjectsUsersListRequestExpand? Expand { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/RegenerateKey/RegenerateKeyClient.cs b/src/Merge.Client/Ticketing/RegenerateKey/RegenerateKeyClient.cs index f33bec51..236eec55 100644 --- a/src/Merge.Client/Ticketing/RegenerateKey/RegenerateKeyClient.cs +++ b/src/Merge.Client/Ticketing/RegenerateKey/RegenerateKeyClient.cs @@ -17,22 +17,20 @@ internal RegenerateKeyClient(RawClient client) /// /// Exchange remote keys. /// - /// - /// + /// /// await client.Ticketing.RegenerateKey.CreateAsync( /// new RemoteKeyForRegenerationRequest { Name = "Remote Deployment Key 1" } /// ); - /// - /// - public async System.Threading.Tasks.Task CreateAsync( + /// + public async Task CreateAsync( RemoteKeyForRegenerationRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, @@ -44,23 +42,26 @@ public async System.Threading.Tasks.Task CreateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Ticketing/RegenerateKey/Requests/RemoteKeyForRegenerationRequest.cs b/src/Merge.Client/Ticketing/RegenerateKey/Requests/RemoteKeyForRegenerationRequest.cs index 3a627da6..4770f1ae 100644 --- a/src/Merge.Client/Ticketing/RegenerateKey/Requests/RemoteKeyForRegenerationRequest.cs +++ b/src/Merge.Client/Ticketing/RegenerateKey/Requests/RemoteKeyForRegenerationRequest.cs @@ -11,6 +11,7 @@ public record RemoteKeyForRegenerationRequest [JsonPropertyName("name")] public required string Name { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Roles/Requests/RolesListRequest.cs b/src/Merge.Client/Ticketing/Roles/Requests/RolesListRequest.cs index 0563d216..3232fbae 100644 --- a/src/Merge.Client/Ticketing/Roles/Requests/RolesListRequest.cs +++ b/src/Merge.Client/Ticketing/Roles/Requests/RolesListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ticketing; @@ -7,53 +8,64 @@ public record RolesListRequest /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Roles/Requests/RolesRetrieveRequest.cs b/src/Merge.Client/Ticketing/Roles/Requests/RolesRetrieveRequest.cs index e21add99..acbce9ac 100644 --- a/src/Merge.Client/Ticketing/Roles/Requests/RolesRetrieveRequest.cs +++ b/src/Merge.Client/Ticketing/Roles/Requests/RolesRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ticketing; @@ -7,8 +8,16 @@ public record RolesRetrieveRequest /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Roles/RolesClient.cs b/src/Merge.Client/Ticketing/Roles/RolesClient.cs index 376d6750..f6af33fb 100644 --- a/src/Merge.Client/Ticketing/Roles/RolesClient.cs +++ b/src/Merge.Client/Ticketing/Roles/RolesClient.cs @@ -17,12 +17,10 @@ internal RolesClient(RawClient client) /// /// Returns a list of `Role` objects. /// - /// - /// + /// /// await client.Ticketing.Roles.ListAsync(new RolesListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( RolesListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -76,8 +74,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["remote_id"] = request.RemoteId; } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -88,35 +86,36 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a `Role` object with the given `id`. /// - /// - /// + /// /// await client.Ticketing.Roles.RetrieveAsync("id", new RolesRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, RolesRetrieveRequest request, RequestOptions? options = null, @@ -128,36 +127,46 @@ public async System.Threading.Tasks.Task RetrieveAsync( { _query["include_remote_data"] = JsonUtils.Serialize(request.IncludeRemoteData.Value); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"ticketing/v1/roles/{id}", + Path = string.Format( + "ticketing/v1/roles/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Ticketing/Scopes/Requests/LinkedAccountCommonModelScopeDeserializerRequest.cs b/src/Merge.Client/Ticketing/Scopes/Requests/LinkedAccountCommonModelScopeDeserializerRequest.cs index bcd1f321..86367fb3 100644 --- a/src/Merge.Client/Ticketing/Scopes/Requests/LinkedAccountCommonModelScopeDeserializerRequest.cs +++ b/src/Merge.Client/Ticketing/Scopes/Requests/LinkedAccountCommonModelScopeDeserializerRequest.cs @@ -12,6 +12,7 @@ public record LinkedAccountCommonModelScopeDeserializerRequest public IEnumerable CommonModels { get; set; } = new List(); + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Scopes/ScopesClient.cs b/src/Merge.Client/Ticketing/Scopes/ScopesClient.cs index 9f6a3bd6..2944e4ae 100644 --- a/src/Merge.Client/Ticketing/Scopes/ScopesClient.cs +++ b/src/Merge.Client/Ticketing/Scopes/ScopesClient.cs @@ -17,19 +17,17 @@ internal ScopesClient(RawClient client) /// /// Get the default permissions for Merge Common Models and fields across all Linked Accounts of a given category. [Learn more](https://help.merge.dev/en/articles/5950052-common-model-and-field-scopes). /// - /// - /// + /// /// await client.Ticketing.Scopes.DefaultScopesRetrieveAsync(); - /// - /// - public async System.Threading.Tasks.Task DefaultScopesRetrieveAsync( + /// + public async Task DefaultScopesRetrieveAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -39,42 +37,43 @@ public async System.Threading.Tasks.Task DefaultScopesRetri cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Get all available permissions for Merge Common Models and fields for a single Linked Account. [Learn more](https://help.merge.dev/en/articles/5950052-common-model-and-field-scopes). /// - /// - /// + /// /// await client.Ticketing.Scopes.LinkedAccountScopesRetrieveAsync(); - /// - /// - public async System.Threading.Tasks.Task LinkedAccountScopesRetrieveAsync( + /// + public async Task LinkedAccountScopesRetrieveAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -84,31 +83,33 @@ public async System.Threading.Tasks.Task LinkedAccountScope cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Update permissions for any Common Model or field for a single Linked Account. Any Scopes not set in this POST request will inherit the default Scopes. [Learn more](https://help.merge.dev/en/articles/5950052-common-model-and-field-scopes) /// - /// - /// + /// /// await client.Ticketing.Scopes.LinkedAccountScopesCreateAsync( /// new LinkedAccountCommonModelScopeDeserializerRequest /// { @@ -164,17 +165,16 @@ public async System.Threading.Tasks.Task LinkedAccountScope /// }, /// } /// ); - /// - /// - public async System.Threading.Tasks.Task LinkedAccountScopesCreateAsync( + /// + public async Task LinkedAccountScopesCreateAsync( LinkedAccountCommonModelScopeDeserializerRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, @@ -186,23 +186,26 @@ public async System.Threading.Tasks.Task LinkedAccountScope cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Ticketing/SyncStatus/Requests/SyncStatusListRequest.cs b/src/Merge.Client/Ticketing/SyncStatus/Requests/SyncStatusListRequest.cs index ce28a09c..5166159a 100644 --- a/src/Merge.Client/Ticketing/SyncStatus/Requests/SyncStatusListRequest.cs +++ b/src/Merge.Client/Ticketing/SyncStatus/Requests/SyncStatusListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ticketing; @@ -7,13 +8,16 @@ public record SyncStatusListRequest /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/SyncStatus/SyncStatusClient.cs b/src/Merge.Client/Ticketing/SyncStatus/SyncStatusClient.cs index c83f282e..9ab5665b 100644 --- a/src/Merge.Client/Ticketing/SyncStatus/SyncStatusClient.cs +++ b/src/Merge.Client/Ticketing/SyncStatus/SyncStatusClient.cs @@ -15,14 +15,12 @@ internal SyncStatusClient(RawClient client) } /// - /// Get syncing status. Possible values: `DISABLED`, `DONE`, `FAILED`, `PARTIALLY_SYNCED`, `PAUSED`, `SYNCING`. Learn more about sync status in our [Help Center](https://help.merge.dev/en/articles/8184193-merge-sync-statuses). + /// Get sync status for the current sync and the most recently finished sync. `last_sync_start` represents the most recent time any sync began. `last_sync_finished` represents the most recent time any sync completed. These timestamps may correspond to different sync instances which may result in a sync start time being later than a separate sync completed time. To ensure you are retrieving the latest available data reference the `last_sync_finished` timestamp where `last_sync_result` is `DONE`. Possible values for `status` and `last_sync_result` are `DISABLED`, `DONE`, `FAILED`, `PARTIALLY_SYNCED`, `PAUSED`, `SYNCING`. Learn more about sync status in our [Help Center](https://help.merge.dev/en/articles/8184193-merge-sync-statuses). /// - /// - /// + /// /// await client.Ticketing.SyncStatus.ListAsync(new SyncStatusListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( SyncStatusListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -38,8 +36,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["page_size"] = request.PageSize.Value.ToString(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -50,23 +48,26 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Ticketing/Tags/Requests/TagsListRequest.cs b/src/Merge.Client/Ticketing/Tags/Requests/TagsListRequest.cs index 8ab17947..19e98937 100644 --- a/src/Merge.Client/Ticketing/Tags/Requests/TagsListRequest.cs +++ b/src/Merge.Client/Ticketing/Tags/Requests/TagsListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ticketing; @@ -7,53 +8,64 @@ public record TagsListRequest /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Tags/Requests/TagsRetrieveRequest.cs b/src/Merge.Client/Ticketing/Tags/Requests/TagsRetrieveRequest.cs index d6d556b7..c4836b8a 100644 --- a/src/Merge.Client/Ticketing/Tags/Requests/TagsRetrieveRequest.cs +++ b/src/Merge.Client/Ticketing/Tags/Requests/TagsRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ticketing; @@ -7,8 +8,16 @@ public record TagsRetrieveRequest /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Tags/TagsClient.cs b/src/Merge.Client/Ticketing/Tags/TagsClient.cs index d38267b5..36cb9ecf 100644 --- a/src/Merge.Client/Ticketing/Tags/TagsClient.cs +++ b/src/Merge.Client/Ticketing/Tags/TagsClient.cs @@ -17,12 +17,10 @@ internal TagsClient(RawClient client) /// /// Returns a list of `Tag` objects. /// - /// - /// + /// /// await client.Ticketing.Tags.ListAsync(new TagsListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( TagsListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -76,8 +74,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["remote_id"] = request.RemoteId; } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -88,35 +86,36 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a `Tag` object with the given `id`. /// - /// - /// + /// /// await client.Ticketing.Tags.RetrieveAsync("id", new TagsRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, TagsRetrieveRequest request, RequestOptions? options = null, @@ -128,36 +127,46 @@ public async System.Threading.Tasks.Task RetrieveAsync( { _query["include_remote_data"] = JsonUtils.Serialize(request.IncludeRemoteData.Value); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"ticketing/v1/tags/{id}", + Path = string.Format( + "ticketing/v1/tags/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Ticketing/Teams/Requests/TeamsListRequest.cs b/src/Merge.Client/Ticketing/Teams/Requests/TeamsListRequest.cs index c1e75c65..a7de3588 100644 --- a/src/Merge.Client/Ticketing/Teams/Requests/TeamsListRequest.cs +++ b/src/Merge.Client/Ticketing/Teams/Requests/TeamsListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ticketing; @@ -7,53 +8,64 @@ public record TeamsListRequest /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Teams/Requests/TeamsRetrieveRequest.cs b/src/Merge.Client/Ticketing/Teams/Requests/TeamsRetrieveRequest.cs index c1b169a0..b59811fa 100644 --- a/src/Merge.Client/Ticketing/Teams/Requests/TeamsRetrieveRequest.cs +++ b/src/Merge.Client/Ticketing/Teams/Requests/TeamsRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ticketing; @@ -7,8 +8,16 @@ public record TeamsRetrieveRequest /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Teams/TeamsClient.cs b/src/Merge.Client/Ticketing/Teams/TeamsClient.cs index 77500893..0d650313 100644 --- a/src/Merge.Client/Ticketing/Teams/TeamsClient.cs +++ b/src/Merge.Client/Ticketing/Teams/TeamsClient.cs @@ -17,12 +17,10 @@ internal TeamsClient(RawClient client) /// /// Returns a list of `Team` objects. /// - /// - /// + /// /// await client.Ticketing.Teams.ListAsync(new TeamsListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( TeamsListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -76,8 +74,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["remote_id"] = request.RemoteId; } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -88,35 +86,36 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a `Team` object with the given `id`. /// - /// - /// + /// /// await client.Ticketing.Teams.RetrieveAsync("id", new TeamsRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, TeamsRetrieveRequest request, RequestOptions? options = null, @@ -128,36 +127,46 @@ public async System.Threading.Tasks.Task RetrieveAsync( { _query["include_remote_data"] = JsonUtils.Serialize(request.IncludeRemoteData.Value); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"ticketing/v1/teams/{id}", + Path = string.Format( + "ticketing/v1/teams/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Ticketing/Tickets/Requests/PatchedTicketEndpointRequest.cs b/src/Merge.Client/Ticketing/Tickets/Requests/PatchedTicketEndpointRequest.cs index a879ac2e..97377b35 100644 --- a/src/Merge.Client/Ticketing/Tickets/Requests/PatchedTicketEndpointRequest.cs +++ b/src/Merge.Client/Ticketing/Tickets/Requests/PatchedTicketEndpointRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ticketing; @@ -7,15 +8,19 @@ public record PatchedTicketEndpointRequest /// /// Whether to include debug fields (such as log file links) in the response. /// + [JsonIgnore] public bool? IsDebugMode { get; set; } /// /// Whether or not third-party updates should be run asynchronously. /// + [JsonIgnore] public bool? RunAsync { get; set; } + [JsonPropertyName("model")] public required PatchedTicketRequest Model { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Tickets/Requests/TicketEndpointRequest.cs b/src/Merge.Client/Ticketing/Tickets/Requests/TicketEndpointRequest.cs index 8b165a85..cf5ef785 100644 --- a/src/Merge.Client/Ticketing/Tickets/Requests/TicketEndpointRequest.cs +++ b/src/Merge.Client/Ticketing/Tickets/Requests/TicketEndpointRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ticketing; @@ -7,15 +8,19 @@ public record TicketEndpointRequest /// /// Whether to include debug fields (such as log file links) in the response. /// + [JsonIgnore] public bool? IsDebugMode { get; set; } /// /// Whether or not third-party updates should be run asynchronously. /// + [JsonIgnore] public bool? RunAsync { get; set; } + [JsonPropertyName("model")] public required TicketRequest Model { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Tickets/Requests/TicketsListRequest.cs b/src/Merge.Client/Ticketing/Tickets/Requests/TicketsListRequest.cs index 7c89eacd..df91c000 100644 --- a/src/Merge.Client/Ticketing/Tickets/Requests/TicketsListRequest.cs +++ b/src/Merge.Client/Ticketing/Tickets/Requests/TicketsListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ticketing; @@ -7,168 +8,201 @@ public record TicketsListRequest /// /// If provided, will only return tickets for this account. /// + [JsonIgnore] public string? AccountId { get; set; } /// /// If provided, will only return tickets assigned to the assignee_ids; multiple assignee_ids can be separated by commas. /// + [JsonIgnore] public string? AssigneeIds { get; set; } /// /// If provided, will only return tickets assigned to the collection_ids; multiple collection_ids can be separated by commas. /// + [JsonIgnore] public string? CollectionIds { get; set; } /// /// If provided, will only return tickets completed after this datetime. /// + [JsonIgnore] public DateTime? CompletedAfter { get; set; } /// /// If provided, will only return tickets completed before this datetime. /// + [JsonIgnore] public DateTime? CompletedBefore { get; set; } /// /// If provided, will only return tickets for this contact. /// + [JsonIgnore] public string? ContactId { get; set; } /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// If provided, will only return tickets due after this datetime. /// + [JsonIgnore] public DateTime? DueAfter { get; set; } /// /// If provided, will only return tickets due before this datetime. /// + [JsonIgnore] public DateTime? DueBefore { get; set; } /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public TicketsListRequestExpand? Expand { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include all remote fields, including fields that Merge did not map to common models, in a normalized format. /// + [JsonIgnore] public bool? IncludeRemoteFields { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// If provided, will only return sub tickets of the parent_ticket_id. /// + [JsonIgnore] public string? ParentTicketId { get; set; } /// /// If provided, will only return tickets of this priority. /// - /// - `URGENT` - URGENT - /// - `HIGH` - HIGH - /// - `NORMAL` - NORMAL - /// - `LOW` - LOW + /// * `URGENT` - URGENT + /// * `HIGH` - HIGH + /// * `NORMAL` - NORMAL + /// * `LOW` - LOW /// + [JsonIgnore] public TicketsListRequestPriority? Priority { get; set; } /// /// If provided, will only return tickets created in the third party platform after this datetime. /// + [JsonIgnore] public DateTime? RemoteCreatedAfter { get; set; } /// /// If provided, will only return tickets created in the third party platform before this datetime. /// + [JsonIgnore] public DateTime? RemoteCreatedBefore { get; set; } /// /// Deprecated. Use show_enum_origins. /// + [JsonIgnore] public TicketsListRequestRemoteFields? RemoteFields { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } /// /// If provided, will only return tickets updated in the third party platform after this datetime. /// + [JsonIgnore] public DateTime? RemoteUpdatedAfter { get; set; } /// /// If provided, will only return tickets updated in the third party platform before this datetime. /// + [JsonIgnore] public DateTime? RemoteUpdatedBefore { get; set; } /// /// A comma separated list of enum field names for which you'd like the original values to be returned, instead of Merge's normalized enum values. [Learn more](https://help.merge.dev/en/articles/8950958-show_enum_origins-query-parameter) /// + [JsonIgnore] public TicketsListRequestShowEnumOrigins? ShowEnumOrigins { get; set; } /// /// If provided, will only return tickets of this status. /// + [JsonIgnore] public string? Status { get; set; } /// /// If provided, will only return tickets matching the tags; multiple tags can be separated by commas. /// + [JsonIgnore] public string? Tags { get; set; } /// /// If provided, will only return tickets of this type. /// + [JsonIgnore] public string? TicketType { get; set; } /// /// If provided, will only return tickets where the URL matches or contains the substring /// + [JsonIgnore] public string? TicketUrl { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Tickets/Requests/TicketsRemoteFieldClassesListRequest.cs b/src/Merge.Client/Ticketing/Tickets/Requests/TicketsRemoteFieldClassesListRequest.cs index 5e153419..45fbff73 100644 --- a/src/Merge.Client/Ticketing/Tickets/Requests/TicketsRemoteFieldClassesListRequest.cs +++ b/src/Merge.Client/Ticketing/Tickets/Requests/TicketsRemoteFieldClassesListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ticketing; @@ -7,33 +8,46 @@ public record TicketsRemoteFieldClassesListRequest /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } + /// + /// If provided, will only return remote field classes with the `ids` in this list + /// + [JsonIgnore] + public string? Ids { get; set; } + /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, will only return remote field classes with this is_common_model_field value /// + [JsonIgnore] public bool? IsCommonModelField { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Tickets/Requests/TicketsRetrieveRequest.cs b/src/Merge.Client/Ticketing/Tickets/Requests/TicketsRetrieveRequest.cs index 3fc409a1..8e199246 100644 --- a/src/Merge.Client/Ticketing/Tickets/Requests/TicketsRetrieveRequest.cs +++ b/src/Merge.Client/Ticketing/Tickets/Requests/TicketsRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ticketing; @@ -7,28 +8,40 @@ public record TicketsRetrieveRequest /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public TicketsRetrieveRequestExpand? Expand { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include all remote fields, including fields that Merge did not map to common models, in a normalized format. /// + [JsonIgnore] public bool? IncludeRemoteFields { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + /// /// Deprecated. Use show_enum_origins. /// + [JsonIgnore] public TicketsRetrieveRequestRemoteFields? RemoteFields { get; set; } /// /// A comma separated list of enum field names for which you'd like the original values to be returned, instead of Merge's normalized enum values. [Learn more](https://help.merge.dev/en/articles/8950958-show_enum_origins-query-parameter) /// + [JsonIgnore] public TicketsRetrieveRequestShowEnumOrigins? ShowEnumOrigins { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Tickets/Requests/TicketsViewersListRequest.cs b/src/Merge.Client/Ticketing/Tickets/Requests/TicketsViewersListRequest.cs index 7d4a147a..f8f29429 100644 --- a/src/Merge.Client/Ticketing/Tickets/Requests/TicketsViewersListRequest.cs +++ b/src/Merge.Client/Ticketing/Tickets/Requests/TicketsViewersListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ticketing; @@ -7,33 +8,40 @@ public record TicketsViewersListRequest /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public TicketsViewersListRequestExpand? Expand { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Tickets/TicketsClient.cs b/src/Merge.Client/Ticketing/Tickets/TicketsClient.cs index dd18a23f..8e98ba6d 100644 --- a/src/Merge.Client/Ticketing/Tickets/TicketsClient.cs +++ b/src/Merge.Client/Ticketing/Tickets/TicketsClient.cs @@ -17,12 +17,10 @@ internal TicketsClient(RawClient client) /// /// Returns a list of `Ticket` objects. /// - /// - /// + /// /// await client.Ticketing.Tickets.ListAsync(new TicketsListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( TicketsListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -178,8 +176,8 @@ public async System.Threading.Tasks.Task ListAsync( _query["ticket_url"] = request.TicketUrl; } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -190,37 +188,38 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Creates a `Ticket` object with the given values. /// - /// - /// + /// /// await client.Ticketing.Tickets.CreateAsync( /// new TicketEndpointRequest { Model = new TicketRequest() } /// ); - /// - /// - public async System.Threading.Tasks.Task CreateAsync( + /// + public async Task CreateAsync( TicketEndpointRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -235,15 +234,14 @@ public async System.Threading.Tasks.Task CreateAsync( { _query["run_async"] = JsonUtils.Serialize(request.RunAsync.Value); } - var requestBody = new Dictionary() { { "model", request.Model } }; var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, Path = "ticketing/v1/tickets", - Body = requestBody, + Body = request, Query = _query, ContentType = "application/json", Options = options, @@ -251,35 +249,36 @@ public async System.Threading.Tasks.Task CreateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a `Ticket` object with the given `id`. /// - /// - /// + /// /// await client.Ticketing.Tickets.RetrieveAsync("id", new TicketsRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, TicketsRetrieveRequest request, RequestOptions? options = null, @@ -301,6 +300,10 @@ public async System.Threading.Tasks.Task RetrieveAsync( request.IncludeRemoteFields.Value ); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } if (request.RemoteFields != null) { _query["remote_fields"] = request.RemoteFields.Value.Stringify(); @@ -310,50 +313,54 @@ public async System.Threading.Tasks.Task RetrieveAsync( _query["show_enum_origins"] = request.ShowEnumOrigins.Value.Stringify(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"ticketing/v1/tickets/{id}", + Path = string.Format( + "ticketing/v1/tickets/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Updates a `Ticket` object with the given `id`. /// - /// - /// + /// /// await client.Ticketing.Tickets.PartialUpdateAsync( /// "id", /// new PatchedTicketEndpointRequest { Model = new PatchedTicketRequest() } /// ); - /// - /// - public async System.Threading.Tasks.Task PartialUpdateAsync( + /// + public async Task PartialUpdateAsync( string id, PatchedTicketEndpointRequest request, RequestOptions? options = null, @@ -369,15 +376,17 @@ public async System.Threading.Tasks.Task PartialUpdateAsync( { _query["run_async"] = JsonUtils.Serialize(request.RunAsync.Value); } - var requestBody = new Dictionary() { { "model", request.Model } }; var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethodExtensions.Patch, - Path = $"ticketing/v1/tickets/{id}", - Body = requestBody, + Path = string.Format( + "ticketing/v1/tickets/{0}", + ValueConvert.ToPathParameterString(id) + ), + Body = request, Query = _query, ContentType = "application/json", Options = options, @@ -385,35 +394,36 @@ public async System.Threading.Tasks.Task PartialUpdateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// - /// Returns a list of `Viewer` objects. + /// Returns a list of `Viewer` objects that point to a User id or Team id that is either an assignee or viewer on a `Ticket` with the given id. [Learn more.](https://help.merge.dev/en/articles/10333658-ticketing-access-control-list-acls) /// - /// - /// + /// /// await client.Ticketing.Tickets.ViewersListAsync("ticket_id", new TicketsViewersListRequest()); - /// - /// - public async System.Threading.Tasks.Task ViewersListAsync( + /// + public async Task ViewersListAsync( string ticketId, TicketsViewersListRequest request, RequestOptions? options = null, @@ -446,100 +456,108 @@ public async System.Threading.Tasks.Task ViewersListAsync( _query["page_size"] = request.PageSize.Value.ToString(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"ticketing/v1/tickets/{ticketId}/viewers", + Path = string.Format( + "ticketing/v1/tickets/{0}/viewers", + ValueConvert.ToPathParameterString(ticketId) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns metadata for `Ticket` PATCHs. /// - /// - /// + /// /// await client.Ticketing.Tickets.MetaPatchRetrieveAsync("id"); - /// - /// - public async System.Threading.Tasks.Task MetaPatchRetrieveAsync( + /// + public async Task MetaPatchRetrieveAsync( string id, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"ticketing/v1/tickets/meta/patch/{id}", + Path = string.Format( + "ticketing/v1/tickets/meta/patch/{0}", + ValueConvert.ToPathParameterString(id) + ), Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns metadata for `Ticket` POSTs. /// - /// - /// + /// /// await client.Ticketing.Tickets.MetaPostRetrieveAsync(); - /// - /// - public async System.Threading.Tasks.Task MetaPostRetrieveAsync( + /// + public async Task MetaPostRetrieveAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -549,37 +567,38 @@ public async System.Threading.Tasks.Task MetaPostRetrieveAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a list of `RemoteFieldClass` objects. /// - /// - /// + /// /// await client.Ticketing.Tickets.RemoteFieldClassesListAsync( /// new TicketsRemoteFieldClassesListRequest() /// ); - /// - /// - public async System.Threading.Tasks.Task RemoteFieldClassesListAsync( + /// + public async Task RemoteFieldClassesListAsync( TicketsRemoteFieldClassesListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -590,6 +609,10 @@ public async System.Threading.Tasks.Task RemoteFi { _query["cursor"] = request.Cursor; } + if (request.Ids != null) + { + _query["ids"] = request.Ids; + } if (request.IncludeDeletedData != null) { _query["include_deleted_data"] = JsonUtils.Serialize(request.IncludeDeletedData.Value); @@ -611,8 +634,8 @@ public async System.Threading.Tasks.Task RemoteFi _query["page_size"] = request.PageSize.Value.ToString(); } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -623,23 +646,26 @@ public async System.Threading.Tasks.Task RemoteFi cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Ticketing/Types/Account.cs b/src/Merge.Client/Ticketing/Types/Account.cs index 5f281890..75edcd61 100644 --- a/src/Merge.Client/Ticketing/Types/Account.cs +++ b/src/Merge.Client/Ticketing/Types/Account.cs @@ -1,10 +1,22 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ticketing; +/// +/// # The Account Object +/// ### Description +/// The `Account` object is used to represent the account that a ticket is associated with. +/// +/// The account is a company that may be a customer. This does not represent the company that is receiving the ticket. +/// +/// ### Usage Example +/// TODO +/// public record Account { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -17,12 +29,14 @@ public record Account /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -44,12 +58,25 @@ public record Account [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/AccountDetails.cs b/src/Merge.Client/Ticketing/Types/AccountDetails.cs index ea4dc065..0be9acc6 100644 --- a/src/Merge.Client/Ticketing/Types/AccountDetails.cs +++ b/src/Merge.Client/Ticketing/Types/AccountDetails.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -5,39 +6,49 @@ namespace Merge.Client.Ticketing; public record AccountDetails { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("integration")] public string? Integration { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("integration_slug")] public string? IntegrationSlug { get; set; } [JsonPropertyName("category")] public CategoryEnum? Category { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("end_user_origin_id")] public string? EndUserOriginId { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("end_user_organization_name")] public string? EndUserOrganizationName { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("end_user_email_address")] public string? EndUserEmailAddress { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("status")] public string? Status { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("webhook_listener_url")] public string? WebhookListenerUrl { get; set; } /// /// Whether a Production Linked Account's credentials match another existing Production Linked Account. This field is `null` for Test Linked Accounts, incomplete Production Linked Accounts, and ignored duplicate Production Linked Account sets. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("is_duplicate")] public bool? IsDuplicate { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("account_type")] public string? AccountType { get; set; } @@ -47,6 +58,17 @@ public record AccountDetails [JsonPropertyName("completed_at")] public DateTime? CompletedAt { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/AccountDetailsAndActions.cs b/src/Merge.Client/Ticketing/Types/AccountDetailsAndActions.cs index 3fed7fb9..48916657 100644 --- a/src/Merge.Client/Ticketing/Types/AccountDetailsAndActions.cs +++ b/src/Merge.Client/Ticketing/Types/AccountDetailsAndActions.cs @@ -1,8 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ticketing; +/// +/// # The LinkedAccount Object +/// ### Description +/// The `LinkedAccount` object is used to represent an end user's link with a specific integration. +/// +/// ### Usage Example +/// View a list of your organization's `LinkedAccount` objects. +/// public record AccountDetailsAndActions { [JsonPropertyName("id")] @@ -50,6 +59,17 @@ public record AccountDetailsAndActions [JsonPropertyName("completed_at")] public required DateTime CompletedAt { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/AccountDetailsAndActionsIntegration.cs b/src/Merge.Client/Ticketing/Types/AccountDetailsAndActionsIntegration.cs index b8d02baa..60bc5064 100644 --- a/src/Merge.Client/Ticketing/Types/AccountDetailsAndActionsIntegration.cs +++ b/src/Merge.Client/Ticketing/Types/AccountDetailsAndActionsIntegration.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -29,6 +30,17 @@ public record AccountDetailsAndActionsIntegration [JsonPropertyName("available_model_operations")] public IEnumerable? AvailableModelOperations { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/AccountIntegration.cs b/src/Merge.Client/Ticketing/Types/AccountIntegration.cs index bf6de787..41867097 100644 --- a/src/Merge.Client/Ticketing/Types/AccountIntegration.cs +++ b/src/Merge.Client/Ticketing/Types/AccountIntegration.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -20,6 +21,7 @@ public record AccountIntegration /// /// Category or categories this integration belongs to. Multiple categories should be comma separated, i.e. [ats, hris]. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("categories")] public IEnumerable? Categories { get; set; } @@ -41,6 +43,7 @@ public record AccountIntegration [JsonPropertyName("color")] public string? Color { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("slug")] public string? Slug { get; set; } @@ -59,9 +62,21 @@ public record AccountIntegration /// /// Category or categories this integration is in beta status for. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("category_beta_status")] public Dictionary? CategoryBetaStatus { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/AccountToken.cs b/src/Merge.Client/Ticketing/Types/AccountToken.cs index c092d6a4..97961294 100644 --- a/src/Merge.Client/Ticketing/Types/AccountToken.cs +++ b/src/Merge.Client/Ticketing/Types/AccountToken.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -11,6 +12,20 @@ public record AccountToken [JsonPropertyName("integration")] public required AccountIntegration Integration { get; set; } + [JsonPropertyName("id")] + public required string Id { get; set; } + + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/AdvancedMetadata.cs b/src/Merge.Client/Ticketing/Types/AdvancedMetadata.cs index 7d78c55c..e0137df7 100644 --- a/src/Merge.Client/Ticketing/Types/AdvancedMetadata.cs +++ b/src/Merge.Client/Ticketing/Types/AdvancedMetadata.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -23,6 +24,17 @@ public record AdvancedMetadata [JsonPropertyName("field_choices")] public IEnumerable? FieldChoices { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/AsyncPassthroughReciept.cs b/src/Merge.Client/Ticketing/Types/AsyncPassthroughReciept.cs index fa3fdbf2..9f0d52c6 100644 --- a/src/Merge.Client/Ticketing/Types/AsyncPassthroughReciept.cs +++ b/src/Merge.Client/Ticketing/Types/AsyncPassthroughReciept.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -8,6 +9,17 @@ public record AsyncPassthroughReciept [JsonPropertyName("async_passthrough_receipt_id")] public required string AsyncPassthroughReceiptId { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/Attachment.cs b/src/Merge.Client/Ticketing/Types/Attachment.cs index 823adec7..b02131bd 100644 --- a/src/Merge.Client/Ticketing/Types/Attachment.cs +++ b/src/Merge.Client/Ticketing/Types/Attachment.cs @@ -1,11 +1,21 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Ticketing; +/// +/// # The Attachment Object +/// ### Description +/// The `Attachment` object is used to represent an attachment for a ticket. +/// +/// ### Usage Example +/// TODO +/// public record Attachment { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -18,12 +28,14 @@ public record Attachment /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -66,15 +78,29 @@ public record Attachment /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/AttachmentRequest.cs b/src/Merge.Client/Ticketing/Types/AttachmentRequest.cs index 2a21302e..2b0f040c 100644 --- a/src/Merge.Client/Ticketing/Types/AttachmentRequest.cs +++ b/src/Merge.Client/Ticketing/Types/AttachmentRequest.cs @@ -1,9 +1,18 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Ticketing; +/// +/// # The Attachment Object +/// ### Description +/// The `Attachment` object is used to represent an attachment for a ticket. +/// +/// ### Usage Example +/// TODO +/// public record AttachmentRequest { /// @@ -36,12 +45,25 @@ public record AttachmentRequest [JsonPropertyName("uploaded_by")] public string? UploadedBy { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("integration_params")] public Dictionary? IntegrationParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("linked_account_params")] public Dictionary? LinkedAccountParams { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/AuditLogEvent.cs b/src/Merge.Client/Ticketing/Types/AuditLogEvent.cs index 3e807532..cf9068a6 100644 --- a/src/Merge.Client/Ticketing/Types/AuditLogEvent.cs +++ b/src/Merge.Client/Ticketing/Types/AuditLogEvent.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -5,6 +6,7 @@ namespace Merge.Client.Ticketing; public record AuditLogEvent { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -23,12 +25,12 @@ public record AuditLogEvent /// /// Designates the role of the user (or SYSTEM/API if action not taken by a user) at the time of this Event occurring. /// - /// - `ADMIN` - ADMIN - /// - `DEVELOPER` - DEVELOPER - /// - `MEMBER` - MEMBER - /// - `API` - API - /// - `SYSTEM` - SYSTEM - /// - `MERGE_TEAM` - MERGE_TEAM + /// * `ADMIN` - ADMIN + /// * `DEVELOPER` - DEVELOPER + /// * `MEMBER` - MEMBER + /// * `API` - API + /// * `SYSTEM` - SYSTEM + /// * `MERGE_TEAM` - MERGE_TEAM /// [JsonPropertyName("role")] public required RoleEnum Role { get; set; } @@ -39,47 +41,48 @@ public record AuditLogEvent /// /// Designates the type of event that occurred. /// - /// - `CREATED_REMOTE_PRODUCTION_API_KEY` - CREATED_REMOTE_PRODUCTION_API_KEY - /// - `DELETED_REMOTE_PRODUCTION_API_KEY` - DELETED_REMOTE_PRODUCTION_API_KEY - /// - `CREATED_TEST_API_KEY` - CREATED_TEST_API_KEY - /// - `DELETED_TEST_API_KEY` - DELETED_TEST_API_KEY - /// - `REGENERATED_PRODUCTION_API_KEY` - REGENERATED_PRODUCTION_API_KEY - /// - `INVITED_USER` - INVITED_USER - /// - `TWO_FACTOR_AUTH_ENABLED` - TWO_FACTOR_AUTH_ENABLED - /// - `TWO_FACTOR_AUTH_DISABLED` - TWO_FACTOR_AUTH_DISABLED - /// - `DELETED_LINKED_ACCOUNT` - DELETED_LINKED_ACCOUNT - /// - `CREATED_DESTINATION` - CREATED_DESTINATION - /// - `DELETED_DESTINATION` - DELETED_DESTINATION - /// - `CHANGED_DESTINATION` - CHANGED_DESTINATION - /// - `CHANGED_SCOPES` - CHANGED_SCOPES - /// - `CHANGED_PERSONAL_INFORMATION` - CHANGED_PERSONAL_INFORMATION - /// - `CHANGED_ORGANIZATION_SETTINGS` - CHANGED_ORGANIZATION_SETTINGS - /// - `ENABLED_INTEGRATION` - ENABLED_INTEGRATION - /// - `DISABLED_INTEGRATION` - DISABLED_INTEGRATION - /// - `ENABLED_CATEGORY` - ENABLED_CATEGORY - /// - `DISABLED_CATEGORY` - DISABLED_CATEGORY - /// - `CHANGED_PASSWORD` - CHANGED_PASSWORD - /// - `RESET_PASSWORD` - RESET_PASSWORD - /// - `ENABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION` - ENABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION - /// - `ENABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT` - ENABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT - /// - `DISABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION` - DISABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION - /// - `DISABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT` - DISABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT - /// - `CREATED_INTEGRATION_WIDE_FIELD_MAPPING` - CREATED_INTEGRATION_WIDE_FIELD_MAPPING - /// - `CREATED_LINKED_ACCOUNT_FIELD_MAPPING` - CREATED_LINKED_ACCOUNT_FIELD_MAPPING - /// - `CHANGED_INTEGRATION_WIDE_FIELD_MAPPING` - CHANGED_INTEGRATION_WIDE_FIELD_MAPPING - /// - `CHANGED_LINKED_ACCOUNT_FIELD_MAPPING` - CHANGED_LINKED_ACCOUNT_FIELD_MAPPING - /// - `DELETED_INTEGRATION_WIDE_FIELD_MAPPING` - DELETED_INTEGRATION_WIDE_FIELD_MAPPING - /// - `DELETED_LINKED_ACCOUNT_FIELD_MAPPING` - DELETED_LINKED_ACCOUNT_FIELD_MAPPING - /// - `CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE` - CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE - /// - `CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE` - CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE - /// - `DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE` - DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE - /// - `FORCED_LINKED_ACCOUNT_RESYNC` - FORCED_LINKED_ACCOUNT_RESYNC - /// - `MUTED_ISSUE` - MUTED_ISSUE - /// - `GENERATED_MAGIC_LINK` - GENERATED_MAGIC_LINK - /// - `ENABLED_MERGE_WEBHOOK` - ENABLED_MERGE_WEBHOOK - /// - `DISABLED_MERGE_WEBHOOK` - DISABLED_MERGE_WEBHOOK - /// - `MERGE_WEBHOOK_TARGET_CHANGED` - MERGE_WEBHOOK_TARGET_CHANGED - /// - `END_USER_CREDENTIALS_ACCESSED` - END_USER_CREDENTIALS_ACCESSED + /// * `CREATED_REMOTE_PRODUCTION_API_KEY` - CREATED_REMOTE_PRODUCTION_API_KEY + /// * `DELETED_REMOTE_PRODUCTION_API_KEY` - DELETED_REMOTE_PRODUCTION_API_KEY + /// * `CREATED_TEST_API_KEY` - CREATED_TEST_API_KEY + /// * `DELETED_TEST_API_KEY` - DELETED_TEST_API_KEY + /// * `REGENERATED_PRODUCTION_API_KEY` - REGENERATED_PRODUCTION_API_KEY + /// * `INVITED_USER` - INVITED_USER + /// * `TWO_FACTOR_AUTH_ENABLED` - TWO_FACTOR_AUTH_ENABLED + /// * `TWO_FACTOR_AUTH_DISABLED` - TWO_FACTOR_AUTH_DISABLED + /// * `DELETED_LINKED_ACCOUNT` - DELETED_LINKED_ACCOUNT + /// * `DELETED_ALL_COMMON_MODELS_FOR_LINKED_ACCOUNT` - DELETED_ALL_COMMON_MODELS_FOR_LINKED_ACCOUNT + /// * `CREATED_DESTINATION` - CREATED_DESTINATION + /// * `DELETED_DESTINATION` - DELETED_DESTINATION + /// * `CHANGED_DESTINATION` - CHANGED_DESTINATION + /// * `CHANGED_SCOPES` - CHANGED_SCOPES + /// * `CHANGED_PERSONAL_INFORMATION` - CHANGED_PERSONAL_INFORMATION + /// * `CHANGED_ORGANIZATION_SETTINGS` - CHANGED_ORGANIZATION_SETTINGS + /// * `ENABLED_INTEGRATION` - ENABLED_INTEGRATION + /// * `DISABLED_INTEGRATION` - DISABLED_INTEGRATION + /// * `ENABLED_CATEGORY` - ENABLED_CATEGORY + /// * `DISABLED_CATEGORY` - DISABLED_CATEGORY + /// * `CHANGED_PASSWORD` - CHANGED_PASSWORD + /// * `RESET_PASSWORD` - RESET_PASSWORD + /// * `ENABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION` - ENABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION + /// * `ENABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT` - ENABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT + /// * `DISABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION` - DISABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION + /// * `DISABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT` - DISABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT + /// * `CREATED_INTEGRATION_WIDE_FIELD_MAPPING` - CREATED_INTEGRATION_WIDE_FIELD_MAPPING + /// * `CREATED_LINKED_ACCOUNT_FIELD_MAPPING` - CREATED_LINKED_ACCOUNT_FIELD_MAPPING + /// * `CHANGED_INTEGRATION_WIDE_FIELD_MAPPING` - CHANGED_INTEGRATION_WIDE_FIELD_MAPPING + /// * `CHANGED_LINKED_ACCOUNT_FIELD_MAPPING` - CHANGED_LINKED_ACCOUNT_FIELD_MAPPING + /// * `DELETED_INTEGRATION_WIDE_FIELD_MAPPING` - DELETED_INTEGRATION_WIDE_FIELD_MAPPING + /// * `DELETED_LINKED_ACCOUNT_FIELD_MAPPING` - DELETED_LINKED_ACCOUNT_FIELD_MAPPING + /// * `CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE` - CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE + /// * `CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE` - CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE + /// * `DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE` - DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE + /// * `FORCED_LINKED_ACCOUNT_RESYNC` - FORCED_LINKED_ACCOUNT_RESYNC + /// * `MUTED_ISSUE` - MUTED_ISSUE + /// * `GENERATED_MAGIC_LINK` - GENERATED_MAGIC_LINK + /// * `ENABLED_MERGE_WEBHOOK` - ENABLED_MERGE_WEBHOOK + /// * `DISABLED_MERGE_WEBHOOK` - DISABLED_MERGE_WEBHOOK + /// * `MERGE_WEBHOOK_TARGET_CHANGED` - MERGE_WEBHOOK_TARGET_CHANGED + /// * `END_USER_CREDENTIALS_ACCESSED` - END_USER_CREDENTIALS_ACCESSED /// [JsonPropertyName("event_type")] public required EventTypeEnum EventType { get; set; } @@ -87,9 +90,21 @@ public record AuditLogEvent [JsonPropertyName("event_description")] public required string EventDescription { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/AvailableActions.cs b/src/Merge.Client/Ticketing/Types/AvailableActions.cs index 6a9b2058..e434f5f8 100644 --- a/src/Merge.Client/Ticketing/Types/AvailableActions.cs +++ b/src/Merge.Client/Ticketing/Types/AvailableActions.cs @@ -1,8 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ticketing; +/// +/// # The AvailableActions Object +/// ### Description +/// The `Activity` object is used to see all available model/operation combinations for an integration. +/// +/// ### Usage Example +/// Fetch all the actions available for the `Zenefits` integration. +/// public record AvailableActions { [JsonPropertyName("integration")] @@ -14,6 +23,17 @@ public record AvailableActions [JsonPropertyName("available_model_operations")] public IEnumerable? AvailableModelOperations { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/Collection.cs b/src/Merge.Client/Ticketing/Types/Collection.cs index d255a862..f357054c 100644 --- a/src/Merge.Client/Ticketing/Types/Collection.cs +++ b/src/Merge.Client/Ticketing/Types/Collection.cs @@ -1,11 +1,21 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Ticketing; +/// +/// # The Collection Object +/// ### Description +/// The `Collection` object is used to represent one or more `Tickets`. There can be a hierarchy of `Collections`, in which a sub-collection belongs to a parent-collection. +/// +/// ### Usage Example +/// TODO +/// public record Collection { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -18,12 +28,14 @@ public record Collection /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -42,8 +54,8 @@ public record Collection /// /// The collection's type. /// - /// - `LIST` - LIST - /// - `PROJECT` - PROJECT + /// * `LIST` - LIST + /// * `PROJECT` - PROJECT /// [JsonPropertyName("collection_type")] public CollectionTypeEnum? CollectionType { get; set; } @@ -54,9 +66,6 @@ public record Collection [JsonPropertyName("parent_collection")] public OneOf? ParentCollection { get; set; } - [JsonPropertyName("teams")] - public IEnumerable>? Teams { get; set; } - /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// @@ -66,19 +75,32 @@ public record Collection /// /// The level of access a User has to the Collection and its sub-objects. /// - /// - `PRIVATE` - PRIVATE - /// - `COMPANY` - COMPANY - /// - `PUBLIC` - PUBLIC + /// * `PRIVATE` - PRIVATE + /// * `COMPANY` - COMPANY + /// * `PUBLIC` - PUBLIC /// [JsonPropertyName("access_level")] public AccessLevelEnum? AccessLevel { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/Comment.cs b/src/Merge.Client/Ticketing/Types/Comment.cs index 0f26e963..88293447 100644 --- a/src/Merge.Client/Ticketing/Types/Comment.cs +++ b/src/Merge.Client/Ticketing/Types/Comment.cs @@ -1,11 +1,21 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Ticketing; +/// +/// # The Comment Object +/// ### Description +/// The `Comment` object is used to represent a comment on a ticket. +/// +/// ### Usage Example +/// TODO +/// public record Comment { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -18,12 +28,14 @@ public record Comment /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -72,15 +84,29 @@ public record Comment /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/CommentRequest.cs b/src/Merge.Client/Ticketing/Types/CommentRequest.cs index fb10643b..26981fb8 100644 --- a/src/Merge.Client/Ticketing/Types/CommentRequest.cs +++ b/src/Merge.Client/Ticketing/Types/CommentRequest.cs @@ -1,9 +1,18 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Ticketing; +/// +/// # The Comment Object +/// ### Description +/// The `Comment` object is used to represent a comment on a ticket. +/// +/// ### Usage Example +/// TODO +/// public record CommentRequest { /// @@ -42,12 +51,25 @@ public record CommentRequest [JsonPropertyName("is_private")] public bool? IsPrivate { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("integration_params")] public Dictionary? IntegrationParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("linked_account_params")] public Dictionary? LinkedAccountParams { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/CommentResponse.cs b/src/Merge.Client/Ticketing/Types/CommentResponse.cs index 76bb45bd..37721dcc 100644 --- a/src/Merge.Client/Ticketing/Types/CommentResponse.cs +++ b/src/Merge.Client/Ticketing/Types/CommentResponse.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -19,6 +20,17 @@ public record CommentResponse [JsonPropertyName("logs")] public IEnumerable? Logs { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/CommonModelScopeApi.cs b/src/Merge.Client/Ticketing/Types/CommonModelScopeApi.cs index 5e944197..89f287e8 100644 --- a/src/Merge.Client/Ticketing/Types/CommonModelScopeApi.cs +++ b/src/Merge.Client/Ticketing/Types/CommonModelScopeApi.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -12,6 +13,17 @@ public record CommonModelScopeApi public IEnumerable CommonModels { get; set; } = new List(); + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/CommonModelScopesBodyRequest.cs b/src/Merge.Client/Ticketing/Types/CommonModelScopesBodyRequest.cs index 9c4d6c87..220047fe 100644 --- a/src/Merge.Client/Ticketing/Types/CommonModelScopesBodyRequest.cs +++ b/src/Merge.Client/Ticketing/Types/CommonModelScopesBodyRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -15,6 +16,17 @@ public record CommonModelScopesBodyRequest [JsonPropertyName("disabled_fields")] public IEnumerable DisabledFields { get; set; } = new List(); + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/Contact.cs b/src/Merge.Client/Ticketing/Types/Contact.cs index 84db26d7..b1c2eb1e 100644 --- a/src/Merge.Client/Ticketing/Types/Contact.cs +++ b/src/Merge.Client/Ticketing/Types/Contact.cs @@ -1,11 +1,21 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Ticketing; +/// +/// # The Contact Object +/// ### Description +/// The `Contact` object is used to represent the customer, lead, or external user that a ticket is associated with. +/// +/// ### Usage Example +/// TODO +/// public record Contact { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -18,12 +28,14 @@ public record Contact /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -60,15 +72,29 @@ public record Contact /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/ContactRequest.cs b/src/Merge.Client/Ticketing/Types/ContactRequest.cs index e8708dc6..7e4b00ef 100644 --- a/src/Merge.Client/Ticketing/Types/ContactRequest.cs +++ b/src/Merge.Client/Ticketing/Types/ContactRequest.cs @@ -1,9 +1,18 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Ticketing; +/// +/// # The Contact Object +/// ### Description +/// The `Contact` object is used to represent the customer, lead, or external user that a ticket is associated with. +/// +/// ### Usage Example +/// TODO +/// public record ContactRequest { /// @@ -36,12 +45,25 @@ public record ContactRequest [JsonPropertyName("account")] public OneOf? Account { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("integration_params")] public Dictionary? IntegrationParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("linked_account_params")] public Dictionary? LinkedAccountParams { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/DataPassthroughRequest.cs b/src/Merge.Client/Ticketing/Types/DataPassthroughRequest.cs index 810c35f3..56be336e 100644 --- a/src/Merge.Client/Ticketing/Types/DataPassthroughRequest.cs +++ b/src/Merge.Client/Ticketing/Types/DataPassthroughRequest.cs @@ -1,8 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ticketing; +/// +/// # The DataPassthrough Object +/// ### Description +/// The `DataPassthrough` object is used to send information to an otherwise-unsupported third-party endpoint. +/// +/// ### Usage Example +/// Create a `DataPassthrough` to get team hierarchies from your Rippling integration. +/// public record DataPassthroughRequest { [JsonPropertyName("method")] @@ -47,6 +56,17 @@ public record DataPassthroughRequest [JsonPropertyName("normalize_response")] public bool? NormalizeResponse { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/DebugModeLog.cs b/src/Merge.Client/Ticketing/Types/DebugModeLog.cs index 17634a7e..1460db2b 100644 --- a/src/Merge.Client/Ticketing/Types/DebugModeLog.cs +++ b/src/Merge.Client/Ticketing/Types/DebugModeLog.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record DebugModeLog [JsonPropertyName("log_summary")] public required DebugModelLogSummary LogSummary { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/DebugModelLogSummary.cs b/src/Merge.Client/Ticketing/Types/DebugModelLogSummary.cs index cd7843c0..70a0efb1 100644 --- a/src/Merge.Client/Ticketing/Types/DebugModelLogSummary.cs +++ b/src/Merge.Client/Ticketing/Types/DebugModelLogSummary.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record DebugModelLogSummary [JsonPropertyName("status_code")] public required int StatusCode { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/ErrorValidationProblem.cs b/src/Merge.Client/Ticketing/Types/ErrorValidationProblem.cs index 05171d60..0a99005a 100644 --- a/src/Merge.Client/Ticketing/Types/ErrorValidationProblem.cs +++ b/src/Merge.Client/Ticketing/Types/ErrorValidationProblem.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -17,6 +18,17 @@ public record ErrorValidationProblem [JsonPropertyName("problem_type")] public required string ProblemType { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/EventTypeEnum.cs b/src/Merge.Client/Ticketing/Types/EventTypeEnum.cs index bb34170b..e0dddf8c 100644 --- a/src/Merge.Client/Ticketing/Types/EventTypeEnum.cs +++ b/src/Merge.Client/Ticketing/Types/EventTypeEnum.cs @@ -34,6 +34,9 @@ public enum EventTypeEnum [EnumMember(Value = "DELETED_LINKED_ACCOUNT")] DeletedLinkedAccount, + [EnumMember(Value = "DELETED_ALL_COMMON_MODELS_FOR_LINKED_ACCOUNT")] + DeletedAllCommonModelsForLinkedAccount, + [EnumMember(Value = "CREATED_DESTINATION")] CreatedDestination, diff --git a/src/Merge.Client/Ticketing/Types/ExternalTargetFieldApi.cs b/src/Merge.Client/Ticketing/Types/ExternalTargetFieldApi.cs index 86c0c471..07b9e0d7 100644 --- a/src/Merge.Client/Ticketing/Types/ExternalTargetFieldApi.cs +++ b/src/Merge.Client/Ticketing/Types/ExternalTargetFieldApi.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -5,15 +6,29 @@ namespace Merge.Client.Ticketing; public record ExternalTargetFieldApi { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("name")] public string? Name { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("description")] public string? Description { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("is_mapped")] public string? IsMapped { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/ExternalTargetFieldApiResponse.cs b/src/Merge.Client/Ticketing/Types/ExternalTargetFieldApiResponse.cs index 3b2f5db5..c61a4434 100644 --- a/src/Merge.Client/Ticketing/Types/ExternalTargetFieldApiResponse.cs +++ b/src/Merge.Client/Ticketing/Types/ExternalTargetFieldApiResponse.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -38,6 +39,17 @@ public record ExternalTargetFieldApiResponse [JsonPropertyName("Contact")] public IEnumerable? Contact { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/FieldMappingApiInstance.cs b/src/Merge.Client/Ticketing/Types/FieldMappingApiInstance.cs index bb915672..2d1c58d2 100644 --- a/src/Merge.Client/Ticketing/Types/FieldMappingApiInstance.cs +++ b/src/Merge.Client/Ticketing/Types/FieldMappingApiInstance.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -5,18 +6,33 @@ namespace Merge.Client.Ticketing; public record FieldMappingApiInstance { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("is_integration_wide")] public bool? IsIntegrationWide { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("target_field")] public FieldMappingApiInstanceTargetField? TargetField { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_field")] public FieldMappingApiInstanceRemoteField? RemoteField { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/FieldMappingApiInstanceRemoteField.cs b/src/Merge.Client/Ticketing/Types/FieldMappingApiInstanceRemoteField.cs index fa4b57c6..434b9b39 100644 --- a/src/Merge.Client/Ticketing/Types/FieldMappingApiInstanceRemoteField.cs +++ b/src/Merge.Client/Ticketing/Types/FieldMappingApiInstanceRemoteField.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record FieldMappingApiInstanceRemoteField [JsonPropertyName("remote_endpoint_info")] public required FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo RemoteEndpointInfo { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo.cs b/src/Merge.Client/Ticketing/Types/FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo.cs index 5df7f72c..9c98786f 100644 --- a/src/Merge.Client/Ticketing/Types/FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo.cs +++ b/src/Merge.Client/Ticketing/Types/FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo [JsonPropertyName("field_traversal_path")] public IEnumerable? FieldTraversalPath { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/FieldMappingApiInstanceResponse.cs b/src/Merge.Client/Ticketing/Types/FieldMappingApiInstanceResponse.cs index 43e86dab..c9a64a16 100644 --- a/src/Merge.Client/Ticketing/Types/FieldMappingApiInstanceResponse.cs +++ b/src/Merge.Client/Ticketing/Types/FieldMappingApiInstanceResponse.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -38,6 +39,17 @@ public record FieldMappingApiInstanceResponse [JsonPropertyName("Contact")] public IEnumerable? Contact { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/FieldMappingApiInstanceTargetField.cs b/src/Merge.Client/Ticketing/Types/FieldMappingApiInstanceTargetField.cs index 5d10961b..4cdba480 100644 --- a/src/Merge.Client/Ticketing/Types/FieldMappingApiInstanceTargetField.cs +++ b/src/Merge.Client/Ticketing/Types/FieldMappingApiInstanceTargetField.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record FieldMappingApiInstanceTargetField [JsonPropertyName("is_organization_wide")] public required bool IsOrganizationWide { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/FieldMappingInstanceResponse.cs b/src/Merge.Client/Ticketing/Types/FieldMappingInstanceResponse.cs index 4a2c5228..974fa931 100644 --- a/src/Merge.Client/Ticketing/Types/FieldMappingInstanceResponse.cs +++ b/src/Merge.Client/Ticketing/Types/FieldMappingInstanceResponse.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -19,6 +20,17 @@ public record FieldMappingInstanceResponse [JsonPropertyName("logs")] public IEnumerable? Logs { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/FieldPermissionDeserializer.cs b/src/Merge.Client/Ticketing/Types/FieldPermissionDeserializer.cs index a4e6f549..88085f51 100644 --- a/src/Merge.Client/Ticketing/Types/FieldPermissionDeserializer.cs +++ b/src/Merge.Client/Ticketing/Types/FieldPermissionDeserializer.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -11,6 +12,17 @@ public record FieldPermissionDeserializer [JsonPropertyName("disabled_fields")] public IEnumerable? DisabledFields { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/FieldPermissionDeserializerRequest.cs b/src/Merge.Client/Ticketing/Types/FieldPermissionDeserializerRequest.cs index 97c929a7..5db5af21 100644 --- a/src/Merge.Client/Ticketing/Types/FieldPermissionDeserializerRequest.cs +++ b/src/Merge.Client/Ticketing/Types/FieldPermissionDeserializerRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -11,6 +12,17 @@ public record FieldPermissionDeserializerRequest [JsonPropertyName("disabled_fields")] public IEnumerable? DisabledFields { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/IndividualCommonModelScopeDeserializer.cs b/src/Merge.Client/Ticketing/Types/IndividualCommonModelScopeDeserializer.cs index 4e42dee7..f0ac581c 100644 --- a/src/Merge.Client/Ticketing/Types/IndividualCommonModelScopeDeserializer.cs +++ b/src/Merge.Client/Ticketing/Types/IndividualCommonModelScopeDeserializer.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record IndividualCommonModelScopeDeserializer [JsonPropertyName("field_permissions")] public FieldPermissionDeserializer? FieldPermissions { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/IndividualCommonModelScopeDeserializerRequest.cs b/src/Merge.Client/Ticketing/Types/IndividualCommonModelScopeDeserializerRequest.cs index 38ddd4f9..92b6fcb5 100644 --- a/src/Merge.Client/Ticketing/Types/IndividualCommonModelScopeDeserializerRequest.cs +++ b/src/Merge.Client/Ticketing/Types/IndividualCommonModelScopeDeserializerRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record IndividualCommonModelScopeDeserializerRequest [JsonPropertyName("field_permissions")] public FieldPermissionDeserializerRequest? FieldPermissions { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/Issue.cs b/src/Merge.Client/Ticketing/Types/Issue.cs index 506eb624..783f6cf2 100644 --- a/src/Merge.Client/Ticketing/Types/Issue.cs +++ b/src/Merge.Client/Ticketing/Types/Issue.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -5,14 +6,15 @@ namespace Merge.Client.Ticketing; public record Issue { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } /// /// Status of the issue. Options: ('ONGOING', 'RESOLVED') /// - /// - `ONGOING` - ONGOING - /// - `RESOLVED` - RESOLVED + /// * `ONGOING` - ONGOING + /// * `RESOLVED` - RESOLVED /// [JsonPropertyName("status")] public IssueStatusEnum? Status { get; set; } @@ -20,6 +22,7 @@ public record Issue [JsonPropertyName("error_description")] public required string ErrorDescription { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("end_user")] public Dictionary? EndUser { get; set; } @@ -29,12 +32,25 @@ public record Issue [JsonPropertyName("last_incident_time")] public DateTime? LastIncidentTime { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("is_muted")] public bool? IsMuted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("error_details")] public IEnumerable? ErrorDetails { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/ItemSchema.cs b/src/Merge.Client/Ticketing/Types/ItemSchema.cs index 6b070b5c..aaa198f4 100644 --- a/src/Merge.Client/Ticketing/Types/ItemSchema.cs +++ b/src/Merge.Client/Ticketing/Types/ItemSchema.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record ItemSchema [JsonPropertyName("item_choices")] public IEnumerable? ItemChoices { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/SyncStatusStatusEnum.cs b/src/Merge.Client/Ticketing/Types/LastSyncResultEnum.cs similarity index 82% rename from src/Merge.Client/Ticketing/Types/SyncStatusStatusEnum.cs rename to src/Merge.Client/Ticketing/Types/LastSyncResultEnum.cs index d6132241..f9c9690c 100644 --- a/src/Merge.Client/Ticketing/Types/SyncStatusStatusEnum.cs +++ b/src/Merge.Client/Ticketing/Types/LastSyncResultEnum.cs @@ -4,8 +4,8 @@ namespace Merge.Client.Ticketing; -[JsonConverter(typeof(EnumSerializer))] -public enum SyncStatusStatusEnum +[JsonConverter(typeof(EnumSerializer))] +public enum LastSyncResultEnum { [EnumMember(Value = "SYNCING")] Syncing, diff --git a/src/Merge.Client/Ticketing/Types/LinkToken.cs b/src/Merge.Client/Ticketing/Types/LinkToken.cs index 422c9f9f..0587b529 100644 --- a/src/Merge.Client/Ticketing/Types/LinkToken.cs +++ b/src/Merge.Client/Ticketing/Types/LinkToken.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record LinkToken [JsonPropertyName("magic_link_url")] public string? MagicLinkUrl { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/LinkedAccountStatus.cs b/src/Merge.Client/Ticketing/Types/LinkedAccountStatus.cs index f912f773..301f4149 100644 --- a/src/Merge.Client/Ticketing/Types/LinkedAccountStatus.cs +++ b/src/Merge.Client/Ticketing/Types/LinkedAccountStatus.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -11,6 +12,17 @@ public record LinkedAccountStatus [JsonPropertyName("can_make_request")] public required bool CanMakeRequest { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/MetaResponse.cs b/src/Merge.Client/Ticketing/Types/MetaResponse.cs index 51b7067f..8268398f 100644 --- a/src/Merge.Client/Ticketing/Types/MetaResponse.cs +++ b/src/Merge.Client/Ticketing/Types/MetaResponse.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -21,6 +22,17 @@ public record MetaResponse [JsonPropertyName("has_required_linked_account_params")] public required bool HasRequiredLinkedAccountParams { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/ModelOperation.cs b/src/Merge.Client/Ticketing/Types/ModelOperation.cs index 68a79851..2b71f79c 100644 --- a/src/Merge.Client/Ticketing/Types/ModelOperation.cs +++ b/src/Merge.Client/Ticketing/Types/ModelOperation.cs @@ -1,8 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ticketing; +/// +/// # The ModelOperation Object +/// ### Description +/// The `ModelOperation` object is used to represent the operations that are currently supported for a given model. +/// +/// ### Usage Example +/// View what operations are supported for the `Candidate` endpoint. +/// public record ModelOperation { [JsonPropertyName("model_name")] @@ -17,6 +26,17 @@ public record ModelOperation [JsonPropertyName("supported_fields")] public IEnumerable SupportedFields { get; set; } = new List(); + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/ModelPermissionDeserializer.cs b/src/Merge.Client/Ticketing/Types/ModelPermissionDeserializer.cs index 0b998da2..d4aef968 100644 --- a/src/Merge.Client/Ticketing/Types/ModelPermissionDeserializer.cs +++ b/src/Merge.Client/Ticketing/Types/ModelPermissionDeserializer.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -8,6 +9,17 @@ public record ModelPermissionDeserializer [JsonPropertyName("is_enabled")] public bool? IsEnabled { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/ModelPermissionDeserializerRequest.cs b/src/Merge.Client/Ticketing/Types/ModelPermissionDeserializerRequest.cs index 7838ae6b..c618e397 100644 --- a/src/Merge.Client/Ticketing/Types/ModelPermissionDeserializerRequest.cs +++ b/src/Merge.Client/Ticketing/Types/ModelPermissionDeserializerRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -8,6 +9,17 @@ public record ModelPermissionDeserializerRequest [JsonPropertyName("is_enabled")] public bool? IsEnabled { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/MultipartFormFieldRequest.cs b/src/Merge.Client/Ticketing/Types/MultipartFormFieldRequest.cs index a307c9f0..2713ef8d 100644 --- a/src/Merge.Client/Ticketing/Types/MultipartFormFieldRequest.cs +++ b/src/Merge.Client/Ticketing/Types/MultipartFormFieldRequest.cs @@ -1,8 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ticketing; +/// +/// # The MultipartFormField Object +/// ### Description +/// The `MultipartFormField` object is used to represent fields in an HTTP request using `multipart/form-data`. +/// +/// ### Usage Example +/// Create a `MultipartFormField` to define a multipart form entry. +/// public record MultipartFormFieldRequest { /// @@ -20,9 +29,9 @@ public record MultipartFormFieldRequest /// /// The encoding of the value of `data`. Defaults to `RAW` if not defined. /// - /// - `RAW` - RAW - /// - `BASE64` - BASE64 - /// - `GZIP_BASE64` - GZIP_BASE64 + /// * `RAW` - RAW + /// * `BASE64` - BASE64 + /// * `GZIP_BASE64` - GZIP_BASE64 /// [JsonPropertyName("encoding")] public EncodingEnum? Encoding { get; set; } @@ -39,6 +48,17 @@ public record MultipartFormFieldRequest [JsonPropertyName("content_type")] public string? ContentType { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/PaginatedAccountDetailsAndActionsList.cs b/src/Merge.Client/Ticketing/Types/PaginatedAccountDetailsAndActionsList.cs index 91c2691f..28d27eb9 100644 --- a/src/Merge.Client/Ticketing/Types/PaginatedAccountDetailsAndActionsList.cs +++ b/src/Merge.Client/Ticketing/Types/PaginatedAccountDetailsAndActionsList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedAccountDetailsAndActionsList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/PaginatedAccountList.cs b/src/Merge.Client/Ticketing/Types/PaginatedAccountList.cs index a20e5abb..35d59a01 100644 --- a/src/Merge.Client/Ticketing/Types/PaginatedAccountList.cs +++ b/src/Merge.Client/Ticketing/Types/PaginatedAccountList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedAccountList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/PaginatedAttachmentList.cs b/src/Merge.Client/Ticketing/Types/PaginatedAttachmentList.cs index 6f09c4cc..0687c0ea 100644 --- a/src/Merge.Client/Ticketing/Types/PaginatedAttachmentList.cs +++ b/src/Merge.Client/Ticketing/Types/PaginatedAttachmentList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedAttachmentList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/PaginatedAuditLogEventList.cs b/src/Merge.Client/Ticketing/Types/PaginatedAuditLogEventList.cs index 192421e5..040abd53 100644 --- a/src/Merge.Client/Ticketing/Types/PaginatedAuditLogEventList.cs +++ b/src/Merge.Client/Ticketing/Types/PaginatedAuditLogEventList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedAuditLogEventList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/PaginatedCollectionList.cs b/src/Merge.Client/Ticketing/Types/PaginatedCollectionList.cs index 328803d2..79672e9c 100644 --- a/src/Merge.Client/Ticketing/Types/PaginatedCollectionList.cs +++ b/src/Merge.Client/Ticketing/Types/PaginatedCollectionList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedCollectionList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/PaginatedCommentList.cs b/src/Merge.Client/Ticketing/Types/PaginatedCommentList.cs index 25aafc62..9ad1a4cb 100644 --- a/src/Merge.Client/Ticketing/Types/PaginatedCommentList.cs +++ b/src/Merge.Client/Ticketing/Types/PaginatedCommentList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedCommentList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/PaginatedContactList.cs b/src/Merge.Client/Ticketing/Types/PaginatedContactList.cs index a390369f..75f17fe3 100644 --- a/src/Merge.Client/Ticketing/Types/PaginatedContactList.cs +++ b/src/Merge.Client/Ticketing/Types/PaginatedContactList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedContactList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/PaginatedIssueList.cs b/src/Merge.Client/Ticketing/Types/PaginatedIssueList.cs index d567127e..08ec7880 100644 --- a/src/Merge.Client/Ticketing/Types/PaginatedIssueList.cs +++ b/src/Merge.Client/Ticketing/Types/PaginatedIssueList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedIssueList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/PaginatedProjectList.cs b/src/Merge.Client/Ticketing/Types/PaginatedProjectList.cs index dfc88ecd..863726f1 100644 --- a/src/Merge.Client/Ticketing/Types/PaginatedProjectList.cs +++ b/src/Merge.Client/Ticketing/Types/PaginatedProjectList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedProjectList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/PaginatedRemoteFieldClassList.cs b/src/Merge.Client/Ticketing/Types/PaginatedRemoteFieldClassList.cs index 86680ffb..49f14c59 100644 --- a/src/Merge.Client/Ticketing/Types/PaginatedRemoteFieldClassList.cs +++ b/src/Merge.Client/Ticketing/Types/PaginatedRemoteFieldClassList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedRemoteFieldClassList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/PaginatedRoleList.cs b/src/Merge.Client/Ticketing/Types/PaginatedRoleList.cs index 80fa4b73..23b5f931 100644 --- a/src/Merge.Client/Ticketing/Types/PaginatedRoleList.cs +++ b/src/Merge.Client/Ticketing/Types/PaginatedRoleList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedRoleList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/PaginatedSyncStatusList.cs b/src/Merge.Client/Ticketing/Types/PaginatedSyncStatusList.cs index 1f2baae9..8d0f1801 100644 --- a/src/Merge.Client/Ticketing/Types/PaginatedSyncStatusList.cs +++ b/src/Merge.Client/Ticketing/Types/PaginatedSyncStatusList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedSyncStatusList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/PaginatedTagList.cs b/src/Merge.Client/Ticketing/Types/PaginatedTagList.cs index edc8ad77..24c717ce 100644 --- a/src/Merge.Client/Ticketing/Types/PaginatedTagList.cs +++ b/src/Merge.Client/Ticketing/Types/PaginatedTagList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedTagList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/PaginatedTeamList.cs b/src/Merge.Client/Ticketing/Types/PaginatedTeamList.cs index 5b671261..7d03b45b 100644 --- a/src/Merge.Client/Ticketing/Types/PaginatedTeamList.cs +++ b/src/Merge.Client/Ticketing/Types/PaginatedTeamList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedTeamList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/PaginatedTicketList.cs b/src/Merge.Client/Ticketing/Types/PaginatedTicketList.cs index fd3fbafa..e4b8a991 100644 --- a/src/Merge.Client/Ticketing/Types/PaginatedTicketList.cs +++ b/src/Merge.Client/Ticketing/Types/PaginatedTicketList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedTicketList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/PaginatedUserList.cs b/src/Merge.Client/Ticketing/Types/PaginatedUserList.cs index d17baa58..5c67607f 100644 --- a/src/Merge.Client/Ticketing/Types/PaginatedUserList.cs +++ b/src/Merge.Client/Ticketing/Types/PaginatedUserList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedUserList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/PaginatedViewerList.cs b/src/Merge.Client/Ticketing/Types/PaginatedViewerList.cs index abd3816f..794a9c89 100644 --- a/src/Merge.Client/Ticketing/Types/PaginatedViewerList.cs +++ b/src/Merge.Client/Ticketing/Types/PaginatedViewerList.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record PaginatedViewerList [JsonPropertyName("results")] public IEnumerable? Results { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/PatchedTicketRequest.cs b/src/Merge.Client/Ticketing/Types/PatchedTicketRequest.cs index 256c2b0a..4aa95835 100644 --- a/src/Merge.Client/Ticketing/Types/PatchedTicketRequest.cs +++ b/src/Merge.Client/Ticketing/Types/PatchedTicketRequest.cs @@ -1,8 +1,16 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ticketing; +/// +/// # The Ticket Object +/// ### Description +/// The `Ticket` object is used to represent a ticket, issue, task or case. +/// ### Usage Example +/// TODO +/// public record PatchedTicketRequest { /// @@ -12,13 +20,13 @@ public record PatchedTicketRequest public string? Name { get; set; } /// - /// The individual `Users` who are assigned to this ticket. This does not include `Users` who just have view access to this ticket. + /// The individual `Users` who are assigned to this ticket. This does not include `Users` who just have view access to this ticket. To fetch all `Users` and `Teams` that can access the ticket, use the `GET /tickets/{ticket_id}/viewers` [endpoint](https://docs.merge.dev/ticketing/tickets/#tickets_viewers_list). /// [JsonPropertyName("assignees")] public IEnumerable? Assignees { get; set; } /// - /// The `Teams` that are assigned to this ticket. This does not include `Teams` who just have view access to this ticket. + /// The `Teams` that are assigned to this ticket. This does not include `Teams` who just have view access to this ticket. To fetch all `Users` and `Teams` that can access this ticket, use the `GET /tickets/{ticket_id}/viewers` [endpoint](https://docs.merge.dev/ticketing/tickets/#tickets_viewers_list). /// [JsonPropertyName("assigned_teams")] public IEnumerable? AssignedTeams { get; set; } @@ -38,10 +46,10 @@ public record PatchedTicketRequest /// /// The current status of the ticket. /// - /// - `OPEN` - OPEN - /// - `CLOSED` - CLOSED - /// - `IN_PROGRESS` - IN_PROGRESS - /// - `ON_HOLD` - ON_HOLD + /// * `OPEN` - OPEN + /// * `CLOSED` - CLOSED + /// * `IN_PROGRESS` - IN_PROGRESS + /// * `ON_HOLD` - ON_HOLD /// [JsonPropertyName("status")] public TicketStatusEnum? Status { get; set; } @@ -103,23 +111,37 @@ public record PatchedTicketRequest /// /// The priority or urgency of the Ticket. /// - /// - `URGENT` - URGENT - /// - `HIGH` - HIGH - /// - `NORMAL` - NORMAL - /// - `LOW` - LOW + /// * `URGENT` - URGENT + /// * `HIGH` - HIGH + /// * `NORMAL` - NORMAL + /// * `LOW` - LOW /// [JsonPropertyName("priority")] public PriorityEnum? Priority { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("integration_params")] public Dictionary? IntegrationParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("linked_account_params")] public Dictionary? LinkedAccountParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("remote_fields")] public IEnumerable? RemoteFields { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/Project.cs b/src/Merge.Client/Ticketing/Types/Project.cs index 4f8a9af5..721efe13 100644 --- a/src/Merge.Client/Ticketing/Types/Project.cs +++ b/src/Merge.Client/Ticketing/Types/Project.cs @@ -1,10 +1,20 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ticketing; +/// +/// # The Project Object +/// ### Description +/// Please use the `Collection` model. This model will be fully deprecated on 3/30/2024. +/// +/// ### Usage Example +/// TODO +/// public record Project { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -17,12 +27,14 @@ public record Project /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -44,12 +56,25 @@ public record Project [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/RemoteData.cs b/src/Merge.Client/Ticketing/Types/RemoteData.cs index 79db7942..13785d4d 100644 --- a/src/Merge.Client/Ticketing/Types/RemoteData.cs +++ b/src/Merge.Client/Ticketing/Types/RemoteData.cs @@ -1,8 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ticketing; +/// +/// # The RemoteData Object +/// ### Description +/// The `RemoteData` object is used to represent the full data pulled from the third-party API for an object. +/// +/// ### Usage Example +/// TODO +/// public record RemoteData { /// @@ -11,9 +20,21 @@ public record RemoteData [JsonPropertyName("path")] public required string Path { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("data")] public object? Data { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/RemoteEndpointInfo.cs b/src/Merge.Client/Ticketing/Types/RemoteEndpointInfo.cs index 4df99292..b92a68e0 100644 --- a/src/Merge.Client/Ticketing/Types/RemoteEndpointInfo.cs +++ b/src/Merge.Client/Ticketing/Types/RemoteEndpointInfo.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record RemoteEndpointInfo [JsonPropertyName("field_traversal_path")] public IEnumerable FieldTraversalPath { get; set; } = new List(); + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/RemoteField.cs b/src/Merge.Client/Ticketing/Types/RemoteField.cs index 9611ba5c..8c2a5a3c 100644 --- a/src/Merge.Client/Ticketing/Types/RemoteField.cs +++ b/src/Merge.Client/Ticketing/Types/RemoteField.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; @@ -10,8 +11,19 @@ public record RemoteField public required OneOf RemoteFieldClass { get; set; } [JsonPropertyName("value")] - public Dictionary? Value { get; set; } + public object? Value { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/RemoteFieldApi.cs b/src/Merge.Client/Ticketing/Types/RemoteFieldApi.cs index ffd80b56..3ffc9861 100644 --- a/src/Merge.Client/Ticketing/Types/RemoteFieldApi.cs +++ b/src/Merge.Client/Ticketing/Types/RemoteFieldApi.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; @@ -21,9 +22,21 @@ public record RemoteFieldApi [JsonPropertyName("advanced_metadata")] public AdvancedMetadata? AdvancedMetadata { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("coverage")] public OneOf? Coverage { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/RemoteFieldApiResponse.cs b/src/Merge.Client/Ticketing/Types/RemoteFieldApiResponse.cs index dc504c37..c56903d8 100644 --- a/src/Merge.Client/Ticketing/Types/RemoteFieldApiResponse.cs +++ b/src/Merge.Client/Ticketing/Types/RemoteFieldApiResponse.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -38,6 +39,17 @@ public record RemoteFieldApiResponse [JsonPropertyName("Contact")] public IEnumerable? Contact { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/RemoteFieldClass.cs b/src/Merge.Client/Ticketing/Types/RemoteFieldClass.cs index 2f1cd59b..bb4462ec 100644 --- a/src/Merge.Client/Ticketing/Types/RemoteFieldClass.cs +++ b/src/Merge.Client/Ticketing/Types/RemoteFieldClass.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -29,12 +30,24 @@ public record RemoteFieldClass [JsonPropertyName("field_format")] public FieldFormatEnum? FieldFormat { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_choices")] public IEnumerable? FieldChoices { get; set; } [JsonPropertyName("item_schema")] public ItemSchema? ItemSchema { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/RemoteFieldClassFieldChoicesItem.cs b/src/Merge.Client/Ticketing/Types/RemoteFieldClassFieldChoicesItem.cs index 78947f2a..561f7230 100644 --- a/src/Merge.Client/Ticketing/Types/RemoteFieldClassFieldChoicesItem.cs +++ b/src/Merge.Client/Ticketing/Types/RemoteFieldClassFieldChoicesItem.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -11,6 +12,17 @@ public record RemoteFieldClassFieldChoicesItem [JsonPropertyName("display_name")] public string? DisplayName { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/RemoteFieldRequest.cs b/src/Merge.Client/Ticketing/Types/RemoteFieldRequest.cs index e6f4b2c7..780ea9dc 100644 --- a/src/Merge.Client/Ticketing/Types/RemoteFieldRequest.cs +++ b/src/Merge.Client/Ticketing/Types/RemoteFieldRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; @@ -12,6 +13,17 @@ public record RemoteFieldRequest [JsonPropertyName("value")] public object? Value { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/RemoteKey.cs b/src/Merge.Client/Ticketing/Types/RemoteKey.cs index ff7c84d0..3ba736eb 100644 --- a/src/Merge.Client/Ticketing/Types/RemoteKey.cs +++ b/src/Merge.Client/Ticketing/Types/RemoteKey.cs @@ -1,8 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ticketing; +/// +/// # The RemoteKey Object +/// ### Description +/// The `RemoteKey` object is used to represent a request for a new remote key. +/// +/// ### Usage Example +/// Post a `GenerateRemoteKey` to receive a new `RemoteKey`. +/// public record RemoteKey { [JsonPropertyName("name")] @@ -11,6 +20,17 @@ public record RemoteKey [JsonPropertyName("key")] public required string Key { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/RemoteResponse.cs b/src/Merge.Client/Ticketing/Types/RemoteResponse.cs index c4f1360f..06d79881 100644 --- a/src/Merge.Client/Ticketing/Types/RemoteResponse.cs +++ b/src/Merge.Client/Ticketing/Types/RemoteResponse.cs @@ -1,8 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ticketing; +/// +/// # The RemoteResponse Object +/// ### Description +/// The `RemoteResponse` object is used to represent information returned from a third-party endpoint. +/// +/// ### Usage Example +/// View the `RemoteResponse` returned from your `DataPassthrough`. +/// public record RemoteResponse { [JsonPropertyName("method")] @@ -26,6 +35,17 @@ public record RemoteResponse [JsonPropertyName("headers")] public Dictionary? Headers { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/Role.cs b/src/Merge.Client/Ticketing/Types/Role.cs index 55d06875..1ea6908b 100644 --- a/src/Merge.Client/Ticketing/Types/Role.cs +++ b/src/Merge.Client/Ticketing/Types/Role.cs @@ -1,10 +1,20 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ticketing; +/// +/// # The Role Object +/// ### Description +/// The `Role` object is used to represent the set of actions & access that a user with this role is allowed to perform. +/// +/// ### Usage Example +/// TODO +/// public record Role { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -17,12 +27,14 @@ public record Role /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -41,9 +53,9 @@ public record Role /// /// The level of Ticket access that a User with this Role can perform. /// - /// - `ALL` - ALL - /// - `ASSIGNED_ONLY` - ASSIGNED_ONLY - /// - `TEAM_ONLY` - TEAM_ONLY + /// * `ALL` - ALL + /// * `ASSIGNED_ONLY` - ASSIGNED_ONLY + /// * `TEAM_ONLY` - TEAM_ONLY /// [JsonPropertyName("ticket_access")] public TicketAccessEnum? TicketAccess { get; set; } @@ -54,12 +66,25 @@ public record Role [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/StatusFd5Enum.cs b/src/Merge.Client/Ticketing/Types/StatusFd5Enum.cs new file mode 100644 index 00000000..34b5d27d --- /dev/null +++ b/src/Merge.Client/Ticketing/Types/StatusFd5Enum.cs @@ -0,0 +1,27 @@ +using System.Runtime.Serialization; +using System.Text.Json.Serialization; +using Merge.Client.Core; + +namespace Merge.Client.Ticketing; + +[JsonConverter(typeof(EnumSerializer))] +public enum StatusFd5Enum +{ + [EnumMember(Value = "SYNCING")] + Syncing, + + [EnumMember(Value = "DONE")] + Done, + + [EnumMember(Value = "FAILED")] + Failed, + + [EnumMember(Value = "DISABLED")] + Disabled, + + [EnumMember(Value = "PAUSED")] + Paused, + + [EnumMember(Value = "PARTIALLY_SYNCED")] + PartiallySynced, +} diff --git a/src/Merge.Client/Ticketing/Types/SyncStatus.cs b/src/Merge.Client/Ticketing/Types/SyncStatus.cs index 09b4edc9..1fb7457a 100644 --- a/src/Merge.Client/Ticketing/Types/SyncStatus.cs +++ b/src/Merge.Client/Ticketing/Types/SyncStatus.cs @@ -1,8 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ticketing; +/// +/// # The SyncStatus Object +/// ### Description +/// The `SyncStatus` object is used to represent the syncing state of an account +/// +/// ### Usage Example +/// View the `SyncStatus` for an account to see how recently its models were synced. +/// public record SyncStatus { [JsonPropertyName("model_name")] @@ -17,8 +26,14 @@ public record SyncStatus [JsonPropertyName("next_sync_start")] public DateTime? NextSyncStart { get; set; } + [JsonPropertyName("last_sync_result")] + public LastSyncResultEnum? LastSyncResult { get; set; } + + [JsonPropertyName("last_sync_finished")] + public DateTime? LastSyncFinished { get; set; } + [JsonPropertyName("status")] - public required SyncStatusStatusEnum Status { get; set; } + public required StatusFd5Enum Status { get; set; } [JsonPropertyName("is_initial_sync")] public required bool IsInitialSync { get; set; } @@ -26,6 +41,17 @@ public record SyncStatus [JsonPropertyName("selective_sync_configurations_usage")] public SelectiveSyncConfigurationsUsageEnum? SelectiveSyncConfigurationsUsage { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/Tag.cs b/src/Merge.Client/Ticketing/Types/Tag.cs index a2f5e654..657d6f72 100644 --- a/src/Merge.Client/Ticketing/Types/Tag.cs +++ b/src/Merge.Client/Ticketing/Types/Tag.cs @@ -1,8 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ticketing; +/// +/// # The Tag Object +/// ### Description +/// The `Tag` object is used to represent a tag or label for a ticket. +/// +/// ### Usage Example +/// TODO +/// public record Tag { /// @@ -14,15 +23,18 @@ public record Tag /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -38,12 +50,25 @@ public record Tag [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/Team.cs b/src/Merge.Client/Ticketing/Types/Team.cs index 8b160f9a..b893e9ad 100644 --- a/src/Merge.Client/Ticketing/Types/Team.cs +++ b/src/Merge.Client/Ticketing/Types/Team.cs @@ -1,10 +1,20 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ticketing; +/// +/// # The Team Object +/// ### Description +/// The `Team` object is used to represent one or more `Users` within the company receiving the ticket. +/// +/// ### Usage Example +/// TODO +/// public record Team { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -17,12 +27,14 @@ public record Team /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -44,12 +56,25 @@ public record Team [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/Ticket.cs b/src/Merge.Client/Ticketing/Types/Ticket.cs index f3250045..527d0047 100644 --- a/src/Merge.Client/Ticketing/Types/Ticket.cs +++ b/src/Merge.Client/Ticketing/Types/Ticket.cs @@ -1,11 +1,20 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Ticketing; +/// +/// # The Ticket Object +/// ### Description +/// The `Ticket` object is used to represent a ticket, issue, task or case. +/// ### Usage Example +/// TODO +/// public record Ticket { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -18,12 +27,14 @@ public record Ticket /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -34,13 +45,13 @@ public record Ticket public string? Name { get; set; } /// - /// The individual `Users` who are assigned to this ticket. This does not include `Users` who just have view access to this ticket. + /// The individual `Users` who are assigned to this ticket. This does not include `Users` who just have view access to this ticket. To fetch all `Users` and `Teams` that can access the ticket, use the `GET /tickets/{ticket_id}/viewers` [endpoint](https://docs.merge.dev/ticketing/tickets/#tickets_viewers_list). /// [JsonPropertyName("assignees")] public IEnumerable>? Assignees { get; set; } /// - /// The `Teams` that are assigned to this ticket. This does not include `Teams` who just have view access to this ticket. + /// The `Teams` that are assigned to this ticket. This does not include `Teams` who just have view access to this ticket. To fetch all `Users` and `Teams` that can access this ticket, use the `GET /tickets/{ticket_id}/viewers` [endpoint](https://docs.merge.dev/ticketing/tickets/#tickets_viewers_list). /// [JsonPropertyName("assigned_teams")] public IEnumerable>? AssignedTeams { get; set; } @@ -60,10 +71,10 @@ public record Ticket /// /// The current status of the ticket. /// - /// - `OPEN` - OPEN - /// - `CLOSED` - CLOSED - /// - `IN_PROGRESS` - IN_PROGRESS - /// - `ON_HOLD` - ON_HOLD + /// * `OPEN` - OPEN + /// * `CLOSED` - CLOSED + /// * `IN_PROGRESS` - IN_PROGRESS + /// * `ON_HOLD` - ON_HOLD /// [JsonPropertyName("status")] public TicketStatusEnum? Status { get; set; } @@ -134,6 +145,7 @@ public record Ticket /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } @@ -146,23 +158,37 @@ public record Ticket /// /// The priority or urgency of the Ticket. /// - /// - `URGENT` - URGENT - /// - `HIGH` - HIGH - /// - `NORMAL` - NORMAL - /// - `LOW` - LOW + /// * `URGENT` - URGENT + /// * `HIGH` - HIGH + /// * `NORMAL` - NORMAL + /// * `LOW` - LOW /// [JsonPropertyName("priority")] public PriorityEnum? Priority { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_fields")] public IEnumerable? RemoteFields { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/TicketRequest.cs b/src/Merge.Client/Ticketing/Types/TicketRequest.cs index f49af52a..2198621a 100644 --- a/src/Merge.Client/Ticketing/Types/TicketRequest.cs +++ b/src/Merge.Client/Ticketing/Types/TicketRequest.cs @@ -1,9 +1,17 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Ticketing; +/// +/// # The Ticket Object +/// ### Description +/// The `Ticket` object is used to represent a ticket, issue, task or case. +/// ### Usage Example +/// TODO +/// public record TicketRequest { /// @@ -13,13 +21,13 @@ public record TicketRequest public string? Name { get; set; } /// - /// The individual `Users` who are assigned to this ticket. This does not include `Users` who just have view access to this ticket. + /// The individual `Users` who are assigned to this ticket. This does not include `Users` who just have view access to this ticket. To fetch all `Users` and `Teams` that can access the ticket, use the `GET /tickets/{ticket_id}/viewers` [endpoint](https://docs.merge.dev/ticketing/tickets/#tickets_viewers_list). /// [JsonPropertyName("assignees")] public IEnumerable>? Assignees { get; set; } /// - /// The `Teams` that are assigned to this ticket. This does not include `Teams` who just have view access to this ticket. + /// The `Teams` that are assigned to this ticket. This does not include `Teams` who just have view access to this ticket. To fetch all `Users` and `Teams` that can access this ticket, use the `GET /tickets/{ticket_id}/viewers` [endpoint](https://docs.merge.dev/ticketing/tickets/#tickets_viewers_list). /// [JsonPropertyName("assigned_teams")] public IEnumerable>? AssignedTeams { get; set; } @@ -39,10 +47,10 @@ public record TicketRequest /// /// The current status of the ticket. /// - /// - `OPEN` - OPEN - /// - `CLOSED` - CLOSED - /// - `IN_PROGRESS` - IN_PROGRESS - /// - `ON_HOLD` - ON_HOLD + /// * `OPEN` - OPEN + /// * `CLOSED` - CLOSED + /// * `IN_PROGRESS` - IN_PROGRESS + /// * `ON_HOLD` - ON_HOLD /// [JsonPropertyName("status")] public TicketStatusEnum? Status { get; set; } @@ -107,23 +115,37 @@ public record TicketRequest /// /// The priority or urgency of the Ticket. /// - /// - `URGENT` - URGENT - /// - `HIGH` - HIGH - /// - `NORMAL` - NORMAL - /// - `LOW` - LOW + /// * `URGENT` - URGENT + /// * `HIGH` - HIGH + /// * `NORMAL` - NORMAL + /// * `LOW` - LOW /// [JsonPropertyName("priority")] public PriorityEnum? Priority { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("integration_params")] public Dictionary? IntegrationParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("linked_account_params")] public Dictionary? LinkedAccountParams { get; set; } + [JsonAccess(JsonAccessType.WriteOnly)] [JsonPropertyName("remote_fields")] public IEnumerable? RemoteFields { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/TicketResponse.cs b/src/Merge.Client/Ticketing/Types/TicketResponse.cs index 80662c7e..4aa98c5d 100644 --- a/src/Merge.Client/Ticketing/Types/TicketResponse.cs +++ b/src/Merge.Client/Ticketing/Types/TicketResponse.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -19,6 +20,17 @@ public record TicketResponse [JsonPropertyName("logs")] public IEnumerable? Logs { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/TicketingAttachmentResponse.cs b/src/Merge.Client/Ticketing/Types/TicketingAttachmentResponse.cs index fea148cf..5bd09183 100644 --- a/src/Merge.Client/Ticketing/Types/TicketingAttachmentResponse.cs +++ b/src/Merge.Client/Ticketing/Types/TicketingAttachmentResponse.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -19,6 +20,17 @@ public record TicketingAttachmentResponse [JsonPropertyName("logs")] public IEnumerable? Logs { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/TicketingContactResponse.cs b/src/Merge.Client/Ticketing/Types/TicketingContactResponse.cs index be2d5470..fa1285e8 100644 --- a/src/Merge.Client/Ticketing/Types/TicketingContactResponse.cs +++ b/src/Merge.Client/Ticketing/Types/TicketingContactResponse.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -19,6 +20,17 @@ public record TicketingContactResponse [JsonPropertyName("logs")] public IEnumerable? Logs { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/User.cs b/src/Merge.Client/Ticketing/Types/User.cs index 1cc269ae..22e8dbad 100644 --- a/src/Merge.Client/Ticketing/Types/User.cs +++ b/src/Merge.Client/Ticketing/Types/User.cs @@ -1,11 +1,22 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Ticketing; +/// +/// # The User Object +/// ### Description +/// The `User` object is used to represent a user with a login to the ticketing system. +/// Users are either assignees who are directly responsible or a viewer on a `Ticket`/ `Collection`. +/// +/// ### Usage Example +/// TODO +/// public record User { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -18,12 +29,14 @@ public record User /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -60,15 +73,29 @@ public record User /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_was_deleted")] public bool? RemoteWasDeleted { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("field_mappings")] public Dictionary? FieldMappings { get; set; } + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("remote_data")] public IEnumerable? RemoteData { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/ValidationProblemSource.cs b/src/Merge.Client/Ticketing/Types/ValidationProblemSource.cs index 1388bf80..420c6ff1 100644 --- a/src/Merge.Client/Ticketing/Types/ValidationProblemSource.cs +++ b/src/Merge.Client/Ticketing/Types/ValidationProblemSource.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -8,6 +9,17 @@ public record ValidationProblemSource [JsonPropertyName("pointer")] public required string Pointer { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/Viewer.cs b/src/Merge.Client/Ticketing/Types/Viewer.cs index d582dd9f..1ba34ee2 100644 --- a/src/Merge.Client/Ticketing/Types/Viewer.cs +++ b/src/Merge.Client/Ticketing/Types/Viewer.cs @@ -1,11 +1,21 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; using OneOf; namespace Merge.Client.Ticketing; +/// +/// # The Viewer Object +/// ### Description +/// The `Viewer` object is used to represent a User or Team within a company. +/// +/// ### Usage Example +/// TODO +/// public record Viewer { + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("id")] public string? Id { get; set; } @@ -18,12 +28,14 @@ public record Viewer /// /// The datetime that this object was created by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("created_at")] public DateTime? CreatedAt { get; set; } /// /// The datetime that this object was modified by Merge. /// + [JsonAccess(JsonAccessType.ReadOnly)] [JsonPropertyName("modified_at")] public DateTime? ModifiedAt { get; set; } @@ -39,6 +51,17 @@ public record Viewer [JsonPropertyName("user")] public OneOf? User { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/WarningValidationProblem.cs b/src/Merge.Client/Ticketing/Types/WarningValidationProblem.cs index ba999666..64cf0ac1 100644 --- a/src/Merge.Client/Ticketing/Types/WarningValidationProblem.cs +++ b/src/Merge.Client/Ticketing/Types/WarningValidationProblem.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -17,6 +18,17 @@ public record WarningValidationProblem [JsonPropertyName("problem_type")] public required string ProblemType { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Types/WebhookReceiver.cs b/src/Merge.Client/Ticketing/Types/WebhookReceiver.cs index f4b44512..bac131a1 100644 --- a/src/Merge.Client/Ticketing/Types/WebhookReceiver.cs +++ b/src/Merge.Client/Ticketing/Types/WebhookReceiver.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using System.Text.Json.Serialization; using Merge.Client.Core; @@ -14,6 +15,17 @@ public record WebhookReceiver [JsonPropertyName("key")] public string? Key { get; set; } + /// + /// Additional properties received from the response, if any. + /// + /// + /// [EXPERIMENTAL] This API is experimental and may change in future releases. + /// + [JsonExtensionData] + public IDictionary AdditionalProperties { get; internal set; } = + new Dictionary(); + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Users/Requests/UsersListRequest.cs b/src/Merge.Client/Ticketing/Users/Requests/UsersListRequest.cs index f8414a85..dc4d6624 100644 --- a/src/Merge.Client/Ticketing/Users/Requests/UsersListRequest.cs +++ b/src/Merge.Client/Ticketing/Users/Requests/UsersListRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ticketing; @@ -7,63 +8,82 @@ public record UsersListRequest /// /// If provided, will only return objects created after this datetime. /// + [JsonIgnore] public DateTime? CreatedAfter { get; set; } /// /// If provided, will only return objects created before this datetime. /// + [JsonIgnore] public DateTime? CreatedBefore { get; set; } /// /// The pagination cursor value. /// + [JsonIgnore] public string? Cursor { get; set; } /// /// If provided, will only return users with emails equal to this value (case insensitive). /// + [JsonIgnore] public string? EmailAddress { get; set; } /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public UsersListRequestExpand? Expand { get; set; } /// /// Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). /// + [JsonIgnore] public bool? IncludeDeletedData { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } /// /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). /// + [JsonIgnore] public bool? IncludeShellData { get; set; } /// /// If provided, only objects synced by Merge after this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedAfter { get; set; } /// /// If provided, only objects synced by Merge before this date time will be returned. /// + [JsonIgnore] public DateTime? ModifiedBefore { get; set; } /// /// Number of results to return per page. /// + [JsonIgnore] public int? PageSize { get; set; } /// /// The API provider's ID for the given object. /// + [JsonIgnore] public string? RemoteId { get; set; } + /// + /// If provided, will only return users matching in this team. + /// + [JsonIgnore] + public string? Team { get; set; } + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Users/Requests/UsersRetrieveRequest.cs b/src/Merge.Client/Ticketing/Users/Requests/UsersRetrieveRequest.cs index 5d1efb37..8ab313b8 100644 --- a/src/Merge.Client/Ticketing/Users/Requests/UsersRetrieveRequest.cs +++ b/src/Merge.Client/Ticketing/Users/Requests/UsersRetrieveRequest.cs @@ -1,3 +1,4 @@ +using System.Text.Json.Serialization; using Merge.Client.Core; namespace Merge.Client.Ticketing; @@ -7,13 +8,22 @@ public record UsersRetrieveRequest /// /// Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. /// + [JsonIgnore] public UsersRetrieveRequestExpand? Expand { get; set; } /// /// Whether to include the original data Merge fetched from the third-party to produce these models. /// + [JsonIgnore] public bool? IncludeRemoteData { get; set; } + /// + /// Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + /// + [JsonIgnore] + public bool? IncludeShellData { get; set; } + + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/Users/UsersClient.cs b/src/Merge.Client/Ticketing/Users/UsersClient.cs index 3d131bef..f1bdab93 100644 --- a/src/Merge.Client/Ticketing/Users/UsersClient.cs +++ b/src/Merge.Client/Ticketing/Users/UsersClient.cs @@ -17,12 +17,10 @@ internal UsersClient(RawClient client) /// /// Returns a list of `User` objects. /// - /// - /// + /// /// await client.Ticketing.Users.ListAsync(new UsersListRequest()); - /// - /// - public async System.Threading.Tasks.Task ListAsync( + /// + public async Task ListAsync( UsersListRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default @@ -83,9 +81,13 @@ public async System.Threading.Tasks.Task ListAsync( { _query["remote_id"] = request.RemoteId; } + if (request.Team != null) + { + _query["team"] = request.Team; + } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -96,35 +98,36 @@ public async System.Threading.Tasks.Task ListAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Returns a `User` object with the given `id`. /// - /// - /// + /// /// await client.Ticketing.Users.RetrieveAsync("id", new UsersRetrieveRequest()); - /// - /// - public async System.Threading.Tasks.Task RetrieveAsync( + /// + public async Task RetrieveAsync( string id, UsersRetrieveRequest request, RequestOptions? options = null, @@ -140,36 +143,46 @@ public async System.Threading.Tasks.Task RetrieveAsync( { _query["include_remote_data"] = JsonUtils.Serialize(request.IncludeRemoteData.Value); } + if (request.IncludeShellData != null) + { + _query["include_shell_data"] = JsonUtils.Serialize(request.IncludeShellData.Value); + } var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, - Path = $"ticketing/v1/users/{id}", + Path = string.Format( + "ticketing/v1/users/{0}", + ValueConvert.ToPathParameterString(id) + ), Query = _query, Options = options, }, cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } diff --git a/src/Merge.Client/Ticketing/WebhookReceivers/Requests/WebhookReceiverRequest.cs b/src/Merge.Client/Ticketing/WebhookReceivers/Requests/WebhookReceiverRequest.cs index 8a065616..dbf5d071 100644 --- a/src/Merge.Client/Ticketing/WebhookReceivers/Requests/WebhookReceiverRequest.cs +++ b/src/Merge.Client/Ticketing/WebhookReceivers/Requests/WebhookReceiverRequest.cs @@ -14,6 +14,7 @@ public record WebhookReceiverRequest [JsonPropertyName("key")] public string? Key { get; set; } + /// public override string ToString() { return JsonUtils.Serialize(this); diff --git a/src/Merge.Client/Ticketing/WebhookReceivers/WebhookReceiversClient.cs b/src/Merge.Client/Ticketing/WebhookReceivers/WebhookReceiversClient.cs index c123d24c..ff817b1d 100644 --- a/src/Merge.Client/Ticketing/WebhookReceivers/WebhookReceiversClient.cs +++ b/src/Merge.Client/Ticketing/WebhookReceivers/WebhookReceiversClient.cs @@ -17,19 +17,17 @@ internal WebhookReceiversClient(RawClient client) /// /// Returns a list of `WebhookReceiver` objects. /// - /// - /// + /// /// await client.Ticketing.WebhookReceivers.ListAsync(); - /// - /// - public async System.Threading.Tasks.Task> ListAsync( + /// + public async Task> ListAsync( RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Get, @@ -39,45 +37,46 @@ public async System.Threading.Tasks.Task> ListAsync cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize>(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } /// /// Creates a `WebhookReceiver` object with the given values. /// - /// - /// + /// /// await client.Ticketing.WebhookReceivers.CreateAsync( /// new WebhookReceiverRequest { Event = "event", IsActive = true } /// ); - /// - /// - public async System.Threading.Tasks.Task CreateAsync( + /// + public async Task CreateAsync( WebhookReceiverRequest request, RequestOptions? options = null, CancellationToken cancellationToken = default ) { var response = await _client - .MakeRequestAsync( - new RawClient.JsonApiRequest + .SendRequestAsync( + new JsonRequest { BaseUrl = _client.Options.BaseUrl, Method = HttpMethod.Post, @@ -89,23 +88,26 @@ public async System.Threading.Tasks.Task CreateAsync( cancellationToken ) .ConfigureAwait(false); - var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); try { return JsonUtils.Deserialize(responseBody)!; } catch (JsonException e) { - throw new MergeException("Failed to deserialize response", e); + throw new BaseMergeClientException("Failed to deserialize response", e); } } - throw new MergeApiException( - $"Error with status code {response.StatusCode}", - response.StatusCode, - responseBody - ); + { + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + throw new BaseMergeClientApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } } } From 0ac0212dbce963cc9d135b27fa0ef0ede0624885 Mon Sep 17 00:00:00 2001 From: Rohan Konnur Date: Tue, 22 Apr 2025 18:12:35 -0400 Subject: [PATCH 2/2] fix ignored file. --- src/Merge.Client/MergeClient.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Merge.Client/MergeClient.cs b/src/Merge.Client/MergeClient.cs index 59aa418d..8c14619c 100644 --- a/src/Merge.Client/MergeClient.cs +++ b/src/Merge.Client/MergeClient.cs @@ -6,4 +6,4 @@ public class MergeClient( string apiKey, string? accountToken = null, ClientOptions? clientOptions = null) - : Merge(apiKey, accountToken, clientOptions); + : BaseMergeClient(apiKey, accountToken, clientOptions);